Verify a payment
Returns the current state of a payment. This is the canonical, server-side confirmation. Call it from your server before you fulfil an order, whether you learned of the payment from a webhook, the browser callback or your own polling.
Fulfil only when both of these hold: data.status is success, and data.amount equals the amount you expected for that order. If the status is success but the amount differs, hold the order and investigate.
Verify is read-only and safe to repeat, so retry on network failure or a 5xx response with exponential backoff. A payment that stays pending or processing should be kept in a waiting state rather than failed. Webhooks and later verify calls reflect the final outcome.
Use the key and host of the environment where the payment was created. A sandbox reference looked up on live, or the reverse, returns 404 with transaction.not_found.
Splits. When the payment was initialised with a distribution, data.split summarises how it was allocated. Allocation follows success by a short moment, so a call made in the first instant may not include split yet. The payment is already success and safe to fulfil.
Authorizations
Your secret key. sk_test_… on the sandbox, sk_live_… on live. Server-side only.
Copy it from Settings → Developers in the merchant dashboard.
Authorization: Bearer with the same value is also accepted.
Path Parameters
The reference returned by initialise, for example VPY_TXN_ACME001.