Updated Hybrid Payment Ruleset with hybrid partial payment, and clarifications about formatting of amounts and ordering of categorized amounts sent from the ECR.
Updated transactionDetails within Wallet status and Merchant callback to harmonize brand and scheme into one field: paymentMethod. Also added debitCredit field.
remainingAmount and remainingCategories (identical to what you can expect in Merchant callback).
responseCode and externalResponseCode (identical to what you can expect in Merchant callback).
⚠️ Deprecated the status field from the Wallet transaction status. This field will be removed in the 2026.01.00 release later this summer.
📘
We see it as crucial to harmonize the Wallet transaction status and Merchant callback before rollout in production. The ECR can use the new responseCode field to get the same information as you would using the old status field.
Transaction in process: 68616 (mainly to give more information due to status field being removed from Wallet transaction status)
Transaction authorized: 68617 (mainly to give more information due to status field being removed from Wallet transaction status)
Transaction captured: 68618 (mainly to give more information due to status field being removed from Wallet transaction status)
Unauthorized: 40004 (generic error for invalid credentials)
Added BANCONTACT to participatingPaymentSystem enum in Create payment instrument session. Note: This is only for documentation and will not work until a new release is made stating otherwise.
Wallets SDK
SDK Methods
Add documentation for new Wallets SDK "deleteSDK" Method, enabling deletion of local Secure ID SDK on device.
⚠️ SID SDK Update: Please update Aera Secure ID SDK included in the Wallets SDK delivery. Secure ID Android updated with deeplinking bugfixes for older Samsung devices.
⚠️ CHANGE: The Merchant callback has new values in case of failed full hybrid payment. Keep in mind there is no new fields, just new values on existing fields: amountDetails and transactionDetails[].responseCode. Changes are reflected in the Hybrid Payment Ruleset.
🐛 BUGFIX: Improved stability of cancellation of any potential authorized funds in case of failed full hybrid payment.
📔 DOCUMENTATION: New Response code and added some missing descriptions/examples added:
68513 = Invalid CVD signature.
⚙️ FEATURE: New full hybrid payment flow, where full amount no longer has to be covered in full by a firm funding source.
⚙️ FEATURE: Added support for multiple firm funding sources in the same transaction (in preparations for Bancontact).
🐛 BUGFIX: Onboarding the same payment instrument multiple times to the same wallet (which should only result in override of existing information about that payment instrument) caused a broken state for the payment instrument priority. This could be seen as a "Duplicate key error" and cause errors during opening the wallet dashboard, as well as during transactions.
🐛 BUGFIX: Now sending currency on all sub-transactions/payment instruments listed in transactionDetails in Merchant callback.
🐛 BUGFIX: Not sending payment instruments with status AUTHORIZATION_PENDING In merchant callback. Neither when transactions fail, nor when success. All payment instruments should have reached a "final state" before sending callback to merchant/ECR.
🐛 BUGFIX: For full hybrid payment, now showing correct amount on firm funding source in transactionDetails when amount is reallocated from voucher to firm funding source in merchant callback.
🔒SECURITY: Internal security patches.
Wallets SDK
Merchant Specific preferences
App language supported
Aera Secure ID
Aera Secure ID SDK is updated, remember to update. Small updates to code as well
Success and Error types:
Removed standard flow related Success types: userCancelledAuthentication, userCancelledOnboarding, userClosedWallet and userClosedPaymentDialog.
Extend PSP -> WLW apis to support new/updated fields (amountDetails and transactionDetails) for the following functionality (see updated Aera PSP API documentation):
Get transaction status (ECR -> PSP)
Merchant callback (PSP -> ECR)
❗️
Temporary reduced wait time before WSP events are sent (60s -> 10s). Will be reset to 60s later this year.
Bugfix:
Empty string for redirect_uri from DPA will cause a bad request exception (HTTP status 400) and in turn a controlled error from the Wallets SDK.
Sending Merchant callback even in error scenarios.
Internal changes (not effecting WSP)
Internal security patches.
Implemented stability for API calls to internal Aera services and balance checks.
New Wallet Management API endpoint for creating session that can be used for initiating onboarding of a payment instrument: Create payment instrument session.
This endpoint introduces a new "concept": paymentInstrumentType. Read more about "Participating Payment System VS Payment Instrument Type" here.
This endpoint also introduces a new WLW Response code68708.
DPA can now configure a set of allowed redirect URLs.
📘
Note: This list of URLs has to be communicated to Aera, and Aera will then add them to the DPA configuration in our systems.
Add support for XTRA acquiring using the Aera PSP.
Aera Wallets SDK
Prerequisites Updated with Secure ID whitelisting info
Aera Secure ID New section added for Secure ID deeplinking implementation
Merchant Specific preferences Config is no longer used for language or theme. System browser pick up consumer device settings automatically.
SDK Methods
Add new param "authRedirectUri" to getOpenWalletUrl and deleteWallet for secure ID deeplinking during onboarding
Remove "Config" param for all methods. Theme and language are now picked up by the system browser using SDK method "openURL"
Add new SDK method "OpenURL" enabling opening the wallets dashboard via the Wallets SDK implemented system browser (instead of DPA implemented webview)
Removed Webview section as it will be deprecated in the future. Webview logic is still available in the SDK.
Removed Standard flow section as it will be deprecated in the future. Using "getOpenWalletUrl" and "openURL" instead of "openWallet" is advised.
Section "SDK Methods" into Generic and native specific methods instead of partial vs standard flow
Change "Partial vs Standard flow" to "Mobile app vs SDK responsibilities" and update description
Success and error types Updated with BROWSER_CLOSED, URL_NOT_SUPPORTED_ERROR and NETWORK_INVALID_REDIRECT_URI_ERROR
Definitions
Removed "Config" model
Update "PaymentData" and "PaymentResult" with proprietaryData. Edit orderId to merchantReference.
Add "ProprietaryData" and "ProprietaryDataAttribute" models
If a consumer tries to add the same payment instrument twice to the same wallet, WLW will no longer return an error. It will accept the new information and overwrite the existing payment instrument.
❗️
A re-onboarding for all wallet SDKs is needed for Get Wallet details to work. If not the WSP will receive this response:
{
"responseInfo": {
"message": "Wallet onboarding expired, new consumer onboarding required to get user info.",
"responseCode": "68508",
"cid": "Root=1-69bd9f62-51729bf116c43ca24cf3652d",
"cidType": "x-amzn-trace-id",
"timeStamp": "2026-03-20T19:26:27.127Z"
}
}
Android Wallets SDK for iOS is now available for staging! The functionality includes the partial Wallets SDK flow for open wallet and payment. The Wallets SDK documentation has been updated to include iOS specifics, and should be revisited.
Merchant Specific Preferences: Android and iOS: A Config parameter is now available to send currently selected language from Membership App to the rest of the wallet.