Voucher API - Pay

Using this API, you will be able to allow customers to pay for products and/or services using WiPay Vouchers. You must have a WiPay Business Verified account to use this API.

(OLD) Your WiPay account level must be at Gold (KYC Level 3) to use this API.


The configuration for the Voucher API calls can be seen below.

NOTE: When testing, please use the SANDBOX API URL.

The configuration for the Voucher API calls can be seen below.

API URL (Live) https://wipayfinancial.com/v1/voucher_pay
API URL (Sandbox) https://sandbox.wipayfinancial.com/v1/voucher_pay
Body Content-Type application/x-www-form-urlencoded
API Response-Type JSON Object

The Voucher API call can be passed with four (4) parameters.

Parameter Description Notes Required

Your WiPay account number.

1. Can be found in your Account Dashboard.


An optional description of the transaction.

1. Must be less than 255 characters long.


The total desired to be subtracted from the voucher value.

1. Must be a value greater than “0”.
2. Must contain no more than two (2) decimal places.
3. Must be numeric only.
4. Rransaction fee of 1.0 - 1.5% is always added to total.

The 12-character voucher serial.

1. Voucher’s current value must be greater than “5”. 

Test Parameters

You may use these parameters to make a test Voucher API call using the Sandbox API URL.

Parameter Valid Test Value(s)
details "This is a test Voucher Payment"
total 0.01 (or more)
voucher uyr8vmap230t

All Voucher API calls return a JSON object. There are two main types of responses; “success” and “error“. These response types can be found in the value of the “status” key in the JSON response object


If all submitted data is valid, you will receive a JSON response object indicating a “success” value for the “status” key. Here, “value” is 5-greater-than-“total” less than the original value of the voucher before the form was submitted. Below is an example of a successful transaction using the Voucher API.

    "status": "success",
    "msg": "Voucher payment successful",
    "trxn_id": "5bda8f887426f",
    "value": "75.00"


error” responses may be received for various reasons. Check the value of the “msg” key in the JSON response object to diagnose what your specific error may be caused by. The following is an example of  an “error” response.

    "status": "error",
    "msg": "Too many attempts"

The possible values of the “msg” key in an “error” type response are as follows:

Error Message Likely Cause
Parameter: account_number is missing

The submitted account_number or developer_id (old) in the API call is empty.

Parameter: account_number is unauthorized

The account attached to the submitted account_number or developer_id (old) in the API call is not Verified or KYC Level too low(old).

Parameter: account_number not found

There is no registered WiPay account with an Account Number that matches the submitted account_number or developer_id (old) in the API call.

Parameter: total cannot be less than 0

The submitted total in the API call is negative.

Parameter: total has incorrect format

The submitted total in the API call is either non-numeric, or has too many decimal places.

Parameter: total is missing

The submitted total in the API call is empty.

Parameter: voucher is missing

The submitted voucher in the API call is empty.

Parameter: voucher not found

There is no registered WiPay Voucher with a Voucher Number that matches the submitted voucher in the API call.

Parameter: voucher value insufficient

The current value of the submitted voucher in the API call is too low to make a successful transaction.

Too many attempts There were more than five (5) API calls within the last sixty (60) seconds.