Smart Mobile Wallets

Overview

SMART_MOBILE_WALLET enables merchants to offer payments via mobile-native wallet applications that support token-based payments, app-switching, and mobile authentication. These wallets often integrate at the OS or device level, providing a seamless and secure checkout experience.

Our routing logic automatically determines the best provider based on region, user device, and wallet availability.


Supported Mobile Wallets

Wallet ProviderMarkets SupportedNotes
Apple PayGlobal (iOS)Token-based, secure element; requires Apple device
Google PayGlobal (Android)Supports NFC, in-app, and tokenized flows
Samsung PayGlobalEmbedded in Samsung devices, supports MST and NFC
Huawei PayChinaLimited to Huawei ecosystem
Mi PayChina, IndiaTied to Xiaomi devices
LG PayKoreaDevice-embedded wallet
GrabPaySoutheast AsiaOften categorized under both mobile and e-wallets
GCashPhilippinesTelco-backed wallet with QR and mobile app
TrueMoneyThailandWallet app used for mobile top-ups and bill pay
PaytmIndiaApp-based with wallet + UPI support
PhonePeIndiaMobile-first with UPI and wallet

Payload

Fields

FieldTypeRequired?Description
paymentMethodApmMethodYes (default)Always SMART_MOBILE_WALLET
paymentTypeApmFlowTypeYes (default)Always MOBILE_WALLET
walletProviderString?Wallet name (e.g. google_pay, apple_pay)
walletPhoneNumberString?OptionalAssociated mobile number for auth or verification
walletUserIdString?OptionalWallet-specific user ID
walletSessionTokenString?OptionalUsed for returning user sessions
paymentTokenString?OptionalToken issued from mobile wallet SDK (e.g. PAN token)
paymentTokenTypeString?OptionalType of token (EMV, PAN_ONLY, etc.)
deviceIdString?OptionalDevice UUID or platform ID
deviceModelString?OptionalPhone model (e.g., "iPhone 14")
deviceOsString?OptionalOS name/version (e.g., iOS 17, Android 14)
sdkVersionString?OptionalSDK integration version
authorizationReferenceString?OptionalAuth reference string (e.g., fingerprint auth session)
customFieldsMap<String,String>?OptionalAdditional PSP/provider-specific data

Response

Fields

FieldTypeRequired?Description
paymentMethodApmMethodYesAlways SMART_MOBILE_WALLET
paymentTypeApmFlowTypeYesAlways MOBILE_WALLET
redirectUrlString?OptionalFor app-switch or browser-based completion
iframeUrlString?OptionalIf mobile wallet supports embedded flows
providerTransactionIdString?YesExternal reference from provider
isFinalBooleanOptionalIf true, no further interaction is needed
displayMessageString?OptionalMessage to show to the user
displayInstructionsString?OptionalAny UI instructions (e.g., "Switch back to app")
sessionTokenString?OptionalFor follow-up API or polling
walletMetadataMap<String, String>?OptionalAdditional provider info (e.g., auth method used)

🧠 Best Practices

  • Use walletProvider to route requests explicitly (e.g. google_pay, paytm).
  • Provide paymentToken and paymentTokenType for secure device-based tokenization.
  • Always validate deviceOs, deviceId, and sdkVersion for compliance.
  • Handle both redirectUrl and displayInstructions for hybrid and app-switch flows.
  • Consider walletMetadata for debugging and reconciliation.

Let me know if you want to continue with the next one.