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 MethodRegionsNotes
AlipayChina (tourists globally)QR scan, redirect, or deep link support
WeChat PayChinaWeChat mini-program or redirect flows
PayPalGlobalApp switch, redirect; supports vaulting
SkrillEuropeLogin-based redirect integration
NetellerEuropePopular for gaming and online betting
QIWIRussia / CISPhone and SMS-based wallet payments
PayeerEastern Europe, CISSupports both fiat and cryptocurrency
WebMoneyRussia / CISRequires KYC; legacy digital wallet usage
VenmoUnited StatesP2P and merchant payments via PayPal
Cash App PayUnited StatesQR-based or app-initiated payments
GrabPaySoutheast AsiaApp-based wallet with QR fallback support
AstroPayGlobal / LATAMPrepaid cards and wallets
Mercado PagoLATAMLinked to MercadoLibre platform
DOKU WalletIndonesiaLocalized IDR-based digital wallet
TrueMoney WalletThailandQR-based, redirect, or app-switch payments
SatispayItalyMobile wallet linked to phone numbers
GCashPhilippinesMainstream local wallet with QR support
mPayThailandMobile telco wallet
DanaIndonesiaE-wallet with QR integration
GoPayIndonesiaRide-hailing-linked wallet
MoMoVietnamMarket leader in Vietnamese digital wallets
ShopeePaySoutheast AsiaIntegrated with e-commerce platform
dBaraiJapanDocomo carrier-backed wallet
MerpayJapanLinked to Mercari marketplace

Request Payload: SmartEWalletPayload

FieldTypeRequired?Description
paymentMethodApmMethodYes (default)Always set to SMART_E_WALLET.
paymentTypeApmFlowTypeYes (default)Always set to E_WALLET.
walletIdString?OptionalPre-selected or vaulted wallet ID for returning customers.
walletCredentialString?OptionalAuthentication token or credential for automatic login.
walletCurrencyString?OptionalOverride currency setting for the wallet transaction.
walletHolderEmailString?OptionalUser’s email for reconciliation or regional compliance.
walletHolderNameString?OptionalFull name of the wallet holder, used for display/KYC.
userTokenString?OptionalSession-based token for routing and tracking continuity.
userIdString?OptionalMerchant-specific user ID to link internal user records.

Response Payload: SmartEWalletResponseData

FieldTypeRequired?Description
paymentMethodApmMethodYesAlways returns SMART_E_WALLET.
paymentTypeApmFlowTypeYesAlways returns E_WALLET.
redirectUrlStringOptionalURL to redirect the user to the wallet’s payment page.
iframeUrlStringOptionalURL for embedded checkout inside the app or website.
providerTransactionIdStringYesUnique transaction reference returned by the wallet provider.
sessionTokenStringOptionalToken for session management, polling, or continuation of payment.
walletHolderNameStringOptionalFull name of the wallet holder, as returned by the provider.
walletMetadataMap<String, String>OptionalAdditional metadata such as expiry date, country code, or account alias.
walletIdStringOptionalWallet ID returned or resolved during the transaction.
walletCredentialStringOptionalAuthentication credential for reusing or vaulting future payments.
walletCurrencyStringOptionalCurrency used for this wallet transaction.
walletHolderEmailStringOptionalEmail tied to the wallet or payment account.
userTokenStringOptionalEchoed token for merchant session correlation and tracking.
userIdStringOptionalEchoed internal or external user ID for merchant-side mapping.

Best Practices

  • Include walletHolderEmail and walletHolderName when required for compliance or local regulations.
  • Use userToken or userId for consistent user tracking across sessions and retries.
  • Support bothredirectUrl andiframeUrl to ensure compatibility with wallet interaction models.
  • Enable wallet vaulting using walletId and walletCredential for smoother repeat transactions.
  • Utilize walletMetadata to enrich post-payment UX (e.g., display wallet logo, account alias).
  • Implement robust failure handling for timeouts or declines, offering retry or fallback flows.