OmniPayDocs
API referenceDeposits

Get a deposit

GET
/v1/deposits/{id}

Returns a deposit owned by the API key's organization. Redirect deposits need bearer authentication only. H2H deposits also require a valid signature; sign an empty request body.

Poll this endpoint while a deposit is pending, including after redirect checkout or after submitting a payment transaction ID for H2H verification. While a deposit is actionable, next_action is present. It becomes null after expiry or any terminal transition.

Authorization

bearerAuth
AuthorizationBearer <token>

API key created in the OmniPay developer dashboard.

In: header

Path Parameters

id*string

OmniPay deposit ID.

Header Parameters

X-Omni-Timestamp?string

Required for H2H. Current Unix time in whole seconds; accepted within five minutes.

Match^\d+$
X-Omni-Signature?string

Required for H2H. Versioned HMAC signature of the canonical request.

Match^v1=[A-Za-z0-9_-]+$

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/deposits/string"

{  "id": "cm7deposit02",  "amount": "500.00",  "payment_method": "bkash_merchant",  "status": "pending",  "metadata": {    "invoice_id": "INV-123"  },  "merchant_id": "order-123",  "checkout_mode": "h2h",  "expires_at": "2026-07-28T12:05:00.000Z",  "next_action": {    "type": "display_instructions",    "channel": "bkash",    "operation": "make_payment",    "recipient": {      "type": "phone",      "value": "01800000000",      "name": "Example Merchant"    },    "qr_payload": null,    "amount": "500.00",    "currency": "BDT",    "verification": {      "endpoint": "/api/v1/deposits/cm7deposit02/verify",      "required_fields": [        "provider_transaction_id"      ]    }  },  "verification": {    "state": "awaiting_reference",    "attempts_used": 0,    "attempts_remaining": 3  },  "provider_transaction_id": null}