Retrieve Payment Details
Fetch the current state of a single HellOOpass payment by its identifier.
Placeholder API contract
Path, headers, and fields below are illustrative until the final HellOOpass API contract is published.
GET
/v1/payments/{payment_id}Returns the payment resource for a single payment identifier.
Authentication: Secret API key (Bearer)
Use this from your backend to look up the latest state of a payment. It is the same call behind Verify Payment.
Path parameters
| Parameter | Type | Required | Example |
|---|---|---|---|
payment_id | string | Yes | pay_01HZX9K2EXAMPLE |
Request headers
| Header | Value | Required |
|---|---|---|
Authorization | Bearer YOUR_SECRET_API_KEY | Yes |
Example request
curl https://sandbox-api.helloopass.example/v1/payments/pay_01HZX9K2EXAMPLE \
-H "Authorization: Bearer YOUR_SECRET_API_KEY"Response — 200 OK
{
"id": "pay_01HZX9K2EXAMPLE",
"status": "succeeded",
"amount": 1000,
"currency": "ETB",
"reference": "order_1024",
"checkout_url": "https://checkout.helloopass.example/session/01HZX9K2EXAMPLE",
"expires_at": "2026-10-20T18:30:00Z",
"metadata": { "order_id": "1024" }
}| Field | Description |
|---|---|
id | Payment identifier — store it with your order |
status | Latest status — see Payment Statuses |
amount | Amount charged, in the smallest currency unit |
currency | Currency of the charge |
reference | Your original reference, echoed back |
metadata | Your metadata, echoed back in webhooks |
Errors
| HTTP | Code | Action |
|---|---|---|
401 | unauthorized | Check API key and environment |
404 | not_found | Verify the payment_id and environment — a sandbox id will not resolve in production |
429 | rate_limited | Back off and retry with jitter |
Notes
- Poll conservatively — prefer webhooks and reserve this call for Verify Payment and back-office lookups.
- Related: Cancellation and Expiration