Skip to content

PIX checkout

PIX checkout is the rail where the buyer does not leave your site. They enter name and CPF, pay the QR, and USDT is delivered to the partner wallet on file.

Use this path when the person arrives ready to pay in BRL. The classic TRP checkout remains for buyers who already hold USDT and sign with TonConnect.

  1. Your backend creates the checkout with the API key (POST /v1/c). TRP generate does not open this rail.
  2. You open or embed https://api.tonramp.io/v1/c/{id}.
  3. The buyer enters name and CPF (GOWD requires the real payer) and pays the PIX.
  4. The webhook sends paid when PIX lands and completed when USDT arrives in your wallet.
  5. Release the order only on completed.

No Telegram, TON wallet or TonRamp account is required at purchase time.

Terminal window
curl -X POST https://api.tonramp.io/v1/c \
-H "Content-Type: application/json" \
-H "Authorization: Bearer tonr_YOUR_API_KEY" \
-d '{
"amount": 10.00,
"currency": "USDT",
"tx_id": "order-001"
}'

Response (200):

{
"success": true,
"id": "c_ab12cd34ef56ab78",
"url": "https://api.tonramp.io/v1/c/c_ab12cd34ef56ab78",
"tx_id": "order-001",
"status": "pending",
"amount_usdt": "10.000000",
"amount_brl": "54.20",
"needs_payer": true
}

tx_id is your order identifier. Creating again with the same tx_id reuses the active checkout.

GET /v1/c/{id} in a browser serves the page (name, CPF, QR). With Accept: application/json or ?format=json it returns state:

Field Meaning
status pending, paid, completed, error, expired, cancelled, refunded
needs_payer name and CPF still required to issue the QR
pix_copy_paste PIX copy-and-paste, after the QR is issued
amount_brl / amount_usdt amount charged and USDT you receive

POST /v1/c/{id}/pay with { "full_name", "document" } issues the QR. The hosted page already does this.

<iframe
src="https://api.tonramp.io/v1/c/c_ab12cd34ef56ab78"
width="440"
height="640"
style="border: none; border-radius: 12px;"
></iframe>

Register https://yourdomain.com in the console. Otherwise the browser blocks the frame.