Smart E-Wallets
The SMART_E_WALLET payment method enables merchants to integrate with a wide range of digital wallets worldwide using a single API abstraction. These wallets support different interaction models, including:
- Redirect-based flows
- App-switching
- Embedded checkout experiences
The Smart Routing Engine dynamically determines the optimal wallet method at runtime based on:
- Market and regional availability
- Device type (iOS, Android, Desktop)
- Transaction currency
- Merchant configuration
- User context and preferences
Supported E-Wallet Methods
| Wallet Method | Regions | Notes |
|---|---|---|
| Alipay | China (tourists globally) | QR scan, redirect, or deep link support |
| WeChat Pay | China | WeChat mini-program or redirect flows |
| PayPal | Global | App switch, redirect; supports vaulting |
| Skrill | Europe | Login-based redirect integration |
| Neteller | Europe | Popular for gaming and online betting |
| QIWI | Russia / CIS | Phone and SMS-based wallet payments |
| Payeer | Eastern Europe, CIS | Supports both fiat and cryptocurrency |
| WebMoney | Russia / CIS | Requires KYC; legacy digital wallet usage |
| Venmo | United States | P2P and merchant payments via PayPal |
| Cash App Pay | United States | QR-based or app-initiated payments |
| GrabPay | Southeast Asia | App-based wallet with QR fallback support |
| AstroPay | Global / LATAM | Prepaid cards and wallets |
| Mercado Pago | LATAM | Linked to MercadoLibre platform |
| DOKU Wallet | Indonesia | Localized IDR-based digital wallet |
| TrueMoney Wallet | Thailand | QR-based, redirect, or app-switch payments |
| Satispay | Italy | Mobile wallet linked to phone numbers |
| GCash | Philippines | Mainstream local wallet with QR support |
| mPay | Thailand | Mobile telco wallet |
| Dana | Indonesia | E-wallet with QR integration |
| GoPay | Indonesia | Ride-hailing-linked wallet |
| MoMo | Vietnam | Market leader in Vietnamese digital wallets |
| ShopeePay | Southeast Asia | Integrated with e-commerce platform |
| dBarai | Japan | Docomo carrier-backed wallet |
| Merpay | Japan | Linked to Mercari marketplace |
Request Payload: SmartEWalletPayload
SmartEWalletPayload| Field | Type | Required? | Description |
|---|---|---|---|
paymentMethod | ApmMethod | Yes (default) | Always set to SMART_E_WALLET. |
paymentType | ApmFlowType | Yes (default) | Always set to E_WALLET. |
walletId | String? | Optional | Pre-selected or vaulted wallet ID for returning customers. |
walletCredential | String? | Optional | Authentication token or credential for automatic login. |
walletCurrency | String? | Optional | Override currency setting for the wallet transaction. |
walletHolderEmail | String? | Optional | User’s email for reconciliation or regional compliance. |
walletHolderName | String? | Optional | Full name of the wallet holder, used for display/KYC. |
userToken | String? | Optional | Session-based token for routing and tracking continuity. |
userId | String? | Optional | Merchant-specific user ID to link internal user records. |
Response Payload: SmartEWalletResponseData
SmartEWalletResponseData| Field | Type | Required? | Description |
|---|---|---|---|
paymentMethod | ApmMethod | Yes | Always returns SMART_E_WALLET. |
paymentType | ApmFlowType | Yes | Always returns E_WALLET. |
redirectUrl | String | Optional | URL to redirect the user to the wallet’s payment page. |
iframeUrl | String | Optional | URL for embedded checkout inside the app or website. |
providerTransactionId | String | Yes | Unique transaction reference returned by the wallet provider. |
sessionToken | String | Optional | Token for session management, polling, or continuation of payment. |
walletHolderName | String | Optional | Full name of the wallet holder, as returned by the provider. |
walletMetadata | Map<String, String> | Optional | Additional metadata such as expiry date, country code, or account alias. |
walletId | String | Optional | Wallet ID returned or resolved during the transaction. |
walletCredential | String | Optional | Authentication credential for reusing or vaulting future payments. |
walletCurrency | String | Optional | Currency used for this wallet transaction. |
walletHolderEmail | String | Optional | Email tied to the wallet or payment account. |
userToken | String | Optional | Echoed token for merchant session correlation and tracking. |
userId | String | Optional | Echoed internal or external user ID for merchant-side mapping. |
Best Practices
- Include
walletHolderEmailandwalletHolderNamewhen required for compliance or local regulations. - Use
userTokenoruserIdfor consistent user tracking across sessions and retries. - Support both
redirectUrlandiframeUrlto ensure compatibility with wallet interaction models. - Enable wallet vaulting using
walletIdandwalletCredentialfor smoother repeat transactions. - Utilize
walletMetadatato enrich post-payment UX (e.g., display wallet logo, account alias). - Implement robust failure handling for timeouts or declines, offering retry or fallback flows.
Updated 8 days ago
