Smart Mobile Wallets

The SMART_MOBILE_WALLET payment method enables merchants to accept payments through mobile-native wallet applications that support token-based payments, app-switching, and mobile authentication.

These wallets are often integrated at the OS or device level, providing customers with a secure and frictionless checkout experience. The Smart APM routing logic automatically selects the best wallet provider based on factors such as region, device type, and wallet availability, ensuring maximum conversion rates with minimal configuration.


Supported Mobile Wallets

Wallet ProviderMarkets SupportedNotes
Apple PayGlobal (iOS)Token-based, secure element; requires Apple devices.
Google PayGlobal (Android)Supports NFC, in-app, and tokenized payment flows.
Samsung PayGlobalEmbedded in Samsung devices; supports MST and NFC.
Huawei PayChinaExclusive to Huawei’s device ecosystem.
Mi PayChina, IndiaIntegrated with Xiaomi devices.
LG PayKoreaDevice-native wallet solution from LG.
GrabPaySoutheast AsiaPopular wallet also categorized under e-wallets.
GCashPhilippinesTelco-backed wallet with QR code and app-based flows.
TrueMoneyThailandCommonly used for mobile top-ups and bill payments.
PaytmIndiaSupports wallet and UPI-based payments.
PhonePeIndiaMobile-first wallet with UPI integration.

Request Payload: SmartMobileWalletPayload

FieldTypeRequired?Description
paymentMethodApmMethodYes (default)Must always be set to SMART_MOBILE_WALLET.
paymentTypeApmFlowTypeYes (default)Must always be MOBILE_WALLET.
walletProviderStringYesThe specific wallet name (e.g., google_pay, apple_pay).
walletPhoneNumberStringOptionalMobile number linked to the wallet for authentication or verification.
walletUserIdStringOptionalUnique wallet-specific user identifier.
walletSessionTokenStringOptionalToken used to resume or continue a previous wallet session.
paymentTokenStringOptionalToken provided by the mobile wallet SDK for secure transactions.
paymentTokenTypeStringOptionalIndicates token type (e.g., EMV, PAN_ONLY).
deviceIdStringOptionalUnique device identifier (UUID or platform-specific ID).
deviceModelStringOptionalMobile device model (e.g., iPhone 14).
deviceOsStringOptionalOperating system name and version (e.g., iOS 17, Android 14).
sdkVersionStringOptionalVersion of the wallet SDK used for integration.
authorizationReferenceStringOptionalAuthentication reference (e.g., fingerprint or face authentication session).
customFieldsMap<String, String>OptionalAdditional provider-specific metadata fields for advanced integrations.

Response Payload: SmartMobileWalletResponseData

FieldTypeRequired?Description
paymentMethodApmMethodYesAlways returns SMART_MOBILE_WALLET.
paymentTypeApmFlowTypeYesAlways returns MOBILE_WALLET.
redirectUrlStringOptionalURL to redirect the user for app-switch or browser-based checkout.
iframeUrlStringOptionalURL for embedding mobile wallet checkout flows within your application.
providerTransactionIdStringYesUnique transaction reference provided by the mobile wallet provider.
isFinalBooleanOptionalIndicates if no further user interaction is needed to complete the payment.
displayMessageStringOptionalA user-facing message during the wallet payment process.
displayInstructionsStringOptionalUI guidance (e.g., “Switch back to your wallet app to complete payment”).
sessionTokenStringOptionalToken for follow-up API calls or status polling.
walletMetadataMap<String, String>?OptionalProvider-specific data for reconciliation, debugging, or audit purposes.

Best Practices

  • Routing: Explicitly set walletProvider (e.g., google_pay, paytm) for targeted payment flows.
  • Tokenization: Always provide paymentToken and paymentTokenType for secure device-based tokenized transactions.
  • Device Validation: Validate deviceOs, deviceId, and sdkVersion to ensure compatibility and compliance.
  • Hybrid Flows: Implement logic to handle both redirectUrl and displayInstructions for smooth app-switch or web-based flows.
  • Metadata Handling: Capture and store walletMetadata for improved debugging, reporting, and dispute management.