List Billers
API vendors can retrieve a list of billers and their products from this endpoint.
warning
Since this response payload can be large, do not list all billers frequently as it will have a performance impact on your application. Filter down to specific billers after a webhook notification.
note
Biller configurations should be stored in your application database.
Request
GET https://billpay.paynow.co.zw/api/payment/ListBillers
Or filter by specific biller codes:
GET https://billpay.paynow.co.zw/api/payment/ListBillers?billerCodes=ABC,DEF,GHI
Biller
| Field | Type | Description |
|---|---|---|
| Code | String | Unique identifier for the biller |
| Name | String | Name of the biller |
| Description | String | Description for the biller |
| IconUrl | String | URL to the icon image on BillPay |
| LogoUrl | String | URL to the logo image on BillPay |
| ReferencePrefix | String | Transaction reference prefix in BillPay |
| Enabled | Boolean | If false, payments will not be allowed |
| MemberNumberFieldDesc | String | Brief description about the member number input |
| MemberNumberFieldLabel | String | Label for the member number input (e.g. Mobile Number, Account Number) |
| MemberNumberFieldRegex | String | Regex pattern the member number must conform to (if any) |
| AllowMultipleProductsPerPayment | Boolean | Whether multiple products can be paid in a single transaction |
| MetaTitle | String | Can be used as HTML meta title |
| MetaDescription | String | Can be used as HTML meta description |
| Products | List<Product> | List of products belonging to the biller |
| VendorMustInvoicePayments | Boolean | Whether the vendor is required by law to generate a VAT invoice for each payment (BillPay can automate via CloudESD) |
Product
| Field | Type | Description |
|---|---|---|
| Code | String | Unique identifier for a product |
| Name | String | Name of the product |
| Description | String | Description for the product |
| Price | Decimal (nullable) | Price of the product. Can be null if AUTH returns the price or if the product is free-priced |
| Department | String (nullable) | Department to which the product belongs |
| RequiresForex | Boolean (nullable) | true = forex required, false = no forex, null = sometimes required (AUTH will determine) |
| ReturnsVouchers | Boolean | Whether the product returns vouchers |
| IconUrl | String | URL to the product icon image |
| LogoUrl | String | URL to the product logo image |
| PrePurchaseInstructions | String | Instructions to show the member before payment (optional) |
| PostPurchaseInstructions | String | Instructions to show the member after payment (optional) |
| AmountFieldLabel | String | Label for the amount input field |
| AmountFieldDesc | String | Brief description about the amount field |
| MinAmount | Decimal (nullable) | Minimum amount allowed (null = no minimum) |
| MaxAmount | Decimal (nullable) | Maximum amount allowed (null = no maximum) |
| NewProduct | Boolean | Whether the product is new |
| InvoiceTitle | String | Title to be used for the invoice |
| Enabled | Boolean | Whether the product is active |
| ReminderDays | Integer (nullable) | If set, remind customer to repurchase after X days |
| AuthAmountMandated | Boolean (nullable) | Whether AUTH returns the product amount (see below) |
| AllowSpecifyQuantity | Boolean | Whether a quantity can be specified |
| QuantityFieldLabel | String | Label for the quantity field (if AllowSpecifyQuantity is true) |
| QuantityFieldDesc | String | Description for the quantity field |
| MetadataFields | Array of ProductMeta | Additional metadata fields |
AuthAmountMandated
| Value | Meaning |
|---|---|
null | The product price should be specified in the AUTH request and remain the same in PAY |
false | The AUTH response will return the price. Part payment is permitted |
true | The AUTH response will return the price. Full payment is required |
ProductMeta
Some products have metadata fields required for additional information (e.g. Liquid Home - Pay As You Go).
| Field | Type | Description |
|---|---|---|
| Name | String | Name of the meta field |
| Required | Boolean | Whether the meta field is required |
| Description | String | Description of the meta field |