diff --git a/packages/sdk/src/HeadlessUniversalCheckout/Managers/VaultManager.ts b/packages/sdk/src/HeadlessUniversalCheckout/Managers/VaultManager.ts index 3df633e1f..b6e4285d4 100644 --- a/packages/sdk/src/HeadlessUniversalCheckout/Managers/VaultManager.ts +++ b/packages/sdk/src/HeadlessUniversalCheckout/Managers/VaultManager.ts @@ -88,10 +88,13 @@ class PrimerHeadlessUniversalCheckoutVaultManager { } } +// Convert accountNumberLastFourDigits to accountNumberLast4Digits when present +// Overcomes an iOS limitation of toJsonObject() function sanitizePaymentMethods(paymentMethods: VaultedPaymentMethod[]): VaultedPaymentMethod[] { return paymentMethods.map(method => { - if (method.paymentInstrumentData?.accountNumberLastFourDigits !== undefined) { - const { accountNumberLastFourDigits, ...rest } = method.paymentInstrumentData; + const unwrappedInstrumentData = method.paymentInstrumentData as any; + if (unwrappedInstrumentData?.accountNumberLastFourDigits !== undefined) { + const { accountNumberLastFourDigits, ...rest } = unwrappedInstrumentData; return { ...method, paymentInstrumentData: { @@ -104,4 +107,5 @@ function sanitizePaymentMethods(paymentMethods: VaultedPaymentMethod[]): Vaulted }); } + export default PrimerHeadlessUniversalCheckoutVaultManager;