Payment Verify
After you receive a payment notification (callback or redirect), call Payment Verify to confirm status for your store and, when you need it, to read on-chain settlement data for that payment in one response.
You do not need a separate blockchain API for reconciliation: transaction hashes, explorer links, confirmations, deposit address, asset/network metadata, and credited amounts are returned in the settlement object (for valid, authorized requests).
Verify a Payment
POST https://api.paymento.io/v1/payment/verify
Headers
Api-key
Your Merchant API Key
Content-Type
application/json
Accept
application/json
The API key must belong to the same merchant that owns the payment. If the token is unknown or belongs to another store, the response is success: false with message: "Invalid Token" (same as an invalid token).
Body
token
string
false
Payment token from the payment request.
Response envelope
success
boolean
true only when the order is in Approve status after this call (see below).
message
string
Error or auxiliary text (e.g. "Invalid Token").
body
object
Payment details and optional settlement.
body fields
body fieldstoken
string
Payment token.
orderId
string
Your reference from additionalData with key OrderId (removed from additionalData in the response).
orderStatus
string
Current payment status (see Order status).
additionalData
array
Remaining { key, value } pairs from the order.
settlement
object
On-chain / settlement context. Present for every authorized verify; omitted when the token is invalid or unauthorized.
On-chain data (settlement)
settlement)Use settlement when you need blockchain context without calling your own node or explorer APIs.
expectedCryptoAmount
number
Amount the customer was asked to pay (crypto).
requestedFiatAmount
number
Fiat amount quoted for the order, if set.
receivedCryptoAmount
number
Sum of normalized amounts already credited (Mempool, InBlock, Completed transactions).
pendingTxHash
string
Expected transaction hash before any tx is persisted (wallet-signed flow). Not duplicated inside transactions.
toAddress
string
Deposit address for this payment.
asset
string
Asset symbol (e.g. USDT, ETH).
network
string
Network name when configured.
standard
string
Token standard: Native, ERC20, TRC20, SPL, etc.
contractAddress
string
Token contract address when applicable.
transactions
array
Persisted on-chain transactions for this order (may be empty).
settlement.transactions[]
settlement.transactions[]txHash
string
On-chain transaction id.
explorerUrl
string
Block explorer link when configured.
amount
number
Normalized amount credited for this transaction.
confirmations
number
Confirmations vs chain tip when height data is available; otherwise null.
requiredConfirmations
number
Confirmations required for this asset.
status
string
Pending, Mempool, InBlock, Completed, or Revert.
blockHeight
number
Block height when known.
detectedAt
string
When Paymento first detected the transaction (ISO 8601).
confirmedAt
string
When the transaction reached Completed, if known.
fromAddresses
string
Sender address(es) as stored.
toAddress
string
Recipient / deposit address for this tx.
Fields may be null when the underlying data is not available. Paymento does not invent chain data.
success vs orderStatus
success vs orderStatusSituation
success
What to do
Order is Approve (verified by your store)
true
Fulfill the order.
Order is Paid but not yet verified
false
Check orderStatus; call verify again after you are ready to mark verified (first successful verify moves Paid β Approve).
Order is WaitingToConfirm, PartialPaid, Pending, etc.
false
Valid token; wait or show status using orderStatus and settlement.
Invalid or unauthorized token
false
message is Invalid Token; settlement is omitted.
Important: success: false does not always mean a bad token. Always read body.orderStatus and settlement.
Order status
Common orderStatus values:
Initialize
Payment request created.
Pending
Customer selected a coin.
PartialPaid
Paid less than the order amount.
WaitingToConfirm
Transaction seen on-chain; awaiting confirmations.
Paid
Required confirmations reached.
Approve
Verified by merchant (verify returned success: true).
Timeout
Payment window expired.
UserCanceled
Customer canceled at checkout.
Reject
Payment rejected / no longer monitored.
Revert
Chain reorg or reversal (when applicable).
Examples
Integration notes
Callbacks + verify: Use webhooks or redirect for real-time events; call verify when you need authoritative status and on-chain details for fulfillment.
Idempotent verify: Calling verify again on an already
Approveorder still returnssuccess: true.Backward compatible: Older clients can ignore
settlementandorderStatus; new clients should use them for reconciliation and UX.Amounts: Use
expectedCryptoAmount,requestedFiatAmount, andreceivedCryptoAmountat order level; use each transactionβsamountfor per-tx credited value.
Upon receiving the payment notification, make an API call to confirm the payment status with the token you received.
Last updated