Verify payment
Read the final status before delivering an order.
POST
/v1/payment/verifypayments:readRequest
| Field | Type | Required | Description |
|---|---|---|---|
invoice_id | uuid | Yes | The invoice_id returned by Create payment. |
curl --fail-with-body "$EKMIVO_API_ORIGIN/v1/payment/verify" \
-H "Authorization: Bearer $EKMIVO_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"invoice_id": "550e8400-e29b-41d4-a716-446655440000"
}'Response
200 OK
{
"invoice_id": "550e8400-e29b-41d4-a716-446655440000",
"status": "COMPLETED",
"currency": "BDT",
"reference": "ORDER-123"
}Payment statuses
| Field | Type | Required | Description |
|---|---|---|---|
PENDING | string | — | Payment is not verified. Do not deliver. |
COMPLETED | string | — | Verified; match the order before delivery. |
FAILED | string | — | Verification ended in an exception. |
EXPIRED | string | — | Payment window expired. |
CANCELLED | string | — | Payment was cancelled. |
REFUNDED | string | — | Payment was refunded. |
Before delivery
Deliver only when
status === "COMPLETED" and invoice_id, amount and currency match your order. HTTP 200 alone does not mean paid.