From 6c31b2c2b68aff54e25766687974e777aa7bceba Mon Sep 17 00:00:00 2001 From: Cesar Sosa Date: Fri, 10 Oct 2025 00:20:29 +0200 Subject: [PATCH] update iOS mapper to support paymentAttemptId --- example/src/Screens/HomeScreen.tsx | 4 ++-- ios/Mappers.swift | 24 ++++++++++++++++++++---- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/example/src/Screens/HomeScreen.tsx b/example/src/Screens/HomeScreen.tsx index 93e01b8..43291ad 100644 --- a/example/src/Screens/HomeScreen.tsx +++ b/example/src/Screens/HomeScreen.tsx @@ -49,9 +49,9 @@ const HomeView = () => { const paymentParameters: PaymentParameters = { amountMoney: { amount: 1, currencyCode: CurrencyCode.EUR }, appFeeMoney: { amount: 0, currencyCode: CurrencyCode.EUR }, - idempotencyKey: uuid.v4(), + paymentAttemptId: uuid.v4(), note: 'Payment for services', - processingMode: ProcessingMode.AUTO_DETECT + processingMode: ProcessingMode.ONLINE_ONLY // Other parameters you could add: // autocomplete: true, // delayAction: DelayAction.CANCEL, diff --git a/ios/Mappers.swift b/ios/Mappers.swift index 0be38eb..d8ff1f8 100644 --- a/ios/Mappers.swift +++ b/ios/Mappers.swift @@ -37,11 +37,27 @@ class Mappers { return .failure(.missingProcessingMode) } - guard let idempotencyKey = paymentParameters["idempotencyKey"] as? String else { - return .failure(.missingIdempotencyKey) + var paymentParams: PaymentParameters? = nil + if let paymentAttemptID = paymentParameters["paymentAttemptId"] as? String{ + paymentParams = PaymentParameters( + paymentAttemptID: paymentAttemptID, + amountMoney: amountMoney, + processingMode: processingMode + ) + } + else if let idempotencyKey = paymentParameters["idempotencyKey"] as? String { + paymentParams = PaymentParameters( + idempotencyKey: idempotencyKey, + amountMoney: amountMoney, + processingMode: processingMode + ) + } + + guard let paymentParams + else { + return .failure(.missingPaymentAttemptIdOrIdempotencyKey) } - let paymentParams = PaymentParameters(idempotencyKey: idempotencyKey, amountMoney: amountMoney, processingMode: processingMode) // Optional parameters if let partialAuth = paymentParameters["acceptPartialAuthorization"] as? Bool { @@ -182,7 +198,7 @@ extension SquareMobilePaymentsSDK.SourceType { enum PaymentParametersError: Error { case missingAmount - case missingIdempotencyKey + case missingPaymentAttemptIdOrIdempotencyKey case missingProcessingMode }