From d853ac104f9ed771042fef4a31b6ec91b709296f Mon Sep 17 00:00:00 2001 From: Saksham Sharma Date: Wed, 11 Mar 2026 13:47:35 +0530 Subject: [PATCH 1/6] feat: added sdk authorization support in pmm --- src/App.res | 4 - src/CardTheme.res | 13 +--- src/Components/SavedMethodsV2.res | 10 +-- src/Hooks/CommonHooks.res | 8 -- src/LoaderController.res | 6 -- src/Payments/PreMountLoader.res | 34 ++------- src/Types/CardThemeType.res | 1 - src/Utilities/HyperVaultHelpers.res | 24 ------ src/Utilities/PaymentHelpersV2.res | 58 ++++---------- src/Utilities/Utils.res | 1 + src/Utilities/VaultHelpers.res | 75 ------------------- src/hyper-loader/Elements.res | 4 +- src/hyper-loader/Hyper.res | 17 ++--- .../PaymentMethodsManagementElements.res | 13 ++-- src/hyper-loader/Types.res | 1 + 15 files changed, 41 insertions(+), 228 deletions(-) delete mode 100644 src/Utilities/HyperVaultHelpers.res delete mode 100644 src/Utilities/VaultHelpers.res diff --git a/src/App.res b/src/App.res index 60db55fad..bcc5fbe35 100644 --- a/src/App.res +++ b/src/App.res @@ -93,9 +93,7 @@ let make = () => { let clientSecret = getQueryParamsDictforKey(url.search, "clientSecret") let sessionId = getQueryParamsDictforKey(url.search, "sessionId") let publishableKey = getQueryParamsDictforKey(url.search, "publishableKey") - let profileId = getQueryParamsDictforKey(url.search, "profileId") let endpoint = getQueryParamsDictforKey(url.search, "endpoint") - let pmClientSecret = getQueryParamsDictforKey(url.search, "pmClientSecret") let pmSessionId = getQueryParamsDictforKey(url.search, "pmSessionId") let hyperComponentName = getQueryParamsDictforKey( @@ -110,13 +108,11 @@ let make = () => { { unknownKeysWarning( - [ - "appearance", - "fonts", - "locale", - "clientSecret", - "loader", - "pmClientSecret", - "pmSessionId", - "sdkAuthorization", - ], + ["appearance", "fonts", "locale", "clientSecret", "loader", "pmSessionId", "sdkAuthorization"], dict, "elements", ) @@ -418,7 +408,6 @@ let itemToObjMapper = ( fonts: getFonts("fonts", dict, logger), clientSecret: getWarningString(dict, "clientSecret", "", ~logger), pmSessionId: getWarningString(dict, "pmSessionId", "", ~logger), - pmClientSecret: getWarningString(dict, "pmClientSecret", "", ~logger), loader: getWarningString(dict, "loader", "auto", ~logger)->getShowLoader, sdkAuthorization: getString(dict, "sdkAuthorization", ""), } diff --git a/src/Components/SavedMethodsV2.res b/src/Components/SavedMethodsV2.res index 87f3e451e..a1d4de971 100644 --- a/src/Components/SavedMethodsV2.res +++ b/src/Components/SavedMethodsV2.res @@ -14,7 +14,7 @@ let make = (~cvcProps: CardUtils.cvcProps) => { let (_, setManagePaymentMethod) = Recoil.useRecoilState(RecoilAtomsV2.managePaymentMethod) let loggerState = Recoil.useRecoilValueFromAtom(RecoilAtoms.loggerAtom) let updateCard = PaymentHelpersV2.useUpdateCard(Some(loggerState), Card) - let {iframeId, publishableKey, profileId} = keys + let {iframeId} = keys let {isCVCValid, cvcNumber, setCvcError} = cvcProps let complete = isCVCValid->Option.getOr(false) && paymentTokenAtom.paymentToken !== "" let isEmpty = cvcNumber == "" @@ -57,12 +57,10 @@ let make = (~cvcProps: CardUtils.cvcProps) => { try { let res = await PaymentHelpersV2.updatePaymentMethod( ~bodyArr, - ~pmClientSecret=keys.pmClientSecret->Option.getOr(""), - ~publishableKey, - ~profileId, ~pmSessionId=keys.pmSessionId->Option.getOr(""), ~logger, ~customPodUri, + ~sdkAuthorization=keys.sdkAuthorization->Option.getOr(""), ) let dict = res->getDictFromJson @@ -98,13 +96,11 @@ let make = (~cvcProps: CardUtils.cvcProps) => { try { let res = await PaymentHelpersV2.deletePaymentMethodV2( - ~publishableKey, - ~profileId, - ~pmClientSecret=keys.pmClientSecret->Option.getOr(""), ~paymentMethodToken=paymentItem.paymentToken, ~pmSessionId=keys.pmSessionId->Option.getOr(""), ~logger, ~customPodUri, + ~sdkAuthorization=keys.sdkAuthorization->Option.getOr(""), ) let dict = res->getDictFromJson diff --git a/src/Hooks/CommonHooks.res b/src/Hooks/CommonHooks.res index afde30b3f..468dd768c 100644 --- a/src/Hooks/CommonHooks.res +++ b/src/Hooks/CommonHooks.res @@ -6,9 +6,7 @@ type keys = { sdkAuthorization: option, paymentId: string, pmSessionId?: string, - pmClientSecret?: string, publishableKey: string, - profileId: string, iframeId: string, parentURL: string, sdkHandleOneClickConfirmPayment: bool, @@ -117,11 +115,6 @@ let updateKeys = (dict, keyPair, setKeys) => { ...prev, publishableKey: dict->Utils.getString(key, valueStr), }) - | "profileId" => - setKeys(prev => { - ...prev, - profileId: dict->Utils.getString(key, valueStr), - }) | "paymentId" => setKeys(prev => { ...prev, @@ -145,7 +138,6 @@ let defaultkeys = { clientSecret: None, sdkAuthorization: None, publishableKey: "", - profileId: "", paymentId: "", iframeId: "", parentURL: "*", diff --git a/src/LoaderController.res b/src/LoaderController.res index d0fc69ea8..98f68cfd9 100644 --- a/src/LoaderController.res +++ b/src/LoaderController.res @@ -141,7 +141,6 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger, ~initTime locale: config.locale === "auto" ? Window.Navigator.language : config.locale, fonts: config.fonts, clientSecret: config.clientSecret, - pmClientSecret: config.pmClientSecret, pmSessionId: config.pmSessionId, loader: config.loader, sdkAuthorization: config.sdkAuthorization, @@ -277,14 +276,12 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger, ~initTime let paymentOptions = dict->getDictFromObj("paymentOptions") let clientSecret = getWarningString(paymentOptions, "clientSecret", "", ~logger) - let pmClientSecret = getWarningString(paymentOptions, "pmClientSecret", "", ~logger) let pmSessionId = getWarningString(paymentOptions, "pmSessionId", "", ~logger) let sdkAuthorization = getString(paymentOptions, "sdkAuthorization", "") setKeys(prev => { ...prev, clientSecret: Some(clientSecret), sdkAuthorization: Some(sdkAuthorization), - pmClientSecret, pmSessionId, }) logger.setClientSecret(clientSecret) @@ -322,7 +319,6 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger, ~initTime [ ("iframeId", "no-element"->JSON.Encode.string), ("publishableKey", ""->JSON.Encode.string), - ("profileId", ""->JSON.Encode.string), ("paymentId", ""->JSON.Encode.string), ("parentURL", "*"->JSON.Encode.string), ("sdkHandleOneClickConfirmPayment", true->JSON.Encode.bool), @@ -341,14 +337,12 @@ let make = (~children, ~paymentMode, ~setIntegrateErrorError, ~logger, ~initTime let paymentOptions = dict->getDictFromObj("paymentOptions") let clientSecret = getWarningString(paymentOptions, "clientSecret", "", ~logger) - let pmClientSecret = getWarningString(paymentOptions, "pmClientSecret", "", ~logger) let pmSessionId = getWarningString(paymentOptions, "pmSessionId", "", ~logger) let sdkAuthorization = getString(paymentOptions, "sdkAuthorization", "") setKeys(prev => { ...prev, clientSecret: Some(clientSecret), sdkAuthorization: Some(sdkAuthorization), - pmClientSecret, pmSessionId, }) logger.setClientSecret(clientSecret) diff --git a/src/Payments/PreMountLoader.res b/src/Payments/PreMountLoader.res index 23767065f..0c4e61a35 100644 --- a/src/Payments/PreMountLoader.res +++ b/src/Payments/PreMountLoader.res @@ -125,21 +125,17 @@ let getMessageHandlerV1Elements = ( let getMessageHandlerV2PMM = ( ~pmSessionId, - ~pmClientSecret, - ~publishableKey, - ~profileId, ~logger, ~customPodUri, ~endpoint, + ~sdkAuthorization, ) => { let listPromise = PaymentHelpersV2.fetchPaymentManagementList( ~pmSessionId, - ~pmClientSecret, - ~publishableKey, - ~profileId, ~optLogger=Some(logger), ~customPodUri, ~endpoint, + ~sdkAuthorization, ) ev => { @@ -184,25 +180,9 @@ module PreMountLoaderForElements = { module PreMountLoaderForPMMElements = { @react.component - let make = ( - ~logger, - ~endpoint, - ~customPodUri, - ~pmSessionId, - ~pmClientSecret, - ~publishableKey, - ~profileId, - ) => { + let make = (~logger, ~endpoint, ~customPodUri, ~pmSessionId, ~sdkAuthorization) => { useMessageHandler(() => - getMessageHandlerV2PMM( - ~pmSessionId, - ~pmClientSecret, - ~publishableKey, - ~profileId, - ~logger, - ~customPodUri, - ~endpoint, - ) + getMessageHandlerV2PMM(~pmSessionId, ~sdkAuthorization, ~logger, ~customPodUri, ~endpoint) ) React.null @@ -213,12 +193,10 @@ module PreMountLoaderForPMMElements = { let make = ( ~sessionId, ~publishableKey, - ~profileId, ~sdkAuthorization, ~clientSecret, ~endpoint, ~pmSessionId, - ~pmClientSecret, ~hyperComponentName: Types.hyperComponentName, ~merchantHostname, ~customPodUri, @@ -246,8 +224,6 @@ let make = ( isSdkParamsEnabled /> | PaymentMethodsManagementElements => - + } } diff --git a/src/Types/CardThemeType.res b/src/Types/CardThemeType.res index 0c2e171a8..f3e3b84f0 100644 --- a/src/Types/CardThemeType.res +++ b/src/Types/CardThemeType.res @@ -89,7 +89,6 @@ type fonts = { type configClass = { appearance: appearance, locale: string, - pmClientSecret: string, pmSessionId: string, clientSecret: string, fonts: array, diff --git a/src/Utilities/HyperVaultHelpers.res b/src/Utilities/HyperVaultHelpers.res deleted file mode 100644 index 7f07777cf..000000000 --- a/src/Utilities/HyperVaultHelpers.res +++ /dev/null @@ -1,24 +0,0 @@ -open Utils - -type vaultMetadata = { - config: JSON.t, - pmSessionId: string, - pmClientSecret: string, - vaultPublishableKey: string, - vaultProfileId: string, - endpoint: string, - customPodUri: string, -} - -let extractVaultMetadata = metadataDict => { - let getStr = key => metadataDict->getString(key, "") - let config = metadataDict->Dict.get("config")->Option.getOr(Dict.make()->JSON.Encode.object) - let pmSessionId = getStr("pmSessionId") - let pmClientSecret = getStr("pmClientSecret") - let vaultPublishableKey = getStr("vaultPublishableKey") - let vaultProfileId = getStr("vaultProfileId") - let endpoint = getStr("endpoint") - let customPodUri = getStr("customPodUri") - - {config, pmSessionId, pmClientSecret, vaultPublishableKey, vaultProfileId, endpoint, customPodUri} -} diff --git a/src/Utilities/PaymentHelpersV2.res b/src/Utilities/PaymentHelpersV2.res index 26fe96dac..ffe1bb545 100644 --- a/src/Utilities/PaymentHelpersV2.res +++ b/src/Utilities/PaymentHelpersV2.res @@ -18,7 +18,6 @@ let intentCall = ( ~headers, ~bodyStr, ~confirmParam: ConfirmType.confirmParams, - ~clientSecret, ~optLogger, ~handleUserError, ~paymentType, @@ -46,7 +45,6 @@ let intentCall = ( ) ->then(res => { let url = makeUrl(confirmParam.return_url) - url.searchParams.set("client_secret", clientSecret) url.searchParams.set("status", "failed") messageParentWindow([("confirmParams", confirmParam->anyTypeToJson)]) @@ -126,7 +124,6 @@ let intentCall = ( } let url = makeUrl(confirmParam.return_url) - url.searchParams.set("client_secret", clientSecret) url.searchParams.set("status", intent.authenticationDetails.status) let handleProcessingStatus = (paymentType, sdkHandleOneClickConfirmPayment) => { @@ -234,7 +231,6 @@ let intentCall = ( Promise.make((resolve, _) => { try { let url = makeUrl(confirmParam.return_url) - url.searchParams.set("client_secret", clientSecret) url.searchParams.set("status", "failed") let _exceptionMessage = err->formatException @@ -268,18 +264,13 @@ let intentCall = ( let fetchPaymentManagementList = ( ~pmSessionId, - ~pmClientSecret, - ~publishableKey, - ~profileId, ~endpoint, ~optLogger as _, ~customPodUri, + ~sdkAuthorization, ) => { open Promise - let headers = [ - ("x-profile-id", `${profileId}`), - ("Authorization", `publishable-key=${publishableKey},client-secret=${pmClientSecret}`), - ] + let headers = [("Authorization", `${sdkAuthorization}`)] let uri = `${endpoint}/v1/payment-method-sessions/${pmSessionId}/list-payment-methods` fetchApi(uri, ~method=#GET, ~headers=headers->ApiEndpoint.addCustomPodHeader(~customPodUri)) @@ -302,20 +293,15 @@ let fetchPaymentManagementList = ( } let deletePaymentMethodV2 = ( - ~pmClientSecret, - ~publishableKey, - ~profileId, ~paymentMethodToken, ~pmSessionId, ~logger as _, ~customPodUri, + ~sdkAuthorization, ) => { open Promise let endpoint = ApiEndpoint.getApiEndPoint() - let headers = [ - ("x-profile-id", `${profileId}`), - ("Authorization", `publishable-key=${publishableKey},client-secret=${pmClientSecret}`), - ] + let headers = [("Authorization", `${sdkAuthorization}`)] let uri = `${endpoint}/v1/payment-method-sessions/${pmSessionId}` fetchApi( uri, @@ -345,20 +331,14 @@ let deletePaymentMethodV2 = ( let updatePaymentMethod = ( ~bodyArr, - ~pmClientSecret, - ~publishableKey, - ~profileId, ~pmSessionId, ~logger as _, ~customPodUri, + ~sdkAuthorization, ) => { open Promise let endpoint = ApiEndpoint.getApiEndPoint() - let headers = [ - ("x-profile-id", `${profileId}`), - ("Authorization", `publishable-key=${publishableKey},client-secret=${pmClientSecret}`), - ("Content-Type", "application/json"), - ] + let headers = [("Authorization", `${sdkAuthorization}`), ("Content-Type", "application/json")] let uri = `${endpoint}/v1/payment-method-sessions/${pmSessionId}/update-saved-payment-method` fetchApi( @@ -397,13 +377,11 @@ let useSaveCard = (optLogger: option, paymentType: ~bodyArr: array<(string, JSON.t)>, ~confirmParam: ConfirmType.confirmParams, ) => { - switch keys.pmClientSecret { - | Some(pmClientSecret) => - let pmSessionId = keys.pmSessionId->Option.getOr("") + switch keys.pmSessionId { + | Some(pmSessionId) => let headers = [ ("Content-Type", "application/json"), - ("Authorization", `publishable-key=${keys.publishableKey},client-secret=${pmClientSecret}`), - ("x-profile-id", keys.profileId), + ("Authorization", `${keys.sdkAuthorization->Option.getOr("")}`), ] let endpoint = ApiEndpoint.getApiEndPoint(~publishableKey=confirmParam.publishableKey) let uri = `${endpoint}/v1/payment-method-sessions/${pmSessionId}/confirm` @@ -411,8 +389,8 @@ let useSaveCard = (optLogger: option, paymentType: let browserInfo = BrowserSpec.broswerInfo let returnUrlArr = [("return_url", confirmParam.return_url->JSON.Encode.string)] let bodyStr = - [("client_secret", pmClientSecret->JSON.Encode.string)] - ->Array.concatMany([bodyArr, browserInfo(), returnUrlArr]) + bodyArr + ->Array.concatMany([browserInfo(), returnUrlArr]) ->getJsonFromArrayOfJson ->JSON.stringify @@ -423,7 +401,6 @@ let useSaveCard = (optLogger: option, paymentType: ~headers, ~bodyStr, ~confirmParam: ConfirmType.confirmParams, - ~clientSecret=pmClientSecret, ~optLogger, ~handleUserError, ~paymentType, @@ -460,13 +437,11 @@ let useUpdateCard = (optLogger: option, paymentType ~bodyArr: array<(string, JSON.t)>, ~confirmParam: ConfirmType.confirmParams, ) => { - switch keys.pmClientSecret { - | Some(pmClientSecret) => - let pmSessionId = keys.pmSessionId->Option.getOr("") + switch keys.pmSessionId { + | Some(pmSessionId) => let headers = [ ("Content-Type", "application/json"), - ("Authorization", `publishable-key=${keys.publishableKey},client-secret=${pmClientSecret}`), - ("x-profile-id", keys.profileId), + ("Authorization", `${keys.sdkAuthorization->Option.getOr("")}`), ] let endpoint = ApiEndpoint.getApiEndPoint(~publishableKey=confirmParam.publishableKey) let uri = `${endpoint}/v1/payment-method-sessions/${pmSessionId}/update-saved-payment-method` @@ -474,8 +449,8 @@ let useUpdateCard = (optLogger: option, paymentType let browserInfo = BrowserSpec.broswerInfo let returnUrlArr = [("return_url", confirmParam.return_url->JSON.Encode.string)] let bodyStr = - [("client_secret", pmClientSecret->JSON.Encode.string)] - ->Array.concatMany([bodyArr, browserInfo(), returnUrlArr]) + bodyArr + ->Array.concatMany([browserInfo(), returnUrlArr]) ->getJsonFromArrayOfJson ->JSON.stringify @@ -486,7 +461,6 @@ let useUpdateCard = (optLogger: option, paymentType ~headers, ~bodyStr, ~confirmParam: ConfirmType.confirmParams, - ~clientSecret=pmClientSecret, ~optLogger, ~handleUserError, ~paymentType, diff --git a/src/Utilities/Utils.res b/src/Utilities/Utils.res index 9e8b55b07..49cc59240 100644 --- a/src/Utilities/Utils.res +++ b/src/Utilities/Utils.res @@ -1912,5 +1912,6 @@ let getSdkAuthorizationData = sdkAuthorization => { clientSecret: getValueFromArrayOfKeys("client_secret"), customerId: getValueFromArrayOfKeys("customer_id"), profileId: getValueFromArrayOfKeys("profile_id"), + pmSessionId: getValueFromArrayOfKeys("payment_method_session_id"), } } diff --git a/src/Utilities/VaultHelpers.res b/src/Utilities/VaultHelpers.res deleted file mode 100644 index 073bbf30f..000000000 --- a/src/Utilities/VaultHelpers.res +++ /dev/null @@ -1,75 +0,0 @@ -open Utils - -type vault = VeryGoodSecurity | Hyperswitch | None - -type hyperVaultType = {vaultId: string, vaultEnv: string} - -type vgsVaultType = { - pmSessionId: string, - pmClientSecret: string, - vaultPublishableKey: string, - vaultProfileId: string, -} - -let getVaultModeFromName = val => { - switch val { - | "vgs" => VeryGoodSecurity - | "hyperswitch_vault" => Hyperswitch - | _ => None - } -} - -let getVaultNameFromMode = val => { - switch val { - | VeryGoodSecurity => "vgs" - | Hyperswitch => "hyperswitch_vault" - | _ => "" - } -} - -let getVaultName = (sessionObj: PaymentType.loadType) => { - switch sessionObj { - | Loaded(session) => - let dict = session->getDictFromJson - let vaultDetailsDict = dict->getDictFromDict("vault_details") - let keys = vaultDetailsDict->Dict.keysToArray - keys->Array.get(0)->Option.getOr("") - | _ => "" - } -} - -let getVGSVaultDetails = (sessionObj: PaymentType.loadType, vaultName: string) => { - switch sessionObj { - | Loaded(session) => - let dict = session->getDictFromJson - let vgsVaultDict = - dict - ->getDictFromDict("vault_details") - ->getDictFromDict(vaultName) - - let vaultId = vgsVaultDict->getString("external_vault_id", "") - let vaultEnv = vgsVaultDict->getString("sdk_env", "") - {vaultId, vaultEnv} - | _ => {vaultId: "", vaultEnv: ""} - } -} - -let getHyperswitchVaultDetails = (sessionObj: PaymentType.loadType) => { - switch sessionObj { - | Loaded(session) => - let dict = session->getDictFromJson - let hyperswitchVaultDict = - dict - ->getDictFromDict("vault_details") - ->getDictFromDict("hyperswitch_vault") - - let getVaultValue = key => hyperswitchVaultDict->getString(key, "") - let pmSessionId = getVaultValue("payment_method_session_id") - let pmClientSecret = getVaultValue("client_secret") - let vaultPublishableKey = getVaultValue("publishable_key") - let vaultProfileId = getVaultValue("profile_id") - - {pmSessionId, pmClientSecret, vaultPublishableKey, vaultProfileId} - | _ => {pmSessionId: "", pmClientSecret: "", vaultPublishableKey: "", vaultProfileId: ""} - } -} diff --git a/src/hyper-loader/Elements.res b/src/hyper-loader/Elements.res index 77bfc7ad7..28fd78efc 100644 --- a/src/hyper-loader/Elements.res +++ b/src/hyper-loader/Elements.res @@ -17,7 +17,6 @@ let make = ( ~clientSecret, ~sdkSessionId, ~publishableKey, - ~profileId, ~logger: option, ~analyticsMetadata, ~customBackendUrl, @@ -91,7 +90,7 @@ let make = ( id="orca-payment-element-iframeRef-${localSelectorString}" name="orca-payment-element-iframeRef-${localSelectorString}" title="Orca Payment Element Frame" - src="${ApiEndpoint.sdkDomainUrl}/index.html?fullscreenType=${componentType}&publishableKey=${publishableKey}&clientSecret=${clientSecret}&profileId=${profileId}&sessionId=${sdkSessionId}&endpoint=${endpoint}&merchantHostname=${merchantHostname}&customPodUri=${customPodUri}&isTestMode=${isTestModeValue}&isSdkParamsEnabled=${isSdkParamsEnabled}&sdkAuthorization=${sdkAuthorization}" + src="${ApiEndpoint.sdkDomainUrl}/index.html?fullscreenType=${componentType}&publishableKey=${publishableKey}&clientSecret=${clientSecret}&&sessionId=${sdkSessionId}&endpoint=${endpoint}&merchantHostname=${merchantHostname}&customPodUri=${customPodUri}&isTestMode=${isTestModeValue}&isSdkParamsEnabled=${isSdkParamsEnabled}&sdkAuthorization=${sdkAuthorization}" allow="*" name="orca-payment" style="outline: none;" @@ -422,7 +421,6 @@ let make = ( ("paymentOptions", widgetOptions), ("iframeId", selectorString->JSON.Encode.string), ("publishableKey", publishableKey->JSON.Encode.string), - ("profileId", profileId->JSON.Encode.string), ("endpoint", endpoint->JSON.Encode.string), ("sdkSessionId", sdkSessionId->JSON.Encode.string), ("blockConfirm", blockConfirm->JSON.Encode.bool), diff --git a/src/hyper-loader/Hyper.res b/src/hyper-loader/Hyper.res index 4cfc8b50d..c799b8d30 100644 --- a/src/hyper-loader/Hyper.res +++ b/src/hyper-loader/Hyper.res @@ -143,11 +143,6 @@ let make = (keys, options: option, analyticsInfo: option) => { | Object(json) => json->getString("publishableKey", "") | _ => "" } - let profileId = switch keys->JSON.Classify.classify { - | String(_) => "" - | Object(json) => json->getString("profileId", "") - | _ => "" - } let isPreloadEnabled = options ->getOptionsDict @@ -327,7 +322,6 @@ let make = (keys, options: option, analyticsInfo: option) => { let clientSecret = ref("") let sdkAuthorization = ref("") let pmSessionId = ref("") - let pmClientSecret = ref("") let setIframeRef = ref => { iframeRef.contents->Array.push(ref)->ignore } @@ -536,7 +530,6 @@ let make = (keys, options: option, analyticsInfo: option) => { setIframeRef, ~sdkSessionId=sessionID, ~publishableKey, - ~profileId, ~sdkAuthorization={sdkAuthorizationId}, ~clientSecret={clientSecretId}, ~logger=Some(logger), @@ -557,14 +550,15 @@ let make = (keys, options: option, analyticsInfo: option) => { pmManagementOptionsDict ->Option.forEach(x => x->Dict.set("launchTime", Date.now()->JSON.Encode.float)) ->ignore + let sdkAuthorizationId = pmManagementOptionsDict->getStringFromDict("sdkAuthorization", "") + let sdkAuthorizationData = sdkAuthorizationId->Utils.getSdkAuthorizationData - let pmClientSecretId = pmManagementOptionsDict->getStringFromDict("pmClientSecret", "") - let pmSessionIdVal = pmManagementOptionsDict->getStringFromDict("pmSessionId", "") + sdkAuthorization := sdkAuthorizationId + let pmSessionIdVal = sdkAuthorizationData.pmSessionId->Option.getOr("") let pmManagementOptions = pmManagementOptionsDict->Option.mapOr(pmManagementOptions, JSON.Encode.object) pmSessionId := pmSessionIdVal - pmClientSecret := pmClientSecretId Promise.make((resolve, _) => { resolve(JSON.Encode.null) }) @@ -583,9 +577,8 @@ let make = (keys, options: option, analyticsInfo: option) => { setIframeRef, ~sdkSessionId=sessionID, ~publishableKey, - ~profileId, - ~pmClientSecret={pmClientSecretId}, ~pmSessionId={pmSessionIdVal}, + ~sdkAuthorization=sdkAuthorizationId, ~logger=Some(logger), ~analyticsMetadata, ~customBackendUrl=options diff --git a/src/hyper-loader/PaymentMethodsManagementElements.res b/src/hyper-loader/PaymentMethodsManagementElements.res index 67966f639..189fa134e 100644 --- a/src/hyper-loader/PaymentMethodsManagementElements.res +++ b/src/hyper-loader/PaymentMethodsManagementElements.res @@ -6,15 +6,15 @@ open EventListenerManager let make = ( options, setIframeRef, - ~pmClientSecret, ~pmSessionId, ~sdkSessionId, ~publishableKey, - ~profileId, + ~sdkAuthorization, ~logger: option, ~analyticsMetadata, ~customBackendUrl, ) => { + Console.log2("PM SESSION ID=>", pmSessionId) let hyperComponentName = PaymentMethodsManagementElements try { let iframeRef = [] @@ -55,7 +55,7 @@ let make = (