Smart E-Wallets

Overview

SMART_E_WALLET enables merchants to connect with a wide range of digital wallets across different markets using a single API abstraction. These wallets support various interaction models — including redirect, app switch, and embedded flows — with the optimal flow dynamically selected at runtime.

The smart routing engine intelligently chooses the appropriate wallet method based on:

  • Market
  • Device type
  • Currency
  • Merchant configuration
  • User context

💳 Supported E-Wallet Methods

Wallet MethodRegionsNotes
AlipayChina (tourists globally)QR scan, redirect, or deep link
WeChat PayChinaWeChat mini program or redirect
PayPalGlobalApp switch, redirect, supports vaulting
SkrillEuropeLogin-based redirect
NetellerEuropePopular in gaming and betting
QIWIRussia / CISPhone/SMS-based wallet
PayeerEastern Europe, CISSupports fiat and crypto
WebMoneyRussia / CISRequires KYC; legacy usage
VenmoUnited StatesP2P and merchant payments via PayPal
Cash App PayUnited StatesQR-initiated payment
GrabPaySoutheast AsiaApp-based, supports QR fallback
AstroPayGlobal / LATAMPrepaid cards and wallets
Mercado PagoLATAMLinked to MercadoLibre
DOKU WalletIndonesiaLocalized IDR-based payments
TrueMoney WalletThailandQR, redirect, app switch
SatispayItalyMobile wallet linked to phone number
GCashPhilippinesMainstream local wallet
mPayThailandMobile telco wallet
DanaIndonesiaWallet + QR support
GoPayIndonesiaRide-share linked wallet
MoMoVietnamMarket leader in digital wallet
ShopeePaySoutheast AsiaConnected to e-commerce platform
dBaraiJapanDocomo mobile carrier wallet
MerpayJapanLinked to Mercari marketplace

📤 Request: SmartEWalletPayload

FieldTypeRequired?Description
paymentMethodApmMethodYes (default)Always SMART_E_WALLET
paymentTypeApmFlowTypeYes (default)Always E_WALLET
walletIdString?OptionalPre-selected or vaulted wallet ID
walletCredentialString?OptionalToken or credential used for auto-login or auth
walletCurrencyString?OptionalOptional override for wallet currency
walletHolderEmailString?OptionalEmail for user reconciliation or compliance
walletHolderNameString?OptionalWallet user’s full name, used for display or validation
userTokenString?OptionalToken for session-based routing and continuity
userIdString?OptionalMerchant's internal or external user ID for user association

📥 Response: SmartEWalletResponseData

FieldTypeRequired?Description
paymentMethodApmMethodYesAlways SMART_E_WALLET
paymentTypeApmFlowTypeYesAlways E_WALLET
redirectUrlString?OptionalRedirect the user to this URL to complete the payment
iframeUrlString?OptionalIf supported, use this for an embedded experience
providerTransactionIdStringExternal transaction reference from the provider
sessionTokenString?OptionalToken used for polling, continuation, or post-processing
walletHolderNameString?OptionalFull name, if available from provider
walletMetadataMap<String, String>?OptionalAdditional details (e.g., expiry, country code, display name)
walletIdString?OptionalEchoed or resolved wallet ID
walletCredentialString?OptionalAuth token returned for reuse or vaulting
walletCurrencyString?OptionalCurrency used in the transaction
walletHolderEmailString?OptionalEmail tied to the transaction or wallet
userTokenString?OptionalEchoed user token for tracking
userIdString?OptionalEchoed user ID for consistency and mapping

✅ Best Practices

  • PasswalletHolderEmail and walletHolderName if required by the region or provider.
  • Use userTokenoruserId to link users across sessions and simplify routing logic.
  • Support bothredirectUrl and iframeUrl — display whichever is returned.
  • Consider vaultingwalletId and walletCredential to streamline future payments.
  • Use walletMetadata for post-payment display (e.g., wallet logo, account alias, or limits).
  • Gracefully handle failures or timeouts with a retry or fallback redirect.