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).
walletPhoneNumberString*OptionalMobile number linked to the wallet for authentication or verification.
walletUserIdString*OptionalUnique wallet-specific user identifier.
walletSessionTokenString*OptionalToken used to resume or continue a previous wallet session.
paymentTokenString*OptionalToken provided by the mobile wallet SDK for secure transactions.
paymentTokenTypeString*OptionalIndicates token type (e.g., EMV, PAN_ONLY).
deviceIdString*OptionalUnique device identifier (UUID or platform-specific ID).
deviceModelString*OptionalMobile device model (e.g., iPhone 14).
deviceOsString*OptionalOperating system name and version (e.g., iOS 17, Android 14).
sdkVersionString*OptionalVersion of the wallet SDK used for integration.
authorizationReferenceString*OptionalAuthentication reference (e.g., fingerprint or face authentication session).
customFieldsMap<String, String>*OptionalAdditional provider-specific metadata fields for advanced integrations.
⚠️

Important

Fields marked with * in the Required column are provider-dependent.

Whether a field is required is determined by the selected end provider and the merchant’s commercial agreement .

DTOs are fixed and never change.
The same request schema applies to all providers; only validation rules vary at runtime.


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.