apmPayload References
This document provides a complete reference of all payment methods and payment types supported by the Exirom APM API. Use the paymentMethod and paymentType fields in your apmPayload when initiating transactions.
All APM transactions use the same endpoint (POST /api/v1/payments/apm). The apmPayload object varies per payment method — see Initiating a Payment for the full request structure.
#Smart Routing Methods
Smart methods automatically route to the best provider based on the user’s country, currency, device, and merchant configuration. Use these when you want Exirom to handle provider selection.
| Payment Method | Payment Type | Description | Guide |
|---|---|---|---|
SMART_APM | (auto) | Unified smart routing — automatically selects the optimal localized method | Smart Routing |
SMART_E_WALLET | E_WALLET | Smart e-wallet routing across multiple providers | Smart E-Wallets |
SMART_MOBILE_WALLET | MOBILE_WALLET | Smart mobile wallet routing (Google Pay, Apple Pay, etc.) | Smart Mobile Wallets |
SMART_BANK_TRANSFER | BANK_TRANSFER | Smart bank transfer routing | Smart Bank Transfers |
SMART_BANK_TRANSFER_PAYOUT | BANK_TRANSFER | Smart bank transfer payouts | Smart Bank Transfer Payouts |
SMART_QR | E_WALLET | Smart QR code payment routing | QR Payments |
SMART_VOUCHER | VOUCHER | Smart voucher payment routing | Smart Voucher Payments |
SMART_CARRIER_BILLING | CARRIER_BILLING | Smart carrier billing routing | Carrier Billing |
SMART_BNPL | BNPL | Smart Buy Now, Pay Later routing | — |
SMART_APM (auto-routing, minimal payload):
{
"paymentMethod": "SMART_APM",
"paymentType": "E_WALLET"
}SMART_BANK_TRANSFER — accountHolderName is required; provide region-specific routing fields:
{
"paymentMethod": "SMART_BANK_TRANSFER",
"paymentType": "BANK_TRANSFER",
"accountHolderName": "Hans Müller",
"iban": "DE89370400440532013000",
"bic": "COBADEFFXXX"
}| Field | Required | Notes |
|---|---|---|
accountHolderName | Yes | Full name of the account owner |
iban + bic | EU/SEPA | For European bank transfers |
routingNumber + accountNumber | US/ACH | For US bank transfers |
sortCode | Yes (UK) | 6-digit UK sort code |
SMART_CARRIER_BILLING — msisdn is required:
{
"paymentMethod": "SMART_CARRIER_BILLING",
"paymentType": "CARRIER_BILLING",
"msisdn": "+14155552671"
}SMART_MOBILE_WALLET — walletProvider is required:
{
"paymentMethod": "SMART_MOBILE_WALLET",
"paymentType": "MOBILE_WALLET",
"walletProvider": "google_pay"
}SMART_VOUCHER — voucherCode is required:
{
"paymentMethod": "SMART_VOUCHER",
"paymentType": "VOUCHER",
"voucherCode": "VOUCHER-CODE-12345"
}#E-Wallets
All e-wallet methods use the same minimal payload structure — just paymentMethod and paymentType. The provider page handles authentication and user interaction.
{
"paymentMethod": "PAYPAL",
"paymentType": "E_WALLET"
}Replace PAYPAL with any e-wallet method below. All return actionType: REDIRECTION — redirect your user to apmResponseData.redirectUrl.
| Payment Method | Payment Type | Description | Guide |
|---|---|---|---|
PAYPAL | E_WALLET | PayPal payments | Smart E-Wallets |
ALIPAY | E_WALLET | Alipay (China) | Smart E-Wallets |
WECHAT_PAY | E_WALLET | WeChat Pay (China) | Smart E-Wallets |
SKRILL | E_WALLET | Skrill e-wallet | Smart E-Wallets |
NETELLER | E_WALLET | Neteller e-wallet | Smart E-Wallets |
QIWI_EWALLET | E_WALLET | QIWI wallet (Russia/CIS) | Smart E-Wallets |
PAYEER | E_WALLET | Payeer e-wallet | Smart E-Wallets |
WEB_MONEY | E_WALLET | WebMoney (CIS) | Smart E-Wallets |
VENMO | E_WALLET | Venmo (US) | Smart E-Wallets |
CASH_APP_PAY | E_WALLET | Cash App Pay (US) | Smart E-Wallets |
GRAB_PAY | E_WALLET | GrabPay (Southeast Asia) | Smart E-Wallets |
ASTRO_PAY | E_WALLET | AstroPay (Latin America) | Smart E-Wallets |
MERCADO_PAGO | E_WALLET | Mercado Pago (Latin America) | Smart E-Wallets |
DOKU_WALLET | E_WALLET | DOKU Wallet (Indonesia) | Smart E-Wallets |
TRUE_MONEY_WALLET | E_WALLET | TrueMoney Wallet (Thailand) | Smart E-Wallets |
SATISPAY | E_WALLET | Satispay (Italy) | Smart E-Wallets |
GCASH | E_WALLET | GCash (Philippines) | Smart E-Wallets |
DANA | E_WALLET | DANA (Indonesia) | Smart E-Wallets |
GO_PAY | E_WALLET | GoPay (Indonesia) | Smart E-Wallets |
MOMO | E_WALLET | MoMo (Vietnam) | Smart E-Wallets |
SHOPEE_PAY | E_WALLET | ShopeePay (Southeast Asia) | Smart E-Wallets |
D_BARAI | E_WALLET | d-Barai (Japan) | Smart E-Wallets |
MERPAY | E_WALLET | Merpay (Japan) | Smart E-Wallets |
ExPay | E_WALLET | ExPay proprietary wallet | Smart E-Wallets |
#Mobile Wallets
| Payment Method | Payment Type | Description | Guide |
|---|---|---|---|
GOOGLE_PAY | MOBILE_WALLET | Native Google Pay via API | Smart Mobile Wallets |
APPLE_PAY | MOBILE_WALLET | Native Apple Pay via API | Smart Mobile Wallets |
SAMSUNG_PAY | MOBILE_WALLET | Samsung Pay | Smart Mobile Wallets |
HUAWEI_PAY | MOBILE_WALLET | Huawei Pay | Smart Mobile Wallets |
MI_PAY | MOBILE_WALLET | Xiaomi Mi Pay | Smart Mobile Wallets |
LG_PAY | MOBILE_WALLET | LG Pay | Smart Mobile Wallets |
TRUE_MONEY | MOBILE_WALLET | TrueMoney (Thailand) | Smart Mobile Wallets |
PAYTM | MOBILE_WALLET | Paytm (India) | Smart Mobile Wallets |
PHONE_PE | MOBILE_WALLET | PhonePe (India) | Smart Mobile Wallets |
#Bank Transfers & Open Banking
Most bank transfer methods use a minimal payload — just paymentMethod + paymentType. The user is redirected to their bank. For SMART_BANK_TRANSFER, include account details.
Redirect-based (iDEAL, Sofort, EPS, Bancontact, etc.) — minimal:
{
"paymentMethod": "IDEAL",
"paymentType": "BANK_TRANSFER"
}Open Banking — optional enrichment fields:
{
"paymentMethod": "OPEN_BANKING",
"paymentType": "BANK_TRANSFER",
"accountHolderName": "Jane Smith",
"paymentReference": "ORDER-12345",
"paymentDescription": "Product purchase"
}See Smart Bank Transfers for the full SMART_BANK_TRANSFER payload with all routing fields.
| Payment Method | Payment Type | Description | Guide |
|---|---|---|---|
IDEAL | BANK_TRANSFER | iDEAL (Netherlands) | Smart Bank Transfers |
OPEN_BANKING | BANK_TRANSFER | Open Banking (UK/EU) | Smart Bank Transfers |
SOFORT | BANK_TRANSFER | Sofort/Klarna (Germany/Austria) | Smart Bank Transfers |
GIROPAY | BANK_TRANSFER | Giropay (Germany) | Smart Bank Transfers |
EPS | BANK_TRANSFER | EPS (Austria) | Smart Bank Transfers |
BANCONTACT | BANK_TRANSFER | Bancontact (Belgium) | Smart Bank Transfers |
MY_BANK | BANK_TRANSFER | MyBank (Italy) | Smart Bank Transfers |
TRUSTLY | BANK_TRANSFER | Trustly (Nordics/EU) | Smart Bank Transfers |
SEPA_DIRECT_DEBIT | BANK_TRANSFER | SEPA Direct Debit (EU) | Smart Bank Transfers |
SEPA_CREDIT_TRANSFER | BANK_TRANSFER | SEPA Credit Transfer (EU) | Smart Bank Transfers |
MULTIBANCO | BANK_TRANSFER | Multibanco (Portugal) | Smart Bank Transfers |
MBWAY | BANK_TRANSFER | MB WAY (Portugal) | Smart Bank Transfers |
FPX | BANK_TRANSFER | FPX (Malaysia) | Smart Bank Transfers |
POLI | BANK_TRANSFER | POLi (Australia/NZ) | Smart Bank Transfers |
PSE | BANK_TRANSFER | PSE (Colombia) | Smart Bank Transfers |
SPEI | BANK_TRANSFER | SPEI (Mexico) | Smart Bank Transfers |
PRZELEWY24 | BANK_TRANSFER | Przelewy24 (Poland) | Smart Bank Transfers |
BLIK | BANK_TRANSFER | BLIK (Poland) | Smart Bank Transfers |
INTERAC | BANK_TRANSFER | Interac (Canada) | Smart Bank Transfers |
ACH | BANK_TRANSFER | ACH (United States) | Smart Bank Transfers |
RTP | BANK_TRANSFER | RTP Real-Time Payments (US) | Smart Bank Transfers |
FASTER_PAYMENTS | BANK_TRANSFER | Faster Payments (UK) | Smart Bank Transfers |
FED_NOW | BANK_TRANSFER | FedNow (United States) | Smart Bank Transfers |
SWIFT | BANK_TRANSFER | SWIFT international wire | Smart Bank Transfers |
BACS | BANK_TRANSFER | BACS (UK) | Smart Bank Transfers |
NET_BANKING | BANK_TRANSFER | Net Banking (India) | Smart Bank Transfers |
PIX_BANK | BANK_TRANSFER | Pix bank transfer (Brazil) | Smart Bank Transfers |
SBP | BANK_TRANSFER | SBP Fast Payments (Russia) | Smart Bank Transfers |
NBU_INSTANT_PAYMENTS | BANK_TRANSFER | NBU Instant (Ukraine) | Smart Bank Transfers |
ERIP | BANK_TRANSFER | ERIP (Belarus) | Smart Bank Transfers |
KISC | BANK_TRANSFER | KISC (Kazakhstan) | Smart Bank Transfers |
AR_CA | BANK_TRANSFER | ArCa (Armenia) | Smart Bank Transfers |
GIPS | BANK_TRANSFER | GIPS (Kyrgyzstan) | Smart Bank Transfers |
QIWI_BANK_TRANSFER | BANK_TRANSFER | QIWI bank transfer (Russia/CIS) | Smart Bank Transfers |
BRADESCO | BANK_TRANSFER | Bradesco (Brazil) | Smart Bank Transfers |
SANTANDER | BANK_TRANSFER | Santander (Brazil) | Smart Bank Transfers |
ITAU | BANK_TRANSFER | Itau (Brazil) | Smart Bank Transfers |
#QR Code Payments
All QR methods use a minimal payload. The response returns actionType: QR with qrData (Base64 PNG) and optionally qrDeepLink.
{
"paymentMethod": "PIX_QR",
"paymentType": "E_WALLET"
}Replace PIX_QR with any QR method. Decode apmResponseData.qrData from Base64 and render as an <img> tag; use qrDeepLink on mobile for tap-to-pay. See QR Payments guide.
| Payment Method | Payment Type | Description | Guide |
|---|---|---|---|
PIX_QR | E_WALLET | Pix QR (Brazil, BRL only) | QR Payments |
UPI_QR | E_WALLET | UPI QR (India) | QR Payments |
ASTRO_PAY_QR | E_WALLET | AstroPay QR (Latin America) | QR Payments |
ALIPAY_QR | E_WALLET | Alipay QR (China) | QR Payments |
WECHAT_PAY_QR | E_WALLET | WeChat Pay QR (China) | QR Payments |
BLIK_QR | E_WALLET | BLIK QR (Poland) | QR Payments |
PROMPT_PAY | E_WALLET | PromptPay QR (Thailand) | QR Payments |
VN_PAY | E_WALLET | VNPay QR (Vietnam) | QR Payments |
DUITNOW | E_WALLET | DuitNow QR (Malaysia) | QR Payments |
PAY_NOW | E_WALLET | PayNow QR (Singapore) | QR Payments |
INSTA_PAY_QR | E_WALLET | InstaPay QR (Philippines) | QR Payments |
QRIS | E_WALLET | QRIS (Indonesia) | QR Payments |
CO_DI | E_WALLET | CoDi QR (Mexico) | QR Payments |
TK_PAY_QR | E_WALLET | TK Pay QR | QR Payments |
#Carrier Billing
| Payment Method | Payment Type | Description | Guide |
|---|---|---|---|
BOKU | CARRIER_BILLING | Boku (global carrier billing) | Carrier Billing |
FORTUMO | CARRIER_BILLING | Fortumo (global) | Carrier Billing |
DOCOMO | CARRIER_BILLING | NTT Docomo (Japan) | Carrier Billing |
SMART_SMS | CARRIER_BILLING | Smart SMS (Philippines) | Carrier Billing |
GLOBE_SMS | CARRIER_BILLING | Globe SMS (Philippines) | Carrier Billing |
TELCOMSEL | CARRIER_BILLING | Telkomsel (Indonesia) | Carrier Billing |
MTN | CARRIER_BILLING | MTN (Africa) | Carrier Billing |
VODACOM | CARRIER_BILLING | Vodacom (Africa) | Carrier Billing |
TELENOR | CARRIER_BILLING | Telenor (Norway/Asia) | Carrier Billing |
#Hosted Payment Page (HPP) Methods
| Payment Method | Payment Type | Description | Guide |
|---|---|---|---|
EXTERNAL_HPP_APPLE_PAY | E_WALLET | Apple Pay via external HPP | Apple Pay HPP |
EXTERNAL_HPP_GOOGLE_PAY | E_WALLET | Google Pay via external HPP | Google Pay HPP |
EXTERNAL_HPP_BLIK | BANK_TRANSFER | BLIK via external HPP | BLIK HPP |
EXTERNAL_HPP_EFT | BANK_TRANSFER | EFT via external HPP | EFT HPP |
#Regional / Direct Methods
These methods require specific fields in the apmPayload. Missing required fields will result in a validation error.
| Payment Method | Payment Type | Description |
|---|---|---|
PAPARA | E_WALLET | Papara (Turkey) — requires account credentials |
TK_PAY | BANK_TRANSFER | TK Pay EFT (Turkey) — requires user identity |
TK_PAY_QR | E_WALLET | TK Pay QR (Turkey) — requires user identity |
TK_PAY_PAYOUT | BANK_TRANSFER | TK Pay payout (Turkey) — requires full bank details |
PY_BANK_PAYIN | BANK_TRANSFER | PY Bank pay-in |
PY_BANK_PAYOUT | BANK_TRANSFER | PY Bank payout — requires bank account details |
PAY_BY | E_WALLET | PayBy (UAE) |
BNPL | BNPL | Buy Now, Pay Later |
#PAPARA (Turkey)
paymentMethod: PAPARA | paymentType: E_WALLET
| Field | Type | Required | Description |
|---|---|---|---|
username | String | Yes | Customer's Papara username |
userID | String | Yes | Customer's Papara user ID |
fullname | String | Yes | Customer's full name |
accountHolderName | String | No | Account holder name (optional) |
{
"paymentMethod": "PAPARA",
"paymentType": "E_WALLET",
"username": "customer_username",
"userID": "12345678",
"fullname": "Ahmet Yılmaz"
}#TK Pay EFT (Turkey)
paymentMethod: TK_PAY | paymentType: BANK_TRANSFER
| Field | Type | Required | Description |
|---|---|---|---|
username | String | Yes | Customer's TK Pay username |
userID | String | Yes | Customer's TK Pay user ID |
fullname | String | Yes | Customer's full name |
{
"paymentMethod": "TK_PAY",
"paymentType": "BANK_TRANSFER",
"username": "customer_username",
"userID": "12345678",
"fullname": "Ahmet Yılmaz"
}#TK Pay QR (Turkey)
paymentMethod: TK_PAY_QR | paymentType: E_WALLET
| Field | Type | Required | Description |
|---|---|---|---|
username | String | Yes | Customer's TK Pay username |
userID | String | Yes | Customer's TK Pay user ID |
fullname | String | Yes | Customer's full name |
{
"paymentMethod": "TK_PAY_QR",
"paymentType": "E_WALLET",
"username": "customer_username",
"userID": "12345678",
"fullname": "Ahmet Yılmaz"
}#TK Pay Payout (Turkey)
paymentMethod: TK_PAY_PAYOUT | paymentType: BANK_TRANSFER
| Field | Type | Required | Description |
|---|---|---|---|
username | String | Yes | Customer's TK Pay username |
userID | String | Yes | Customer's TK Pay user ID |
fullname | String | Yes | Customer's full name |
accountHoldersName | String | Yes | Bank account holder name |
iban | String | Yes | IBAN for the destination bank account |
accountNumber | String | Yes | Bank account number |
bankId | String | No | Bank identifier (optional) |
{
"paymentMethod": "TK_PAY_PAYOUT",
"paymentType": "BANK_TRANSFER",
"username": "customer_username",
"userID": "12345678",
"fullname": "Ahmet Yılmaz",
"accountHoldersName": "Ahmet Yılmaz",
"iban": "TR330006100519786457841326",
"accountNumber": "519786457841326"
}#PY Bank Payout
paymentMethod: PY_BANK_PAYOUT | paymentType: BANK_TRANSFER
| Field | Type | Required | Description |
|---|---|---|---|
bankName | String | Yes | Name of the destination bank |
bankCode | String | Yes | Bank code |
accountNumber | String | Yes | Bank account number |
localCountryCurrencyIso3Code | String | Yes | 3-letter ISO currency code (e.g. PYG) |
bankAccountHolderName | String | Yes | Full name of the account holder |
{
"paymentMethod": "PY_BANK_PAYOUT",
"paymentType": "BANK_TRANSFER",
"bankName": "Banco Continental",
"bankCode": "006",
"accountNumber": "1234567890",
"localCountryCurrencyIso3Code": "PYG",
"bankAccountHolderName": "Carlos Rodríguez"
}#PY Bank Pay-in
paymentMethod: PY_BANK_PAYIN | paymentType: BANK_TRANSFER
No additional fields required beyond paymentMethod and paymentType.
#Supported Payment Types (PaymentType)
The paymentType field categorizes how the transaction is processed:
| Payment Type | Description |
|---|---|
BANK_TRANSFER | Account-to-account bank transfers |
CARD_PAYMENT | Card-based payments (credit, debit, prepaid) |
E_WALLET | Electronic wallet payments |
MOBILE_WALLET | Native mobile wallet apps (Google Pay, Apple Pay, etc.) |
CASH | Cash payments via supported channels |
VOUCHER | Voucher or gift code payments |
CARRIER_BILLING | Charges added to mobile phone bill |
BNPL | Buy Now, Pay Later installment payments |
#Smart APM Routing
When using SMART_APM, the platform automatically classifies and routes transactions to the most appropriate smart payment handler based on:
- Market and country of the user
- Currency and payment amount
- User device and payment context
- Merchant configuration and supported providers
Smart methods (prefixed with SMART_) handle provider selection automatically. Use direct methods (e.g., PAYPAL, IDEAL) when you want to specify the exact payment method.
Note: All APM methods use the same
POST /api/v1/payments/apmendpoint. TheapmPayloadobject structure varies per payment method. For request/response details, refer to the dedicated guide linked in each method’s row above.