If you have configured callbacks, pawaPay will POST a callback to your configured callback URL for each remittance when it reaches a final status. Read more about callbacks. If you have not configured callbacks, you can always call our Check Remittance Status endpoint to get the latest status of a specific remittance request.

Headers

Following headers are only included if you have enabled signed callbacks.Read more about how to implement signed callbacks.
Content-Digest
string
SHA256 or SHA-512 hash of the request body.
Signature
String
Signature of the request according to RFC-9421.
Signature-Input
String
Signature input according to RFC-9421.
Signature-Date
String
Timestamp when signature was created. This is a custom field and is not part of RFC-9421.
Accept-Signature
String
Expected signature algorithm of the response according to RFC-9421.
Accept-Digest
String
Expected digest algorithm of the response according to RFC-9421.

Body

remittanceId
string<uuid>
required

The unique ID for this payment in pawaPay as specified by you during initiation.

Required string length: 36
Example:

"f4401bd2-1568-4140-bf2d-eb77d2b2b639"

status
enum<string>
required

The status of the payment.

  • COMPLETED - The payment has been successfully processed.
  • PROCESSING - Only sent for providers with authorisation type REDIRECT_AUTH. See auhtorizationUrl.
  • FAILED - The payment request has been processed, but failed.
Available options:
COMPLETED,
PROCESSING,
FAILED
amount
string
required

The amount of the payment.

Amount must follow below requirements or the request will be rejected:

  • Not all providers support decimals. Find which ones do from providers or dynamically using active configuration endpoint.
  • Transaction limits apply. Find them from the Active Configuration endpoint.
  • Leading zeroes are not permitted except where the value is less than 1. For any value less than one, one and only one leading zero must be supplied.
Required string length: 1 - 23
Example:

"15"

currency
string
required

The currency in which the amount is specified.

Format must be the ISO 4217 three character currency code in upper case. Read more from Wikipedia.

Find the supported currencies for the provider.

The active configuration endpoint has all the providers configured for your account together with the supported currencies.

Example:

"ZMW"

country
string
required

The country in which the payment was initiated.

Format is ISO 3166-1 alpha-3, three character country code in upper case. Read more from Wikipedia.

Required string length: 3
Example:

"ZMB"

recipient
object
required

Details about the customer who is receiving the remittance.

sender
object
required

Details about the customer who is sending the remittance.

created
string<date-time>
required

The timestamp of when the payment was created in the pawaPay platform. Format defined by 'date-time' in RFC3339 section 5.6 from IETF

Example:

"2020-02-21T17:32:29Z"

customerMessage
string

A short narration for the transaction. Depending on the 'provider', this message may be visible to the customer in the SMS receipt or within their transaction history.

Defaults to your company name as registered on your pawaPay account trimmed to fit the length limitations.

Required string length: 4 - 22
Example:

"Note of 4 to 22 chars"

providerTransactionId
string

The unique ID for this payment assigned by the provider. The customer would see this ID on their SMS receipt and transaction history.

Example:

"ABC123"

failureReason
object
metadata
object

The metadata that was provided in the original initation request in a JSON object format.

Example:
{
"orderId": "ORD-123456789",
"customerId": "customer@email.com"
}