Add wallet transaction data
Overview
You can attach wallet transaction data to a contactless payment.
The issuer backend can use this data during authorization processing.
Wallet transaction data is defined per digital card.
The digital wallet application can provide it in two modes:
Persistent: The NFC Wallet SDK stores the data in secure storage. It persists across application restarts.
Ephemeral: The digital wallet application provides the value for one transaction only.
The digital wallet application decides whether to include wallet transaction data in each payment.
Mastercard specification (MCBP 2.3)
The NFC Wallet SDK supports Mastercard specification MCBP 2.3.
If wallet transaction data is available before a contactless transaction, the NFC Wallet SDK updates the IAD (EMV tag 9F10, Issuer Application Data):
Start offset: byte 19
Max IAD length: 32 bytes
Maximum wallet transaction data length: 14 bytes
PURE specification
The NFC Wallet SDK also supports wallet transaction data for PURE contactless profiles.
If wallet transaction data is available before a contactless transaction, the NFC Wallet SDK updates the IAD (EMV tag 9F10, Issuer Application Data):
Start offset: byte 18
Max IAD length: 32 bytes
Maximum wallet transaction data length: 15 bytes
SDK integration
Set persistent wallet transaction data for Mastercard
Use DigitalCard.setWalletTransactionData to set persistent wallet transaction data:
Pass a 14-byte
Datavalue to store wallet transaction data for this digital card.Pass
nilto clear the stored value for this digital card.
Set persistent wallet transaction data for PURE
Use DigitalCard.setWalletTransactionData to set persistent wallet transaction data:
Pass a 15-byte
Datavalue to store wallet transaction data for this digital card.Pass
nilto clear the stored value for this digital card.
Handle errors
The wallet transaction data must meet the following requirements:
Length for Mastercard: Exactly 14 bytes
Length for PURE: Exactly 15 bytes
Scheme support: Only Mastercard and PURE contactless profiles are supported. If you set wallet transaction data for another scheme, the SDK returns
.schemeNotSupported.
Provide wallet transaction data for a payment
Use startPayment() with ContactlessPaymentInputData to provide wallet transaction data during a contactless payment.
ContactlessPaymentInputData supports two wallet transaction data modes:
.storage: Use the value stored in secure storage (if set)..ephemeral: Provide a value for this transaction only.
Storage mode
Ephemeral mode
Start a payment
Last updated
Was this helpful?