Request deposit
Deposits operation allows you to initiate a deposit for asynchronous processing.
Learn more!
See what the deposit flow looks like with pawaPay and for your customers.
- This API call is idempotent, which means it is safe to submit a request with the same
depositId
multiple times. - Duplicate requests with the same
depositId
will be ignored with theDUPLICATE_IGNORED
status in the response. - Since the request can rejected, you must check the
status
code in the response for each submitted request. TherejectionReason
in the response will contain information about the reason of the rejection.
Each request can get one of the statuses on initiation:
Status | Description | |
---|---|---|
ACCEPTED | Yes | The deposit request has been accepted by pawaPay for processing. |
REJECTED | No | The deposit request has been rejected. See rejectionReason for details. |
DUPLICATE_IGNORED | No | The deposit request has been ignored as a duplicate of an already accepted deposit request. Duplication logic relies upon depositId . |
How to find out the final status of this deposit?
As the pawaPay Merchant API is an asynchronous API, you can find out the final status of the ACCEPTED
deposit by either:
Waiting for a callback
If you have configured callbacks, just wait for it.
Checking the status
Or poll the Check Deposit Status endpoint.
Authorizations
See Authentication.
Headers
SHA-256 or SHA-512 hash of the request body.
Signature of the request according to RFC-9421.
Signature-Input according to RFC-9421.
Expected signature algorithm of the response according to RFC-9421.
Expected digest algorithm of the response according to RFC-9421.
Body
A UUIDv4 based ID specified by you, that uniquely identifies the deposit.
36
The amount to be collected (deposit) or disbursed (payout or refund).
Amount must follow below requirements or the request will be rejected:
- Between zero and two decimal places can be supplied, depending on what the specific MMO supports. Learn about all MMO supported decimal places.
- The minimum and maximum amount depends on the limits of the specific MMO. You can 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.
- Trailing zeroes are permitted.
Valid examples:
5
, 5.0
, 5.00
, 5.5
, 5.55
, 5555555
, 0.5
Not valid examples:
5.
, 5.555
, 5555555555555555555
, .5
, -5.5
, 00.5
, 00.00
, 00001.32
1 - 23
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.
You can find all the supported currencies that the specific correspondent
supports from here.
The active configuration endpoint provides the list of correspondents configured for your account together with the currencies.
The correspondent code refers to the specific MMO that the specified phone number (MSISDN) has an active mobile money wallet with.
You can find all the supported correspondents listed here.
The active configuration endpoint provides the list of correspondents configured for your account.
You can use the predict correspondent enpoint to predict the correct correspondent to use based on the phone number (MSISDN).
The phone number (MSISDN) of the recipient or payer must be specified as the value
of the address
.
The timestamp of when the deposit was created in the pawaPay platform. Format defined by 'date-time' in RFC3339 section 5.6 from IETF
Short description for the transaction. Depending on the specific MMO performing the transaction this message may be visible to the customer in the SMS receipt or within their transaction history.
Must be between 4 and 22 alphanumeric characters.
4 - 22
The country in which the MMO operates.
Format is ISO 3166-1 alpha-3, three character country code in upper case. Read more from Wikipedia.
For MMOs (correspondents) that use a preauthorisation code instead of a PIN prompt for authorising the deposit.
1 - 36
A list of metadata that you can attach to the payment for providing additional context about the payment.
For example, adding orderId
to indicate for which order this payment was for or customerId
to know which customer this payment pertains to.
Metadata will not be visible to the customer that is party to this payment. It will be visible in the pawaPay Dashboard on the payment details page and in your financial statements as a JSON object to support automated reconciliation. It is also possible to search for recent payments in the pawaPay Dashboard using global search based on the values of metadata.
Up to 10 metadata fields can be attached to a payment.
Response
The depositId
of the deposit transaction.
36
The initiation status of the Deposit
:
ACCEPTED
- The deposit request has been accepted by pawaPay for processing.REJECTED
- The deposit request has been rejected. SeerejectionReason
for detailsDUPLICATE_IGNORED
- This deposit request is a duplicate and will be ignored.
ACCEPTED
, REJECTED
, DUPLICATE_IGNORED
The timestamp of when the deposit was created in the pawaPay platform. Format defined by 'date-time' in RFC3339 section 5.6 from IETF