Skip to main content
This guide walks through headless voucher redemption for the full amount and handling the redemption confirmation webhook.

Prerequisites

  • A test API key. See Authentication.
  • A registered webhook endpoint. See Webhook Setup to register your URL and obtain your signing key.

Step 1: Create a redemption

Create a redemption server side using your secret key. The minimum required fields are type and source.pin or source.token. Conform your UI to the required source attributes per type. See the source schema.
amount and currency are optional. Omit both to redeem the voucher’s full value. The example below sets an explicit amount; remove the amount and currency fields to redeem the full value instead.
curl --request POST \
  --url https://api.momentpay.net/collect/redemptions \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "type": "vouchers.one_voucher",
  "source": {
    "pin": "1115684091419838"
  },
  "amount": 1900,
  "currency": "ZAR",
  "external_reference": "order-2026-0001"
}
'
The response includes a status of confirmed and the redeemed_amount.
{
  "id": "rdm_6a0d5c7fe182228a6c64cb78",
  "status": "confirmed",
  "version": 3,
  "type": "vouchers.one_voucher",
  "provider_reference": {
    "serial_number": "20260520082514335162"
  },
  "amount": 1900,
  "reserved_amount": 1900,
  "redeemed_amount": 1900,
  "reversed_amount": 0,
  "currency": "ZAR",
  "operations": [
    {
      "id": "mpd2156u_7cwvqp5m",
      "type": "reserve",
      "status": "succeeded",
      "amount": 1900,
      "provider_reference": {
        "pin": "1115684091419838"
      },
      "created_at": "2026-05-20T08:25:01.014Z"
    },
    {
      "id": "mpd2185c_vz0wyx10",
      "type": "confirm",
      "status": "succeeded",
      "amount": 1900,
      "provider_reference": {
        "serial_number": "20260520082514335162"
      },
      "created_at": "2026-05-20T08:25:14.248Z"
    }
  ],
  "related_ids": [],
  "external_reference": "order-2026-0001",
  "created_at": "2026-05-20T08:24:56.501Z",
  "updated_at": "2026-05-20T08:25:14.249Z"
}

Testing

Use the following 16 digit source.pin (or source.token) to test voucher redemption. The following values are redeemable with all three providers for the indicated amount. Any source.pin besides the values below results in a failure.
source.pin or source.tokenstatusredeemable.amount
12345678901234confirmed
99999999999999confirmed
88888888888888confirmed
anything elsefailed

Next steps