Verify Checkout Transaction

After a customer makes payment to the generated address, it is recommended that the transaction status is verified.

Completion times vary depending on the blockchain network used.

You can verify a transaction using its reference_id.

Endpoint

POST

{{baseURL}}/api/checkout/verify-payment-request/

Example Request

curl --location '{{baseURL}}/api/checkout/verify-payment-request/' \
--header 'X-Api-Key: ******************' \
--header 'X-Api-Id: *************' \
--header 'Content-Type: application/json' \
--data '{
  "reference_id": "28212882882"
}'

Request Body Parameters

Name
Type
Required
Description

reference_id

string

βœ… Yes

The unique transaction reference ID returned during checkout initiation.


Example Response – Pending


Example Response – Success

Response Field Definitions

Field
Type
Description

status

string

Current transaction status. See error codes below.

is_final

boolean

Indicates whether the status is final (no further updates expected).

payment_address

string

Address where the payment was sent.

amount_paid

number

Amount received in crypto, converted to fiat equivalent.

payment_address_tag

string

Memo/tag if required (for networks like XLM or XRP).

origin_asset_code

string

Code of the crypto asset paid (e.g., USDC).

destination_asset_code

string

Code of the fiat currency settled (e.g., NGN).

origin_asset_chain

string

Blockchain/network of the origin asset.

destination_asset_chain

string

Destination settlement type (usually FIAT).


Error & Status Codes

Code
Description

PAYMENT_PENDING

User has not yet made the payment.

PAYMENT_RECEIVED

Exact amount received successfully.

PAYMENT_EXCESS

Overpayment was detected (more than required amount).

PAYMENT_SHORTFALL

Underpayment was detected (less than required amount).


πŸ§‘β€πŸ’» Developer Notes

  • Always verify transactions via this endpoint or webhook callbacks before confirming order delivery.

  • Handle non-final states (PAYMENT_PENDING, PAYMENT_SHORTFALL, PAYMENT_EXCESS) gracefully in your UI.

  • Use the is_final flag to confirm whether the transaction is complete.

Last updated