Crypto Payments
NexaPay lets merchants create USDT on TRC20 payment sessions, receive funds into a session-specific payment address, settle those funds into the NexaPay crypto balance flow, and credit the merchant’s USDT balance after settlement succeeds.How It Works
- The merchant creates a crypto payment session.
- NexaPay provisions a dedicated collection session for that payment.
- NexaPay generates a
USDTTRC20deposit address. - The merchant shows that address to the customer.
- NexaPay confirms the deposit.
- NexaPay settles the session balance into its parent crypto balance flow.
- The merchant’s
USDT balanceis credited only after settlement succeeds.
Current Scope
- Supported asset:
USDT - Supported network:
TRC20 - One deposit address per payment session
- Session status is currently consumed by polling the API
- Merchant outbound crypto webhook events are not yet part of this release
Create Crypto Payment Session
POST /business/crypto/payments/create
Request Body
Curl Example
Response (Production)
Response (Test Key)
Get One Crypto Payment Session
GET /business/crypto/payments/:paymentId
Example
List Crypto Payment Sessions
GET /business/crypto/payments
Optional Query Parameters
statusmerchantReferencemerchantCustomerIdlimit
Example
Get Crypto Balances
GET /business/crypto/balances
Response
Payment Session Statuses
NexaPay may return statuses such as:INITIATEDADDRESS_PENDINGAWAITING_DEPOSITPENDING_CONFIRMATIONSWEEP_PENDINGSETTLEDUNDERPAIDOVERPAIDEXPIREDMANUAL_REVIEWFAILED
Status Notes
SETTLEDmeans the session deposit has already been settled into the merchant’sUSDT balance.SWEEP_PENDINGmeans the customer payment has been detected and NexaPay is finalizing internal balance settlement.UNDERPAID,OVERPAID, andMANUAL_REVIEWshould be treated as non-final operational states that may require manual handling.
Crypto Balance Behaviour
NexaPay maintains a separate merchantUSDT balance from the normal NGN business wallet.
- Fiat merchant deposits and withdrawals affect the
NGNwallet. - Settled crypto payments affect the
USDTwallet. USDTis not withdrawn on-chain to the merchant.- When the merchant cashes out
USDT, NexaPay converts the selectedUSDTamount toNGNand settles theNGNequivalent to the merchant’s saved bank account.