Quick Start
1. Register and add a payment address
Create a merchant account, then in Settings → Payment addresses add the TRON address customers should pay to. Add a TEST (Nile) address to try things out safely.
2. Create an API key
API Keys → New key, environment TEST. Copy the secret — it is shown exactly once.
3. Create an invoice
curl -X POST https://api.usdtpay.ge/api/v1/invoices \
-H "Authorization: Bearer sk_test_xxx" \
-H "Idempotency-Key: order-123" \
-H "Content-Type: application/json" \
-d '{
"amount": "19.99",
"currency": "USD",
"asset": "USDT",
"network": "TRON",
"external_id": "ORDER-123",
"description": "Pro subscription",
"customer": {"email": "customer@example.com"},
"expires_in": 1800,
"metadata": {"order_id": "123"}
}'
Response:
{
"id": "inv_01j…",
"external_id": "ORDER-123",
"status": "pending",
"amount": "19.99",
"currency": "USD",
"crypto_amount": "19.99",
"asset": "USDT",
"network": "TRON",
"payment_address": "T…",
"checkout_url": "https://usdtpay.ge/i/inv_01j…",
"expires_at": "2026-01-01T12:30:00+00:00",
"created_at": "2026-01-01T12:00:00+00:00"
}
4. Redirect the customer
window.location.href = invoice.checkout_url;
5. Handle the webhook
Add an endpoint under Webhooks, verify the signature, and mark the order paid on payment.paid. See Webhooks.