diff --git a/android/src/main/java/com/stripeterminalreactnative/Mappers.kt b/android/src/main/java/com/stripeterminalreactnative/Mappers.kt index 2c9e7493..fbc7e398 100644 --- a/android/src/main/java/com/stripeterminalreactnative/Mappers.kt +++ b/android/src/main/java/com/stripeterminalreactnative/Mappers.kt @@ -180,6 +180,14 @@ internal fun mapFromPaymentIntent(paymentIntent: PaymentIntent, uuid: String): R putString("sdkUuid", uuid) putString("paymentMethodId", paymentIntent.paymentMethodId) putMap("offlineDetails", mapFromOfflineDetails(paymentIntent?.offlineDetails)) + putMap( + "metadata", + nativeMapOf { + paymentIntent.metadata?.map { + putString(it.key, it.value) + } + } + ) } internal fun mapFromSetupIntent(setupIntent: SetupIntent, uuid: String): ReadableMap = nativeMapOf { diff --git a/dev-app/android/build.gradle b/dev-app/android/build.gradle index 92aac670..23f540ef 100644 --- a/dev-app/android/build.gradle +++ b/dev-app/android/build.gradle @@ -4,7 +4,7 @@ import org.apache.tools.ant.taskdefs.condition.Os buildscript { ext { - buildToolsVersion = "33.0.0" + buildToolsVersion = "33.0.1" minSdkVersion = 26 compileSdkVersion = 34 targetSdkVersion = 33 diff --git a/example-app/android/build.gradle b/example-app/android/build.gradle index 088ca7d0..5dd5d0b4 100644 --- a/example-app/android/build.gradle +++ b/example-app/android/build.gradle @@ -2,7 +2,7 @@ buildscript { ext { - buildToolsVersion = findProperty('android.buildToolsVersion') ?: '33.0.0' + buildToolsVersion = findProperty('android.buildToolsVersion') ?: '33.0.1' minSdkVersion = Integer.parseInt(findProperty('android.minSdkVersion') ?: '26') compileSdkVersion = Integer.parseInt(findProperty('android.compileSdkVersion') ?: '34') targetSdkVersion = Integer.parseInt(findProperty('android.targetSdkVersion') ?: '33') diff --git a/ios/Mappers.swift b/ios/Mappers.swift index ccaebef7..a3c746bc 100644 --- a/ios/Mappers.swift +++ b/ios/Mappers.swift @@ -144,6 +144,10 @@ class Mappers { if let offlineDetails = paymentIntent.offlineDetails { offlineDetailsMap = mapFromOfflineDetails(offlineDetails) } + var metadataMap: NSDictionary? + if let paymentMetadata = paymentIntent.metadata { + metadataMap = NSDictionary(dictionary: paymentMetadata) + } let result: NSDictionary = [ "amount": paymentIntent.amount, "charges": mapFromCharges(paymentIntent.charges), @@ -153,7 +157,8 @@ class Mappers { "id": paymentIntent.stripeId, "sdkUuid": uuid, "paymentMethodId": paymentIntent.paymentMethodId, - "offlineDetails": offlineDetailsMap ?? NSNull() + "offlineDetails": offlineDetailsMap ?? NSNull(), + "metadata": metadataMap ?? NSNull(), ] return result } @@ -510,7 +515,7 @@ class Mappers { default: return "unknown" } } - + class func mapFromCardPresentDetailsNetwork(_ type: NSNumber) -> String { switch type { case 0: return "visa" diff --git a/src/types/PaymentIntent.ts b/src/types/PaymentIntent.ts index 192d2495..09b54d77 100644 --- a/src/types/PaymentIntent.ts +++ b/src/types/PaymentIntent.ts @@ -12,6 +12,7 @@ export namespace PaymentIntent { paymentMethodId: string; paymentMethod: PaymentMethod.Type; offlineDetails: OfflineDetails; + metadata: Record; } export type Status =