Skip to content

Delivery and SMS ​

Delivery and SMS ​

GET /api/v1/payouts/{reference}/delivery requires payouts:delivery. It returns 409 PENDING_CONFIRMATION unless the payout is paid. Example paid voucher response, with synthetic collection codes:

json
{
  "success": true,
  "data": {
    "pin": "EXAMPLE-PIN",
    "serial": "EXAMPLE-SERIAL",
    "instructions": "Follow the voucher issuer's redemption instructions.",
    "expires_at": null
  }
}

PIN, serial and instructions can be null. expires_at is optional and can be null; when supplied, its value comes from the provider. Do not assume a date format that the provider has not supplied. Every delivery read is audited.

  • Standard Bank Instant Money and Nedbank Cardless return collection codes. POST /api/v1/payouts/{reference}/resend-sms requires payouts:write and a paid payout. At most three resend attempts are allowed per payout, at least 30 minutes apart. Failed or unconfirmed attempts also consume this allowance. The provider can impose further limits. Success returns { "success": true, "data": null } and does not confirm SMS delivery.
  • RTC EFT is a bank credit. Delivery fields can be null and SMS resend returns 422 METHOD_UNAVAILABLE.
  • Voucher delivery is the vendor's responsibility. This service does not send a voucher SMS. SMS resend returns 422 METHOD_UNAVAILABLE for vouchers.

Access and responses ​

Delivery requires payouts:delivery and is available only for paid payouts. Collection codes are sensitive; restrict access to the recipient and authorised staff. The delivery endpoint wraps the delivery object in {"success":true,"data":{...}}.

POST /api/v1/payouts/{reference}/resend-sms requires payouts:write. It requests another delivery SMS without making another payout. A successful response is {"success":true,"data":null}. See fixed errors for unavailable methods and resend limits.

Delivery fields ​

FieldTypeRequiredDetails
pinstring or nullYes
serialstring or nullYes
instructionsstring or nullYes
expires_atstring or nullOptionalOptional provider expiry value; no common date format is guaranteed.