Skip to Content
Supported Methods

Supported Methods

Use this page to check supported regions, rails, currencies, and paymentMethodCode values. Each region uses a distinct set of API paths and a distinct settlement wallet.

RegionCollectMerchant pocket (currency)DisplayCheckout
BangladeshBDT e-walletsBDTBDTProvider link from paymentInfo.content
BrazilPIXBRLBRLPIX from paymentInfo (code, url, …)
India H2HINR via UPIUSDTUSDTMerchant-built UPI UI
EuropeEUR/GBP Open BankingUSDCUSDCRedirect to checkoutUrl
NigeriaPermanent NGN VANGNNGNShare accountNumber / bankName / accountName
CanadaInterac collectCADCADShow paymentInstructions
KenyaM-Pesa collectKESKESPayer approves on their phone
PYUSDPYUSD on EthereumPYUSD-USDCPYUSD USDCEthereum deposit address

PYUSD USDC is not Europe USDC. EUR payouts and Europe spend debit USDC only. They cannot spend PYUSD-USDC.

RegionRailPay-in API
Bangladeshbangladesh/v1/payins
Brazilbrazil/v1/br/payins
Indiaindia/v1/h2h/*
Europeeurope/v1/eur/*
Nigerianigeria/v1/ngn/*
Canadacanada/v1/cad/*
Kenyakenya/v1/ke/*
PYUSDpyusd/v1/pyusd/payment-intents

Bangladesh (BDT)

Payment MethodPayment Method CodeMin Amount (BDT)/Per TrxMax Amount (BDT)/Per Trx
E-WalletBKASH20025,000
E-WalletNAGAD20025,000
E-WalletUPAY20025,000

How to use in API payload

Set the paymentMethodCode field in your Bangladesh PAYIN request:

{ "amount": "500", "paymentMethodCode": "BKASH" }

See Bangladesh → Pay-in.

POST /v1/payins and POST /v1/payouts may return 503 { "code": "payment_unavailable" } while the Bangladesh rail is paused.

Brazil (PIX / BRL)

Payment MethodPayment Method CodeMin Amount (BRL)/Per TrxMax Amount (BRL)/Per Trx
PIXPIX10.0015,000.00

How to use in API payload

{ "amount": "100.00", "paymentMethodCode": "PIX" }

Pay-ins and payouts use /v1/br/payins and /v1/br/payouts. Status polling uses the shared GET /v1/payins/:id and GET /v1/payouts/:id endpoints. The Brazil market must be KYB-approved before /v1/br/* works.

See Brazil → Pay-in.

India (UPI H2H)

MethodAmount quoted asCustomer pays (UPI)Settlement walletNotes
UPI (H2H)INR or USDTAlways INR (converted when amount is USDT)USDTSee Create Pay-in
  • currencySymbol + amount: quote in INR (customer pays that INR) or USDT (customer pays INR equivalent; you receive that USDT).
  • Supported on the merchant API: H2H UPI only (/v1/h2h/*).

See India → Pay-in.

Europe (Open Banking)

MethodPay-in currencySettlement walletNotes
Open BankingEUR / GBPUSDCHosted bank widget; redirect to checkoutUrl
Bank payoutEURDebits USDCMay require an explicit approve step

See Europe → Pay-in.

Nigeria (NGN virtual account)

MethodCollectSettlement walletNotes
Permanent virtual accountAny-amount NGN bank transferNGNLive only; no create-per-payment
Bank payoutDebits NGNNGN to beneficiary bankName enquiry first

How to use

Provision once:

{ "bvn": "22123456789", "firstName": "Ada", "lastName": "Okafor", "phoneNumber": "+2348012345678", "dateOfBirth": "1990-01-15", "customerEmail": "ada@example.com" }

POST /v1/ngn/virtual-account (requires Idempotency-Key). When ready: true, share accountNumber / bankName / accountName. Payers transfer any amount; Transacty credits NGN and sends payin.completed. Pay-in limits 100–5,000,000 apply when a credit settles.

Payout: GET /v1/ngn/banks → POST /v1/ngn/verify-account → POST /v1/ngn/payouts. The nigeria market must be approved (KYC verified). No sandbox (test keys return 503 payment_unavailable).

See Nigeria → Overview.

Canada (CAD Interac)

MethodCollectSettlement walletNotes
Request MoneyFixed CAD amountCADShow paymentInstructions
Interac emailSender email + Canadian phoneCADNo payment email; payer sends to recipientEmail with security Q/A
Bank / Interac / bill payoutDebits CADCADList institutions, optional verify; biller search for bill pay

How to use

{ "method": "request_money", "amount": "150.00", "merchantReference": "order-9001", "message": "Invoice 9001" }

POST /v1/cad/collects (requires Idempotency-Key). Show paymentInstructions in your checkout. For Interac email, Transacty does not email the payer — they send the e-transfer to recipientEmail using securityQuestion / securityAnswer. Poll GET /v1/cad/collects/:transactionId until credited / settled: true, or wait for payin.completed. Limits 1–50,000 CAD.

Payout: GET /v1/cad/institutions → optional POST /v1/cad/verify-bank → POST /v1/cad/payouts with rail bank, interac_email, or bill. The canada market must be approved (KYC verified). No sandbox (test keys return 503 payment_unavailable). No FX to USDC/USDT.

See Canada → Overview.

Kenya (M-Pesa / KES)

MethodCollectSettlement walletNotes
M-Pesa collectPayer MSISDN; approve on phoneKES20–145,000 KES
M-Pesa payoutDebits KESKES to MSISDN20–250,000 KES; optional fee quote

How to use

{ "amount": "500", "accountNumber": "254712345678", "accountName": "Jane Doe", "merchantReference": "order-42", "description": "Invoice 42" }

POST /v1/ke/collects (requires Idempotency-Key). Prompt the payer to approve on their phone. Poll GET /v1/ke/collects/:transactionId until success / failed, or wait for payin.completed. Native KES ledger — no FX to USDC/USDT.

Payout: optional GET /v1/ke/payouts/fee-quote?amount= then POST /v1/ke/payouts (MSISDN + name inline). The kenya market must be approved (KYC verified). No sandbox (test keys return 503 payment_unavailable).

See Kenya → Overview.

PYUSD (Ethereum → PYUSD USDC)

MethodCollectSettlement pocketDisplayNetworkNotes
One-time payment intentPYUSDPYUSD-USDCPYUSD USDCEthereumLive only; credit when settlementStatus is settled

How to use

{ "amount": "25.00", "merchantReference": "order-4821", "expiresInMinutes": 30 }

Create with POST /v1/pyusd/payment-intents (requires Idempotency-Key). Poll GET /v1/pyusd/payment-intents/:transactionId. Settlement credits a dedicated PYUSD USDC pocket (PYUSD-USDC), separate from Europe USDC. There is no merchant PYUSD withdraw in this phase. EUR payouts cannot debit this pocket. The pyusd market must be approved; Tekko has no sandbox (test keys return 503 payment_unavailable).

See PYUSD → Overview.

Last updated on