Skip to main content

Payment Response

The response from BillPay includes all the fields from the payment request plus the following additional fields.

Payment Response Fields

FieldData TypeDescription
StatusStringSee Statuses below
MemberNameStringThe member name
ProductsList<ProductResponse>Products in the response
NarrationStringPopulated for a Failed status
TechnicalNarrationStringTechnical error description (if any)
BillPayReferenceStringUnique reference generated by BillPay
AuthDataAuthResponseDataAuth response data
PaymentDataPaymentResponseDataPayment data after completion
BillerPaymentReferenceStringBiller's payment reference (after payment)
VendorServiceFeeCurrencyString3-character ISO currency code for service fee
VendorServiceFeeDecimal (nullable)Service fee charged to the vendor
CurrencyStringCurrency of vendor wallet debited
WalletDebitReferenceStringVendor's wallet debit reference
WalletBalanceAfterDebitDecimal (nullable)Wallet balance after debit
WalletDebitReversedDateTime (nullable)Date/time of reversal, or null
WalletBalanceAfterReversalDecimal (nullable)Wallet balance after reversal
VendorInvoiceReferenceStringInvoice reference (if auto invoice enabled)
VendorFiscalSignatureStringInvoice fiscal signature (if auto invoice enabled)
VendorFiscalMetadataStringInvoice fiscal metadata (if auto invoice enabled)
VendorReversalReferenceStringUnique reversal reference (if reversed/refunded)

Product Response

FieldData TypeDescription
NameStringProduct name
CodeStringProduct code
QuantityIntegerQuantity of product
DepartmentStringProduct department (if specified)
PriceDecimalProduct price (observe if AUTH returns price)
AccountBalanceDecimal (nullable)Product account balance if available
RequiresForexPaymentBooleanWhether forex payment is required
VouchersArray of ProductVoucherDataVouchers if the product has any
MetadataArray of Key/Value PairsAny metadata submitted
VendorCommissionDecimal (nullable)Commission earned by vendor (in payment currency)

AuthResponseData

FieldData TypeDescription
MemberNameStringThe name of the member
MemberAddressStringThe address of the member
AccountDetailsDictionary<string, string>Key-value pairs of account details
AccountBalancesDictionary<string, string>Key-value pairs of non-monetary balances
AccountBalanceDecimal (nullable)Monetary account balance if any

AccountDetails example:

{
"National Id": "AB-CDEF123",
"Place of Birth": "Harare"
}

AccountBalances example:

{
"Data": "1.75GB",
"Days": "12"
}

PaymentResponseData

FieldData TypeDescription
ReceiptHtmlString arrayFormatted receipt HTML (may include images with fully qualified URLs). May contain multiple entries (e.g. ZETDC prepaid). If populated, the vendor must share each entry individually.
DisplayDataDictionary<string, string>Fields to show the customer after payment (e.g. in email, summary page)
ReceiptSmsesString arraySMS text to send to customer. May contain multiple entries. If populated, the vendor MUST send each SMS individually.

ProductVoucherData

FieldData TypeDescription
SerialNumberStringSerial number of the voucher
PinStringVoucher pin
ValidDaysInteger (nullable)Number of days the voucher is valid
BatchStringVoucher batch
VoucherCodeStringToken/pin/code the user must enter to activate the service
ExpiryDateDateTime (nullable)Expiry date of the voucher

Sample Auth Response

{
"Action": "Auth",
"BillerCode": "COB",
"Reference": "08be48c6-2624-4a06-95eb-be79ff5d6ef5",
"MemberNumber": "ABC123",
"Products": [
{
"Quantity": 1,
"Code": "USD",
"Name": "USD Bill Payment",
"Price": 100,
"RequiresForexPayment": true
}
],
"TotalAmount": 100,
"Status": "Authorized",
"MemberName": "Bulawayo Guy",
"BillPayReference": "COB-211129114124239",
"AuthData": {
"MemberName": "Bulawayo Guy",
"AccountDetails": {
"Favourite Burger": "Macdonalds"
}
}
}

Sample Pay Response

{
"Action": "Pay",
"BillerCode": "COB",
"Reference": "08be48c6-2624-4a06-95eb-be79ff5d6ef5",
"MemberNumber": "ABC123",
"Products": [
{
"Quantity": 1,
"Code": "USD",
"Name": "USD Bill Payment",
"Price": 100,
"RequiresForexPayment": true
}
],
"TotalAmount": 100,
"Status": "Paid",
"MemberName": "Bulawayo Guy",
"BillerPaymentReference": "0740000022",
"BillPayReference": "COB-211129114124239",
"AuthData": {
"MemberName": "Bulawayo Guy",
"AccountDetails": {
"Favourite Burger": "Macdonalds"
}
},
"Currency": "USD"
}

Statuses

StatusDescription
AuthorizedPayment has been successfully authorized and can now be paid
BeingProcessedPayment is still being processed. Check status at 180 second intervals
PaidPayment is successful
ReversedPayment has been reversed/refunded
FailedPayment has failed
FlaggedUnexpected result from the biller, flagged for BillPay support. Check status at 600 second intervals