Help

Frequently asked questions

Honest answers for the first-release rails — SMS companion, Binance Pay, and USDT TRC-20.

How does bKash / Nagad confirmation work?

Configure one or more gateways (receiving number + optional QR image) in the dashboard. The buyer Send-Money to the selected account / QR, then pastes the TxID. Scanning a QR or pasting a TxID alone never completes a live payment — the Android companion must upload matching SMS evidence (or you manually Confirm with an auditable reason).

Where does the money go?

To the wallet or address you configure: your bKash/Nagad number, Binance Pay merchant settlement, or your TRC-20 USDT address. GressPay does not hold merchant balances.

Which rails are in this release?

Bangladesh: bKash and Nagad (personal + SMS companion). Crypto when operator-enabled: Binance Pay (official merchant API) and USDT TRC-20 (on-chain verify). India, Pakistan, Nepal, Rocket/Upay/Cellfin, and Bybit are not live in this milestone.

Is Binance Pay the same as Spot API keys?

No. GressPay uses Binance Pay Merchant credentials only. Spot trading, withdrawals, and unrestricted personal API keys are out of scope and must not be pasted into the browser. Buyers never enter an order ID; the server creates the order. Merchant reconcile requires login and is rate-limited.

How is USDT TRC-20 verified?

The buyer sends USDT on TRON only, then pastes the 64-character hash. The server checks the official USDT contract, your Base58 receive address, exact micro-amount, and confirmations. A pasted hash alone never completes a live payment.

Live vs test in the dashboard?

The Live / Test toggle sends X-GressPay-Mode for JWT sessions, or uses gp_live_ / gp_test_ API keys. Hosted checkout inherits the payment link’s ledger mode. Test ledger may simulate SMS rails; live never marks paid from TxID format alone.

Need the API reference?

See backend/GressPay-API.md and the Developers page for scopes, webhooks, and state transitions.