Skip to main content

Introduction

The v2 partner API pays fiat out to bank accounts and merchant QR codes, settled against the crypto fund you hold with AliX. It is frozen but live — see the overview for how it differs from v3, which is where new integrations should start.

This section is the contract: what to send, what comes back, and what every error code means. Unlike the v3 reference — which hands the per-endpoint contract to the API Explorer — these pages carry the field tables themselves, because v2 has no explorer and never will.

Base URLs

EnvironmentBase URL
Sandboxhttps://sandbox.alixpay.com
Productionhttps://api.alixpay.com

Call over HTTPS. Every path is rooted at /api/v2 — for example https://sandbox.alixpay.com/api/v2/orders/create-sell-order. Build and test against the sandbox first.

Integration flow

  1. Get your credentials. A partnerCode, a secretKey, and AliX's public key — issued at onboarding. You generate an RSA key pair and give AliX the public half. Your calling IPs are allowlisted. See Authentication.
  2. Sign every request. There is no login and no token. Each request carries a signature field computed over a canonical string that is specific to that endpoint. This is the part integrations get wrong.
  3. Onboard the user. Submit their KYC and wait for VERIFIED — transaction endpoints reject an unverified user. See KYC.
  4. Quote, then create. Preview the crypto cost, then create the order with your own externalOrderId — which is also the idempotency key.
  5. Track it to completion. Orders settle asynchronously. Register a webhook and poll orders/details; the callback is delivered once and never retried. See Webhooks.

Quick start walks all five, end to end, with real code.

Two things that surprise people

The HTTP status tells you nothing: a business error comes back as HTTP 201. Branch on success and semanticCode, never on the status. See Response format.

The signed string is not the request body. It is a fixed, ordered, pipe-joined subset of specific fields, different for every endpoint, with your secretKey glued on the end. Every endpoint page prints its exact string.

Endpoints

AccountAuthentication

POST /api/v2/account/verifyCheck that your partner code, key, and IP are all working.

FundFund

POST /api/v2/wallet/balanceThe balance of your crypto funding account.

KYCKYC

POST /api/v2/user/submit-kycSubmit an end user's identity documents.
POST /api/v2/user/submit-kyc-supplementBackfill missing fields on a verified user's profile.
POST /api/v2/user/get-kyc-informationRead back a user's KYC profile and status.
POST /api/v2/user/check-access-serviceAsk whether a user may use a service in a currency.

Scan-to-PayScan-to-Pay

GET /api/v2/public/get-qr-code-infoDecode a merchant QR code. No signature needed.
POST /api/v2/public/generate-philippines-qrcodeGenerate a test QR code (Philippines). No signature needed.
POST /api/v2/orders/pricesCurrent crypto prices, and the sell limits.
POST /api/v2/bank/get-supported-banksThe banks available for a fiat currency.
POST /api/v2/bank/account/verifyResolve a bank account to its holder's name.
POST /api/v2/orders/review-sell-orderQuote an order before creating it.
POST /api/v2/orders/create-sell-orderCreate the order and pay the merchant.
POST /api/v2/orders/detailsRead an order back. The source of truth.

CashoutCashout

POST /api/v2/orders/review-cashoutQuote a cashout before creating it.
POST /api/v2/orders/create-cashoutCreate the cashout and pay the recipient.

WebhooksWebhooks

AliX POSTs to your endpoint when an order settles. There is no endpoint of ours to call; you implement the receiver.