OmniPayDocs
API referenceH2H deposits

Submit an H2H payment transaction ID

POST
/v1/deposits/{id}/verify

Queues strict verification of a display_instructions H2H action. OmniPay checks the payment transaction ID, recipient details, payer phone, payment status, exact amount, and payment window.

The first submission normally returns 202. Submitting the same normalized transaction ID again is idempotent and returns the existing attempt. Only one attempt can process at a time, and a deposit accepts at most three distinct transaction IDs. Redirect actions are confirmed automatically and cannot use this endpoint.

Authorization

bearerAuth h2hSignature
AuthorizationBearer <token>

API key created in the OmniPay developer dashboard.

In: header

X-Omni-Signature<token>

v1= followed by an unpadded base64url HMAC-SHA256 digest.

In: header

Path Parameters

id*string

OmniPay deposit ID.

Header Parameters

X-Omni-Timestamp*string

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

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

Versioned HMAC signature of the canonical request.

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

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

The payer's payment transaction ID for a display_instructions action.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/deposits/string/verify" \  -H "X-Omni-Timestamp: string" \  -H "X-Omni-Signature: string" \  -H "Content-Type: application/json" \  -d '{    "provider_transaction_id": "ABC123DEF4"  }'
{  "deposit_id": "string",  "attempt_id": "string",  "provider_transaction_id": "string",  "status": "string",  "attempt_status": "string",  "deposit_status": "pending",  "failure_code": "string"}