API: https://api.nowpayments.io/v1
Callback: https://jalens.tail21514c.ts.net/webhooks/now_payments
Ready
Preselecting a currency fixes it: NOWPayments drops its own "1. Choose asset" step, so a too-small amount would leave the payer no route. That is why a preselect below the store minimum is refused before an invoice exists.
Invoice built with USDTBSC: the payment page goes straight to sending the deposit.
Hosted page shows USDCBSC first (set in dashboard Payments Settings → Currencies → Preferred currencies)
Open invoice{
"id": 37,
"processor_id": "6159768299",
"amount": 10,
"currency": "usd",
"data": {
"payment_method_type": "crypto",
"invoice_id": 6222218176,
"invoice_url": "https://nowpayments.io/payment/?iid=6222218176",
"order_id": "select-27fb120e1aad",
"reconciliation": {
"status": "manual_payment_association_required",
"invoice_id": "6222218176",
"message": "NOWPayments payment id was not received; associate the supplier payment before syncing"
},
"payment_id": 6159768299,
"pay_currency": "usdtbsc",
"pay_address": "0x4ABBd124a4a6dDabad24df77909c149b36E7E221",
"pay_amount": 0.09986878,
"actually_paid": 0.09986878,
"payment_status": "finished",
"updated_at": "2026-09-17T06:51:20.278Z",
"payment_ids": [
"6159768299"
]
},
"object": {
"payment_id": 6159768299,
"invoice_id": 6222218176,
"payment_status": "finished",
"pay_address": "0x4ABBd124a4a6dDabad24df77909c149b36E7E221",
"payin_extra_id": null,
"price_amount": 0.1,
"price_currency": "usd",
"pay_amount": 0.09986878,
"actually_paid": 0.09986878,
"pay_currency": "usdtbsc",
"order_id": "select-27fb120e1aad",
"order_description": "Pay gem two-step invoice",
"purchase_id": 5051177472,
"outcome_amount": 0.03792399,
"outcome_currency": "usdtbsc",
"payout_hash": "partner_liability_tx_d948d9ed26990eced21c5ffbf80d89e5139c0ecf341847bb12e3af32693aaf27",
"payin_hash": "0x9554d3f0b1da234106ec20bb4bc9a2379be154ca13775fb89e3b590e571f9034",
"created_at": "2026-09-17T06:49:51.464Z",
"updated_at": "2026-09-17T06:51:20.278Z",
"burning_percent": "null",
"type": "crypto2crypto",
"status": "succeeded",
"paid": true
}
}