From 9d45501cdceb312c920f5a9b14827290b447f234 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Ska=C5=82ka?= Date: Wed, 21 Jan 2026 14:52:51 +0100 Subject: [PATCH 1/2] refactor: normalize card activation event across platforms --- android/src/main/java/com/expensify/wallet/WalletModule.kt | 2 +- ios/WalletManager.swift | 6 +++--- src/NativeWallet.ts | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/android/src/main/java/com/expensify/wallet/WalletModule.kt b/android/src/main/java/com/expensify/wallet/WalletModule.kt index 368f31f..d38707d 100644 --- a/android/src/main/java/com/expensify/wallet/WalletModule.kt +++ b/android/src/main/java/com/expensify/wallet/WalletModule.kt @@ -75,7 +75,7 @@ class WalletModule internal constructor(context: ReactApplicationContext) : sendEvent( context, OnCardActivatedEvent.NAME, - OnCardActivatedEvent("active", tokenId).toMap() + OnCardActivatedEvent("activated", tokenId).toMap() ) pendingPushTokenizePromise?.resolve(TokenizationStatus.SUCCESS.code) } diff --git a/ios/WalletManager.swift b/ios/WalletManager.swift index c0afa08..13c40c6 100644 --- a/ios/WalletManager.swift +++ b/ios/WalletManager.swift @@ -69,8 +69,8 @@ open class WalletManager: UIViewController { for pass in passes { if pass.secureElementPass?.passActivationState == .activated { delegate?.sendEvent(name: Event.onCardActivated.rawValue, result: [ - "state": "activated", - "serialNumber": pass.serialNumber + "status": "activated", + "tokenId": pass.serialNumber ]); } } @@ -253,7 +253,7 @@ extension WalletManager: PKAddPaymentPassViewControllerDelegate { if error != nil { self.logInfo(message: "Error: \(errorMessage)") delegate?.sendEvent(name: Event.onCardActivated.rawValue, result: [ - "state": "canceled" + "status": "canceled" ]); } diff --git a/src/NativeWallet.ts b/src/NativeWallet.ts index cf8a47d..f15df6e 100644 --- a/src/NativeWallet.ts +++ b/src/NativeWallet.ts @@ -45,7 +45,7 @@ type IOSCardData = { type onCardActivatedPayload = { tokenId: string; - actionStatus: 'active' | 'canceled'; + status: 'activated' | 'canceled'; }; type IOSAddPaymentPassData = { From 304c7973fab47427ad031ab91238ba06b038317c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Ska=C5=82ka?= Date: Wed, 21 Jan 2026 14:53:00 +0100 Subject: [PATCH 2/2] docs: update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b65b52f..4fa2052 100644 --- a/README.md +++ b/README.md @@ -148,7 +148,7 @@ The library offers seven functions for seamless integration and use of the Apple | **AndroidResumeCardData** | Simplified data structure for resuming card addition to Google Wallet using existing token reference ID. | `network: string`,
`tokenReferenceID: string`,
`cardHolderName?: string`,
`lastDigits?: string` | | **UserAddress** | Structured address used for cardholder verification. | `name: string`,
`addressOne: string`,
`addressTwo: string`,
`city: string`,
`administrativeArea: string`,
`countryCode: string`,
`postalCode: string`,
`phoneNumber: string` | | **IOSCardData** | Data related to a card that is to be added on iOS platform. | `network: string`,
`activationData: string`,
`encryptedPassData: string`,
`ephemeralPublicKey: string`,
`cardHolderTitle: string`,
`cardHolderName: string`,
`lastDigits: string`,
`cardDescription: string`,
`cardDescriptionComment: string` | -| **onCardActivatedPayload** | Data used by listener to notice when a card’s status changes. | `tokenId: string`,
`actionStatus: 'activated' \| 'canceled'`
| +| **onCardActivatedPayload** | Data used by listener to notice when a card's status changes. | `tokenId: string`,
`status: 'activated' \| 'canceled'`
| | **IOSIssuerCallback** | This callback is invoked with a nonce, its signature, and a certificate array obtained from Apple. It is expected that you will forward these details to your server or the card issuer's API to securely encrypt the payload required for adding cards to the Apple Wallet. | `(nonce: string, nonceSignature: string, certificate: string[]) => IOSEncryptPayload` | | **IOSEncryptPayload** | An object containing the necessary elements to complete the addition of a card to Apple Wallet. | `encryptedPassData: string`,
`activationData: string`,
`ephemeralPublicKey: string` | | **TokenInfo** | Information about a token stored in Google Wallet. | `identifier: string`,
`lastDigits: string`,
`tokenState: number` |