POST
/
payouts
curl --request POST \
  --url https://api.sandbox.pawapay.io/payouts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "payoutId": "<INSERT_UUID_FOR_PAYOUT>",
  "amount": "15",
  "currency": "ZMW",
  "country": "ZMB",
  "correspondent": "MTN_MOMO_ZMB",
  "recipient": {
    "type": "MSISDN",
    "address": {
      "value": "260763456789"
    }
  },
  "customerTimestamp": "2020-02-21T17:32:28Z",
  "statementDescription": "Note of 4 to 22 chars",
  "metadata": [
    {
      "fieldName": "orderId",
      "fieldValue": "ORD-123456789"
    },
    {
      "fieldName": "customerId",
      "fieldValue": "customer@email.com",
      "isPII": true
    }
  ]
}'
{
  "payoutId": "f4401bd2-1568-4140-bf2d-eb77d2b2b639",
  "status": "ACCEPTED",
  "created": "2020-10-19T11:17:01Z"
}

Payouts operation allows you to initiate a payout for asynchronous processing.

Learn more!

See what the payout 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 payoutId multiple times.
  • Duplicate requests with the same payoutId will be ignored with the DUPLICATE_IGNORED status.
  • Since the request can be rejected, you must check the status code in the response for each submitted request. The rejectionReason in the response will contain information about the reason of the rejection.

Each request can get one of the statuses on initiation:

StatusDescription
ACCEPTEDYesThe payout request has been accepted by pawaPay for processing.
ENQUEUEDYesThe payout request has been accepted, but has been enqueued for processing later. Read more about enqueued payouts.
REJECTEDNoThe payout request has been rejected. See rejectionReason for details.
DUPLICATE_IGNOREDNoThe payout request has been ignored as a duplicate of an already accepted payout request. Duplication logic relies upon payoutId.

How to find out the final status of this payout?

As the pawaPay Merchant API is an asynchronous API, you can find out the final status of the ACCEPTED or ENQUEUED payout by either:

Headers related to signatures must only be included if you have enabled “Only accept signed requests”. Read more about it from the pawaPay Dashboard documentation.

Authorizations

Authorization
string
header
required

Headers

Content-Digest
string

SHA-256 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.

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

application/json

Response

200
application/json
Request has been accepted for processing by pawaPay

The response is of type object.