Skip to Content
CanadaCanada API Reference (Merchant Server)

Canada API Reference (Merchant Server)

All endpoints use HMAC authentication on https://api.transacty.ai. Live API keys only — a test key returns 503 payment_unavailable. The canada market must be approved (and KYC verified) or /v1/cad/* returns 403 market_not_enabled.

Settlement currency is CAD. There is no FX swap to USDC/USDT on this rail.

Collect

MethodPathScopePurpose
POST/v1/cad/collectspayin:createCreate Interac collect. Show paymentInstructions (Interac email: no outbound payment email). Idempotency-Key required
GET/v1/cad/collects/:transactionIdpayin:createGet collect status

Payout

MethodPathScopePurpose
GET/v1/cad/institutionspayout:createList banks — use items[].identifier as institutionIdentifier (not a 3-digit institution number)
POST/v1/cad/verify-bankpayout:createOptional bank verify (institutionIdentifier, accountNumber, sortCode)
GET/v1/cad/bills/searchpayout:createSearch billers (?query=)
POST/v1/cad/payoutspayout:createCreate CAD payout (rail: bank | interac_email | bill). Idempotency-Key required
GET/v1/cad/payouts/:transactionIdpayout:createGet payout status

Shared read endpoints

MethodPathNotes
GET/v1/transactionsFilter type=payin|payout only; then filter rail === "canada" in your app
GET/v1/transactions/:transactionIdStatus poll; same rail fields
GET/v1/balanceRead items[] — Canada is CAD
PATCH/v1/me/webhookRegister the URL for Transacty → merchant events

Settlement

  • Collect credits the CAD wallet when the deposit is credited (settled: true).
  • Payouts debit CAD immediately and send CAD via bank, Interac email, or bill pay.
  • CAD is a separate wallet pocket. CAD payouts cannot spend USDC, PYUSD-USDC, or NGN.
  • Limits: 1–50,000 CAD for collect and payout.

Webhook events

When configured, Transacty sends payin.completed / payin.failed and payout.completed / payout.failed. Payload currency for CAD money movements is CAD. The same webhook URL serves all rails. See Webhooks.

Common errors

HTTPMeaning
400Validation (amount, phone, missing beneficiary) or insufficient CAD
401Missing/invalid HMAC
403Missing scope, KYC, or canada market not approved
503payment_unavailable — live-only rail, provider not configured, or circuit open

Body often includes { "error", "message", "code?" }. Prefer code when present.

Last updated on