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

{
  "success": false,
  "message": "Transaction is still pending",
  "data": null,
  "error_code": "PAYMENT_PENDING"
}

Example Response – Success

{
  "success": true,
  "message": "Transaction verified successfully",
  "data": {
    "status": "PAYMENT_RECEIVED",
    "is_final": true,
    "payment_address": "0xqjqiq23...",
    "amount_paid": "2000",
    "payment_address_tag": null,
    "origin_asset_code": "USDC",
    "destination_asset_code": "NGN",
    "origin_asset_name": "USD Coin (USDC)",
    "destination_asset_name": "Nigerian Naira",
    "origin_asset_logo": "https://cdn.mykazza.com/assets/usdc.png",
    "destination_asset_logo": "https://cdn.mykazza.com/assets/ngn.png",
    "origin_asset_chain": "BASE",
    "destination_asset_chain": "FIAT"
  }
}

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