Vouchereto API · v1
Accept vouchers on your platform
Your customers pay with a Vouchereto prepaid voucher instead of a card. You get a signed REST API, two hosted pages that keep codes and cards off your servers, webhooks and weekly settlements. Everything can be tested end to end in the sandbox first.
- QuickstartRedeem your first sandbox voucher in about 10 minutes.
- Environments & test credentialsTest keys, test vouchers, test cards and the local stack.
- API referenceEvery endpoint, field and response.
- SDK & toolsNode SDK, Postman collection, OpenAPI file.
Choose an integration
| Option | Best for | What you build |
|---|---|---|
| Hosted checkout | Top-ups: the customer has no voucher yet | One API call (POST /v1/checkout-sessions), a redirect, a webhook. The customer buys a voucher by card on our page and the amount is applied to your merchant in the same step. |
| Hosted redeem widget | Customers who already hold a code | One API call (POST /v1/redeem-sessions) and a redirect. The code is typed on our page, never on yours. |
| Direct API | Full control of your own UI | Reserve → capture (or cancel) with /v1/redemptions. You collect the code in your UI. |
How a redemption works
A voucher is single-use and is always redeemed for its full value, in two steps. Reserve locks the voucher for up to 30 minutes; nothing moves yet. Capture makes it final and credits your merchant balance; cancel releases it for the customer. A reservation you forget expires on its own. Credit your customer only after a capture.
Basics
| Base URL | https://api.vouchereto.com/v1 |
|---|---|
| Modes | One host. The key decides: vch_test_… = sandbox, vch_live_… = real money. Data never crosses modes. |
| Auth | Authorization: Bearer <key> + an HMAC Vouchereto-Signature on every request. How to sign |
| Format | JSON in and out, amounts in minor units (5000 = $50.00), ISO 4217 currencies, ISO 8601 UTC timestamps |
| Errors | RFC 7807 problem JSON with a stable code and a request_id. All codes |
| Versioning | The version is in the path (/v1). Additive changes (new fields, endpoints, event types) can ship without a new version; ignore unknown fields. Breaking changes get /v2 and advance notice. Changelog |