@@ -19,34 +19,35 @@ export type AppSwitchResumeParams = {|
19
19
// The Web fallback flow uses different set of query params then appswitch flow.
20
20
function getAppSwitchParamsWebFallback ( ) : AppSwitchResumeParams | null {
21
21
try {
22
- // eslint-disable-next-line compat/compat
23
- const params = new URLSearchParams ( window . location . search ) ;
24
- const buttonSessionID = params . get ( "buttonSessionID" ) ;
25
- const fundingSource = params . get ( "fundingSource" ) ;
26
- const orderID = params . get ( "token" ) ;
27
- const payerID = params . get ( "PayerID" ) ;
28
- const vaultToken = params . get ( "vaultSetupToken" ) ;
29
- const approvalTokenID = params . get ( "approval_token_id" ) ;
30
- const approvalSessionID = params . get ( "approval_session_id" ) ;
22
+ const params = Object . fromEntries (
23
+ // eslint-disable-next-line compat/compat
24
+ new URLSearchParams ( window . location . search )
25
+ ) ;
26
+ const {
27
+ buttonSessionID ,
28
+ fundingSource,
29
+ token : orderID ,
30
+ PayerID : payerID ,
31
+ vaultSetupToken : vaultToken ,
32
+ approval_token_id : approvalTokenID ,
33
+ approval_session_id : approvalSessionID ,
34
+ } = params ;
31
35
32
36
const vaultSetupToken = vaultToken || approvalTokenID || approvalSessionID ;
33
- if ( payerID && ( orderID || vaultSetupToken ) ) {
34
- return {
35
- checkoutState : "onApprove" ,
36
- orderID,
37
- vaultSetupToken,
37
+
38
+ if ( vaultSetupToken || orderID ) {
39
+ const resumeParams : AppSwitchResumeParams = {
40
+ checkoutState : payerID ? "onApprove" : "onCancel" ,
38
41
payerID,
39
- buttonSessionID,
40
- fundingSource,
41
- } ;
42
- } else if ( vaultSetupToken || orderID ) {
43
- return {
44
- checkoutState : "onCancel ",
45
42
orderID,
46
43
vaultSetupToken,
47
44
buttonSessionID,
45
+ // URLSearchParams get returns as string,
46
+ // but below code excepts a value from list of string.
47
+ // $FlowIgnore[incompatible-type]
48
48
fundingSource,
49
49
} ;
50
+ return resumeParams ;
50
51
}
51
52
return null ;
52
53
} catch ( err ) {
0 commit comments