diff --git a/src/Payments/ApplePay.res b/src/Payments/ApplePay.res index 17b17518b..4ff18c5e7 100644 --- a/src/Payments/ApplePay.res +++ b/src/Payments/ApplePay.res @@ -54,7 +54,7 @@ let make = ( let isGuestCustomer = UtilityHooks.useIsGuestCustomer() - let processPayment = bodyArr => { + let processPayment = (bodyArr, ~isThirdPartyFlow=false, ()) => { let requestBody = PaymentUtils.appendedCustomerAcceptance( ~isGuestCustomer, ~paymentType=list.payment_type, @@ -69,6 +69,7 @@ let make = ( publishableKey, }, ~handleUserError=true, + ~isThirdPartyFlow, (), ) } else { @@ -86,6 +87,7 @@ let make = ( publishableKey, }, ~handleUserError=true, + ~isThirdPartyFlow, (), ) } @@ -264,14 +266,14 @@ let make = ( if isDelayedSessionToken { setShowApplePayLoader(_ => true) let bodyDict = PaymentBody.applePayThirdPartySdkBody(~connectors) - processPayment(bodyDict) + processPayment(bodyDict, ~isThirdPartyFlow=true, ()) } else { let message = [("applePayButtonClicked", true->JSON.Encode.bool)] Utils.handlePostMessage(message) } } else { let bodyDict = PaymentBody.applePayRedirectBody(~connectors) - processPayment(bodyDict) + processPayment(bodyDict, ()) } } else { setApplePayClicked(_ => false) @@ -295,7 +297,7 @@ let make = ( let token = dict->Dict.get("applePayProcessPayment")->Option.getOr(Dict.make()->JSON.Encode.object) let bodyDict = PaymentBody.applePayBody(~token, ~connectors) - processPayment(bodyDict) + processPayment(bodyDict, ()) } else if dict->Dict.get("showApplePayButton")->Option.isSome { setApplePayClicked(_ => false) if !isWallet { diff --git a/src/Payments/GPay.res b/src/Payments/GPay.res index 950563161..550573ca3 100644 --- a/src/Payments/GPay.res +++ b/src/Payments/GPay.res @@ -66,7 +66,7 @@ let make = ( ->Option.getOr(false) }, [thirdPartySessionObj]) - let processPayment = (body: array<(string, JSON.t)>) => { + let processPayment = (body: array<(string, JSON.t)>, ~isThirdPartyFlow=false, ()) => { intent( ~bodyArr=body, ~confirmParam={ @@ -74,6 +74,7 @@ let make = ( publishableKey, }, ~handleUserError=true, + ~isThirdPartyFlow, (), ) } @@ -103,7 +104,7 @@ let make = ( ->mergeTwoFlattenedJsonDicts(requiredFieldsBody) ->getArrayOfTupleFromDict } - processPayment(body) + processPayment(body, ()) } if dict->Dict.get("gpayError")->Option.isSome { Utils.handlePostMessage([("fullscreen", false->JSON.Encode.bool)]) @@ -157,7 +158,7 @@ let make = ( ("iframeId", iframeId->JSON.Encode.string), ]) let bodyDict = PaymentBody.gPayThirdPartySdkBody(~connectors) - processPayment(bodyDict) + processPayment(bodyDict, ~isThirdPartyFlow=true, ()) } else { handlePostMessage([ ("fullscreen", true->JSON.Encode.bool), @@ -168,7 +169,7 @@ let make = ( } } else { let bodyDict = PaymentBody.gpayRedirectBody(~connectors) - processPayment(bodyDict) + processPayment(bodyDict, ()) } } resolve() diff --git a/src/Utilities/PaymentHelpers.res b/src/Utilities/PaymentHelpers.res index d21d5013d..8e6fda559 100644 --- a/src/Utilities/PaymentHelpers.res +++ b/src/Utilities/PaymentHelpers.res @@ -924,6 +924,7 @@ let usePaymentIntent = (optLogger, paymentType) => { ~bodyArr: array<(string, JSON.t)>, ~confirmParam: ConfirmType.confirmParams, ~iframeId=keys.iframeId, + ~isThirdPartyFlow=false, (), ) => { switch keys.clientSecret { @@ -941,7 +942,7 @@ let usePaymentIntent = (optLogger, paymentType) => { ]) let endpoint = ApiEndpoint.getApiEndPoint( ~publishableKey=confirmParam.publishableKey, - ~isConfirmCall=true, + ~isConfirmCall=!isThirdPartyFlow, (), ) let uri = `${endpoint}/payments/${paymentIntentID}/confirm` diff --git a/src/orca-loader/Elements.res b/src/orca-loader/Elements.res index cfd1d1dda..5a6d6e23f 100644 --- a/src/orca-loader/Elements.res +++ b/src/orca-loader/Elements.res @@ -10,8 +10,6 @@ type trustPayFunctions = { executeGooglePayment: (string, GooglePayType.paymentDataRequest) => Promise.t, } @new external trustPayApi: JSON.t => trustPayFunctions = "TrustPayApi" -@val @scope("window") -external alert: 't => unit = "alert" let make = ( options, @@ -478,9 +476,6 @@ let make = ( switch dict->Dict.get("applePayButtonClicked") { | Some(val) => if val->JSON.Decode.bool->Belt.Option.getWithDefault(false) { - alert(event) - alert("event.isTrusted handleApplePayThirdPartyFlow") - alert(event.isTrusted) let applePaySessionTokenData = dict ->Dict.get("applePayPresent") diff --git a/src/orca-loader/Types.res b/src/orca-loader/Types.res index efcb52b4d..af364c201 100644 --- a/src/orca-loader/Types.res +++ b/src/orca-loader/Types.res @@ -10,7 +10,7 @@ type eventData = { confirmTriggered: bool, oneClickConfirmTriggered: bool, } -type event = {key: string, data: eventData, isTrusted: bool} +type event = {key: string, data: eventData} type eventParam = Event(event) | EventData(eventData) | Empty type eventHandler = option => unit @send external onload: (Dom.element, unit => Promise.t<'a>) => Promise.t<'a> = "onload"