Skip to navigation

Lookup Payment Code

View as Markdown

Resolves a bank or e-wallet transfer destination or merchant / account identifier into the same decode flow as decodeQr: creates a PENDING transaction and returns tx_id.

Use this endpoint when the payer types a destination instead of scanning a QR. Scanned EMV / local QR strings should continue to use decodeQr.

Authentication

  • REQUIRED: Basic Auth Authorization: Basic base64(client_id:client_secret).

Two request contracts

1. Bank / e-wallet transfer destinations (ID, AR, BR, PE, BO, CO, NG, GH, ZM)

Required:

  • customer_id
  • country_code
  • payment_method — must match the corridor:
  • AR, BR, CO → payment_key
  • ID → ewallet or bank_transfer
  • PE → ewallet
  • BO, NG, GH, ZM → bank_transfer
  • payment_destination — the typed destination (PIX key, phone, bank account, BREB key, Indonesia wallet phone or 6–30 digit bank account, or NG/GH/ZM account / mobile-money number). Legacy alias: qr_string.

payment_destination_code is required for:

  • ID e-wallet — DANA, OVO, GOPAY, or SHOPEEPAY (OVO minimum 10,000 IDR)
  • ID bank transfer — 3-digit national bank code or SWIFT. GET /listBanks?country_code=ID returns the published list (code, short_name, swift_code) for accounts with IDR enabled. Lookup accepts any 3-digit code or SWIFT, including codes not in that list.
  • PE — YAPE or PLIN
  • BR — must be PIX
  • CO — must be BREB
  • BO — bank code (see GET /listBanks?country_code=BO)
  • NG / GH / ZM — bank or mobile-money network code (e.g. 058, MTN)

Bolivia-only extras when payment_method is bank_transfer:

  • account_type — SAVINGS or CHECKING
  • recipient — name_first, name_last, ic_number

Sender is never accepted on the request; it is always derived from the registered customer.

2. Merchant / account lookup (KE, TZ, VN)

Required:

  • customer_id
  • country_code — KE, TZ, or VN
  • merchant_id — till/paybill (KE/TZ) or bank account number (VN)

Optional:

  • account_reference — paybill bill reference (KE/TZ) or bank BIN (VN)

Shared optional fields

  • amount, currency
  • partner_transaction_id
  • partner_app_id (1–64 chars [a-zA-Z0-9_-])
  • wallet_identifier

Response

Same curated public shape as decodeQr (tx_id, is_dynamic, amount, country, currency, fees when amount > 0, missing_fields, etc.).

Payout flow: lookupPaymentCode → getQuotation → executePayout.

Authentication

AuthorizationBasic

Basic Auth: base64(client_id:client_secret)

Query parameters

dpintegerOptional0-10Defaults to 2

Decimal places for monetary fields in the response (USD amounts, fees, exchange rates). Default 2, which rounds sub-cent fees to 0. Use dp=4 or higher to reconcile against exact deducted totals: at full precision amount_usd + percentage_fee + fixed_fee equals the amount deducted from your balance. Rounding is applied to the response only; all stored values and balance deductions always use full precision.

Request

This endpoint expects an object.
customer_idstringRequired
country_codestringRequired

ISO alpha-2. Required. Bank / e-wallet transfer destinations: ID, AR, BR, PE, BO, CO, NG, GH, ZM. Merchant lookup: KE, TZ, VN. Indonesia bank codes come from GET /listBanks?country_code=ID and require IDR on the account.

payment_methodenumOptional

Required for bank and e-wallet transfer destinations. Must match the corridor (see endpoint description).

Allowed values:
payment_destinationstringOptional

Destination string (account number, phone or key) for bank and e-wallet transfer corridors. Legacy alias: qr_string.

payment_destination_codestringOptional

Rail or institution code: PIX, BREB, YAPE/PLIN, Indonesia e-wallet code (DANA, OVO, GOPAY, SHOPEEPAY) or 3-digit bank code / SWIFT from listBanks?country_code=ID, Bolivia bank code, or NG/GH/ZM bank/network code.

account_typeenumOptional
Bolivia bank transfers only.
Allowed values:
recipientobjectOptional
Bolivia bank transfers only.
merchant_idstringOptional

Till/paybill (KE/TZ) or bank account number (VN). Used by the merchant lookup contract.

account_referencestringOptional

Paybill account reference (KE/TZ, required for Kenya paybills) or bank BIN (VN).

amountdoubleOptional

Optional local-currency amount. When > 0, pricing may be computed on the response.

currencystringOptional
Optional ISO 4217. Defaults to the corridor currency when omitted.
partner_transaction_idstringOptional
partner_app_idstringOptional

Optional partner sub-app id (1–64 chars, [a-zA-Z0-9_-]).

wallet_identifierstringOptional
qr_stringstringOptional

Legacy alias for payment_destination on bank and e-wallet transfer corridors. Prefer payment_destination.

Response

OK — same shape as decodeQr

is_dynamicbooleanOptional
is_businessbooleanOptional
amountdoubleOptional
merchantstringOptional
merchant_idstringOptional

Africa (KE/TZ) till or paybill number when returned.

merchant_namestringOptional

Africa (KE/TZ) verified merchant display name when returned.

payment_typeenumOptional

Africa (KE/TZ) payment destination type when returned.

Allowed values:
merchant_infoobjectOptional

Africa (KE/TZ) merchant metadata when returned.

countrystringOptional
tx_idstringOptional
currencystringOptional
partner_transaction_idstringOptional
amount_usddoubleOptional
feedoubleOptional
percentage_feedoubleOptional
fixed_feedoubleOptional
missing_fieldslist of maps from strings to anyOptional
suggested_valuesmap from strings to anyOptional
sendermap from strings to anyOptional
recipientmap from strings to anyOptional

Errors

400
Bad Request Error