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:
Status
Description
ACCEPTED
Yes
The payout request has been accepted by PawaPay for processing.
ENQUEUED
Yes
The payout request has been accepted, but has been enqueued for processing later. Read more about enqueued payouts.
REJECTED
No
The payout request has been rejected. See rejectionReason for details.
DUPLICATE_IGNORED
No
The 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:
Waiting for a callback
If you have configured callbacks, just wait for it.
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.
Example:
"ZMW"
correspondent
string
required
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).
Example:
"MTN_MOMO_ZMB"
recipient
object
required
The phone number (MSISDN) of the recipient or payer must be specified as the value of the address.
Show child attributes
customerTimestamp
string<date-time>
required
The timestamp for when you initiated the payout process. Format defined by 'date-time' in RFC3339 section 5.6 from IETF
Example:
"2020-02-21T17:32:28Z"
statementDescription
string
required
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.
Required string length: 4 - 22
Pattern: ^[a-zA-Z0-9 ]+$
Example:
"Note of 4 to 22 chars"
country
string
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.
Example:
"ZMB"
metadata
object[]
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.
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.
Example:
"ZMW"
country
string
required
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.
Example:
"ZMB"
correspondent
string
required
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).
Example:
"MTN_MOMO_ZMB"
recipient
object
required
The phone number (MSISDN) of the recipient or payer must be specified as the value of the address.
Show child attributes
customerTimestamp
string<date-time>
required
The timestamp for when you initiated the refund process. Format defined by 'date-time' in RFC3339 section 5.6 from IETF
Example:
"2020-02-21T17:32:28Z"
created
string<date-time>
required
The timestamp of when the refund was created in the PawaPay platform. Format defined by 'date-time' in RFC3339 section 5.6 from IETF
Example:
"2020-02-21T17:32:29Z"
statementDescription
string
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.
Required string length: 4 - 22
Pattern: ^[a-zA-Z0-9 ]+$
Example:
"Note of 4 to 22 chars"
receivedByRecipient
string<date-time>
When the payment was received by the recipient. Format defined by 'date-time' in RFC3339 section 5.6 from IETF
Example:
"2020-02-21T17:32:30Z"
correspondentIds
object
The financial ids used by the MMO to uniquely identify this payment
Show child attributes
Example:
{ "MTN_INIT": "ABC123", "MTN_FINAL": "DEF456" }
failureReason
object
Show child attributes
metadata
object
The metadata that was provided in the original initation request in a JSON object format.
Request has been accepted for processing by PawaPay
payoutId
string<uuid>
required
The payoutId of the payout transaction.
Required string length: 36
Example:
"f4401bd2-1568-4140-bf2d-eb77d2b2b639"
status
enum<string>
required
Possible payout initiation statuses:
ACCEPTED - The payout request has been accepted by PawaPay for processing.
ENQUEUED - The payout request has been accepted, but has been enqueued for processing later. Read more about enqueued payouts.
REJECTED - The payout request has been rejected by PawaPay. See rejectionReason for details.
DUPLICATE_IGNORED - The payout request has been ignored as a duplicate of an already accepted payout request. Duplication logic relies upon payoutId.
Available options:
ACCEPTED,
ENQUEUED,
REJECTED,
DUPLICATE_IGNORED
created
string<date-time>
The timestamp of when the payout was created in the PawaPay platform. Format defined by 'date-time' in RFC3339 section 5.6 from IETF
Example:
"2020-02-21T17:32:29Z"
rejectionReason
object
Show child attributes
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"PawaPay Merchant API","colors":{"primary":"#7D3CFF","light":"#C3AFFF","dark":"#7D3CFF"},"logo":{"light":"https://mintcdn.com/pawapay/Kh3dyKjADbJS5N9-/images/pawapay_logo_black.svg?fit=max\u0026auto=format\u0026n=Kh3dyKjADbJS5N9-\u0026q=85\u0026s=dcb6b0f2f8b6c6e735e80732b4b9a8a0","dark":"https://mintcdn.com/pawapay/Kh3dyKjADbJS5N9-/images/pawapay_logo_white.svg?fit=max\u0026auto=format\u0026n=Kh3dyKjADbJS5N9-\u0026q=85\u0026s=045ebe0ed432187a1da3097d6a600fd0","href":"https://pawapay.io"},"favicon":"https://mintcdn.com/pawapay/5t50YVnmXOFXUEhT/images/favicon.png?fit=max\u0026auto=format\u0026n=5t50YVnmXOFXUEhT\u0026q=85\u0026s=c97dd58d1705627ef95648764043828d","background":{"decoration":"gradient"},"navbar":{"links":[{"href":"https://dashboard.sandbox.pawapay.io","label":"Sandbox login"}],"primary":{"type":"button","label":"Create account","href":"https://dashboard.sandbox.pawapay.io/#/merchant-signup"}},"footer":{"socials":{"website":"https://pawapay.io","linkedin":"https://www.linkedin.com/company/pawapay"}},"search":{"prompt":"Search/ask from AI (MIGHT NOT BE ACCURATE) "},"fonts":{"heading":{"family":"Instrument Sans","weight":600},"body":{"family":"Instrument Sans","weight":400}},"integrations":{"clearbit":{"publicApiKey":"pk_c7e1c1e424425978e94bb81fd8af7a14"},"mixpanel":{"projectToken":"b877b7fe27113f1d7e427b2cdbe8515f","region":"eu"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Run in Postman","icon":"circle-play","href":"https://app.getpostman.com/run-collection/25129489-56cbaf62-56c2-4734-bf1f-f61d369cc9e3?action=collection%2Ffork\u0026source=rip_markdown\u0026collection-url=entityId%3D25129489-56cbaf62-56c2-4734-bf1f-f61d369cc9e3%26entityType%3Dcollection%26workspaceId%3D8c3e7775-3da5-4bab-8a8c-ffb331ccfe27"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"pawapay","hasAudioNarration":false,"actualSubdomain":"pawapay","customDomains":["docs.pawapay.io"],"gitSource":{"type":"github","owner":"pawapay","repo":"docs-hub","deployBranch":"develop","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"issues":true,"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af488353de1b5eee7ab07ff","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"API Reference","count":56},{"language":"default","tag":"API docs","count":27},{"language":"default","tag":"Dashboard Docs","count":26},{"language":"default","tag":"Payouts","count":12},{"language":"default","tag":"Introduction","count":11},{"language":"default","tag":"Finances","count":10},{"language":"default","tag":"Refunds","count":9},{"language":"default","tag":"Deposits","count":8},{"language":"default","tag":"Toolkit","count":8},{"language":"default","tag":"Overview","count":7}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"v1/api-reference/payouts/request-payout","slug":"/v1/api-reference/payouts/request-payout","pageMetadata":{"openapi":"openapi_v1 post /payouts","description":null,"title":"Request payout","href":"/v1/api-reference/payouts/request-payout"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Card,CardGroup,Heading,Info,Table,Tooltip}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!CardGroup)_missingMdxReference(`CardGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tooltip)_missingMdxReference(`Tooltip`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Payouts operation allows you to initiate a payout for asynchronous processing.`}),`\n`,_jsx(Card,{title:`Learn more!`,icon:`readme`,href:`/payouts`,horizontal:`true`,children:_jsx(_components.p,{children:`See what the payout flow looks like with PawaPay and for your customers.`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`This API call is `,_jsx(`em`,{children:`idempotent`}),`, which means it is safe to submit a request with the same `,_jsx(_components.code,{children:`payoutId`}),` multiple times.`]}),`\n`,_jsxs(_components.li,{children:[`Duplicate requests with the same `,_jsx(_components.code,{children:`payoutId`}),` will be ignored with the `,_jsx(_components.code,{children:`DUPLICATE_IGNORED`}),` status.`]}),`\n`,_jsxs(_components.li,{children:[`Since the request can be rejected, you must check the `,_jsx(_components.code,{children:`status`}),` code in the response for each submitted request. The `,_jsx(_components.code,{children:`rejectionReason`}),` in the response will contain information about the reason of the rejection.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Each request can get one of the statuses on initiation:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:_jsx(Tooltip,{tip:`Will a callback be delivered after receiving this status on initiation?`,children:`Callback`})}),_jsx(_components.th,{children:`Description`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ACCEPTED`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`The payout request has been `,_jsx(_components.strong,{children:`accepted`}),` by PawaPay for processing.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`ENQUEUED`})}),_jsx(_components.td,{children:`Yes`}),_jsxs(_components.td,{children:[`The payout request has been `,_jsx(_components.strong,{children:`accepted`}),`, but has been enqueued for processing later. Read more about `,_jsx(_components.a,{href:`/payouts#enqueued-payouts`,children:`enqueued payouts`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`REJECTED`})}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[`The payout request has been `,_jsx(_components.strong,{children:`rejected`}),`. See `,_jsx(_components.code,{children:`rejectionReason`}),` for details.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`DUPLICATE_IGNORED`})}),_jsx(_components.td,{children:`No`}),_jsxs(_components.td,{children:[`The payout request has been `,_jsx(_components.strong,{children:`ignored`}),` as a duplicate of an already accepted payout request. Duplication logic relies upon `,_jsx(_components.code,{children:`payoutId`}),`.`]})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`how-to-find-out-the-final-status-of-this-payout`,children:`How to find out the final status of this payout?`}),`\n`,_jsxs(_components.p,{children:[`As the PawaPay Merchant API is an `,_jsx(_components.a,{href:`/implementation#asynchronous-api`,children:`asynchronous API`}),`, you can find out the final status of the `,_jsx(_components.code,{children:`ACCEPTED`}),` or `,_jsx(_components.code,{children:`ENQUEUED`}),` payout by either:`]}),`\n`,_jsxs(CardGroup,{cols:2,children:[_jsx(Card,{title:`Waiting for a callback`,icon:`webhook`,href:`/v1/api-reference/payouts/payout-callback`,horizontal:`true`,children:_jsx(_components.p,{children:`If you have configured callbacks, just wait for it.`})}),_jsx(Card,{title:`Checking the status`,icon:`code-compare`,href:`/v1/api-reference/payouts/check-payout-status`,horizontal:`true`,children:_jsx(_components.p,{children:`Or poll the Check Payout Status endpoint.`})})]}),`\n`,_jsxs(Info,{children:[`Headers related to `,_jsx(_components.a,{href:`/using_the_api#signatures`,children:`signatures`}),` must only be included if you have enabled “Only accept signed requests”. Read more about it from the `,_jsx(_components.a,{href:`/dashboard/other/system_conf/api_tokens#signed-requests`,children:`PawaPay Dashboard documentation`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"openapi_v1 post /payouts","description":null,"title":"Request payout","href":"/v1/api-reference/payouts/request-payout"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How to find out the final status of this payout?","slug":"how-to-find-out-the-final-status-of-this-payout","depth":3,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["payouts"],"summary":"Request payout","operationId":"createPayout","parameters":["59366f25-7ae9-4bff-88c3-5b2815cb3a86","e227d970-bdee-435c-a5c2-fa8787810ce7","387de19b-9a7f-4a33-9e3c-a07aa6b1b614","4df58764-23e1-4830-85a3-54c05d4cccdf","70f79ef7-5b0e-4b67-93f1-f4dfa4ab638b"],"requestBody":"a744e7f6-41bd-4267-993e-659063407cd0","callbacks":{"refundCallback":"352822e5-2cf9-45ac-95df-3b7517908850"},"responses":{"200":"a97fce83-8a3c-40d1-9bfb-6652adb79ae8","400":"e79da529-617b-4cad-b49b-490c49e0c793","401":"bedb035d-0a3b-41b8-8acf-b5b002b3a1bc","403":"e9fb1e89-72cc-4f4e-a369-c00a1bc49dea","500":"34cb2f64-d893-48ef-889f-26297e8d922b"},"method":"post","type":"path","servers":["321c7a20-9195-42cf-bd7e-d3f33a9abfd1","0a99643b-f413-409a-af4c-2db4372b65d3"],"security":["38397491-e1d3-47bd-a29e-385725b84bce"],"path":"/payouts","baseUrlOptions":["https://api.sandbox.pawapay.io","https://api.pawapay.io"],"title":"Request payout","description":"","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"59366f25-7ae9-4bff-88c3-5b2815cb3a86":{"in":"header","name":"Content-Digest","schema":{"type":"string","format":"string","description":"SHA-256 or SHA-512 hash of the request body.","isRequired":false,"uniqueKey":"","typeLabel":"string\u003cstring>"},"required":false},"e227d970-bdee-435c-a5c2-fa8787810ce7":{"in":"header","name":"Signature","schema":{"type":"string","format":"string","description":"Signature of the request according to [RFC-9421](https://datatracker.ietf.org/doc/rfc9421/).","isRequired":false,"uniqueKey":"","typeLabel":"string\u003cstring>"},"required":false},"387de19b-9a7f-4a33-9e3c-a07aa6b1b614":{"in":"header","name":"Signature-Input","schema":{"type":"string","format":"string","description":"Signature-Input according to [RFC-9421](https://datatracker.ietf.org/doc/rfc9421/).","isRequired":false,"uniqueKey":"","typeLabel":"string\u003cstring>"},"required":false},"4df58764-23e1-4830-85a3-54c05d4cccdf":{"in":"header","name":"Accept-Signature","schema":{"type":"string","format":"string","description":"Expected signature algorithm of the response according to [RFC-9421](https://datatracker.ietf.org/doc/rfc9421/).","isRequired":false,"uniqueKey":"","typeLabel":"string\u003cstring>"},"required":false},"70f79ef7-5b0e-4b67-93f1-f4dfa4ab638b":{"in":"header","name":"Accept-Digest","schema":{"type":"string","format":"string","description":"Expected digest algorithm of the response according to [RFC-9421](https://datatracker.ietf.org/doc/rfc9421/).","isRequired":false,"uniqueKey":"","typeLabel":"string\u003cstring>"},"required":false}},"requestBody":{"content":{"application/json":{"schema":{"required":["payoutId","amount","currency","correspondent","recipient","customerTimestamp","statementDescription"],"type":"object","properties":{"payoutId":{"minLength":36,"maxLength":36,"type":"string","format":"uuid","description":"A UUIDv4 based ID specified by you, that uniquely identifies the payout.","example":"\u003cINSERT_UUID_FOR_PAYOUT>","isRequired":true,"uniqueKey":"payoutId","typeLabel":"string\u003cuuid>"},"amount":{"minLength":1,"maxLength":23,"type":"string","pattern":"^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$","description":"The amount to be collected (deposit) or disbursed (payout or refund). \n\nAmount must follow below requirements or the request will be **rejected**:\n* Between zero and two decimal places can be supplied, depending on what the specific MMO supports. Learn about all [MMO supported decimal places](/using_the_api#correspondents).\n* The minimum and maximum amount depends on the limits of the specific MMO. You can find them from the [Active Configuration](/v1/api-reference/toolkit/active-configuration) endpoint.\n* 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.\n* Trailing zeroes are permitted.\n\nValid examples:\n`5`, `5.0`, `5.00`, `5.5`, `5.55`, `5555555`, `0.5`\n\nNot valid examples:\n`5.`, `5.555`, `5555555555555555555`, `.5`, `-5.5`, `00.5`, `00.00`, `00001.32`\n","example":"15","isRequired":true,"uniqueKey":"amount","typeLabel":"string"},"currency":{"type":"string","description":"The currency in which the `amount` is specified.\n\nFormat must be the ISO 4217 three character currency code in upper case. Read more from [Wikipedia](https://en.wikipedia.org/wiki/ISO_4217#Active_codes).\n\nYou can find all the supported currencies that the specific `correspondent` supports [from here](/using_the_api#correspondents).\n\nThe [active configuration](/v1/api-reference/toolkit/active-configuration) endpoint provides the list of correspondents configured for your account together with the currencies.\n","example":"ZMW","isRequired":true,"uniqueKey":"currency","typeLabel":"string"},"correspondent":{"type":"string","description":"The correspondent code refers to the specific MMO that the specified phone number (MSISDN) has an active mobile money wallet with. \n\nYou can find all the supported correspondents [listed here](/using_the_api#correspondents). \n\nThe [active configuration](/v1/api-reference/toolkit/active-configuration) endpoint provides the list of correspondents configured for your account.\n\nYou can use the [predict correspondent](/v1/api-reference/toolkit/predict-correspondent) enpoint to predict the correct correspondent to use based on the phone number (MSISDN).\n","example":"MTN_MOMO_ZMB","isRequired":true,"uniqueKey":"correspondent","typeLabel":"string"},"recipient":{"required":["address","type"],"type":"object","properties":{"type":{"type":"string","description":"The type of financial address. At the moment, only **MSISDN** is supported as the financial address. ","example":"MSISDN","enum":["MSISDN"],"isRequired":true,"uniqueKey":"recipient.type","typeLabel":"enum\u003cstring>"},"address":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"The phone number (MSISDN) of the payer or recipient.\nThe format is described in [Wikipedia](https://en.wikipedia.org/wiki/MSISDN). \n\nMSISDN validation has following rules:\n * Only digits without whitespaces or any other separators or prefixes like '+'.\n * Should not start with zero.\n * Country code is mandatory.\n * Should not exceed or be less than the valid length of specified country.\n \n Valid examples for Zambia:\n `260763456789`\n \n Not valid examples for Zambia:\n `+260763456789`, `260 763 456789`, `260-7634-56789`, `0260763456789`, `2607634567`, `260763456789543`, `999558708954`, `37255870895`\n","example":"260763456789","isRequired":true,"uniqueKey":"recipient.address.value","typeLabel":"string"}},"isRequired":true,"uniqueKey":"recipient.address","typeLabel":"object"}},"description":"The phone number (MSISDN) of the recipient or payer must be specified as the `value` of the `address`.","isRequired":true,"uniqueKey":"recipient","typeLabel":"object"},"customerTimestamp":{"type":"string","description":"The timestamp for when you initiated the payout process. Format defined by 'date-time' in RFC3339 section 5.6 from [IETF](https://tools.ietf.org/html/rfc3339#section-5.6)","format":"date-time","example":"2020-02-21T17:32:28Z","isRequired":true,"uniqueKey":"customerTimestamp","typeLabel":"string\u003cdate-time>"},"statementDescription":{"minLength":4,"maxLength":22,"type":"string","pattern":"^[a-zA-Z0-9 ]+$","description":"Short description for the transaction. \nDepending on the specific MMO performing the transaction this message may be visible to the customer in the SMS receipt or within their transaction history.\n\nMust be between **4 and 22 alphanumeric characters**.\n","example":"Note of 4 to 22 chars","isRequired":true,"uniqueKey":"statementDescription","typeLabel":"string"},"country":{"type":"string","description":"The country in which the MMO operates. \n\nFormat is ISO 3166-1 alpha-3, three character country code in upper case. Read more from [Wikipedia](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3#Officially_assigned_code_elements).\n","example":"ZMB","uniqueKey":"country","typeLabel":"string"},"metadata":{"description":"A list of metadata that you can attach to the payment for providing additional context about the payment.\nFor example, adding `orderId` to indicate for which order this payment was for or `customerId` to know which customer this payment pertains to.\n\nMetadata will not be visible to the customer that is party to this payment. \nIt 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.\nIt is also possible to search for recent payments in the PawaPay Dashboard using global search based on the values of metadata.\n\nUp to 10 metadata fields can be attached to a payment. \n","type":"array","items":{"required":["fieldName","fieldValue"],"type":"object","properties":{"fieldName":{"type":"string","description":"The name of the metadata that you are attaching to the payment. For example `orderId`.","example":"orderId","isRequired":true,"uniqueKey":"metadata.items.[INDEX].fieldName","typeLabel":"string"},"fieldValue":{"type":"string","description":"The value for this metadata field. For example `ORD-123456789`.","example":"ORD-123456789","isRequired":true,"uniqueKey":"metadata.items.[INDEX].fieldValue","typeLabel":"string"},"isPII":{"type":"boolean","default":false,"description":"Indicates whether the field contains personally identifiable information. Used for enabling compliance with GDPR or other relevant data privacy laws.","example":true,"uniqueKey":"metadata.items.[INDEX].isPII","typeLabel":"boolean"}},"uniqueKey":"metadata.items.[INDEX]","typeLabel":"object"},"example":[{"fieldName":"orderId","fieldValue":"ORD-123456789"},{"fieldName":"customerId","fieldValue":"customer@email.com","isPII":true}],"uniqueKey":"metadata","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"payoutId":"\u003cINSERT_UUID_FOR_PAYOUT>","amount":"15","currency":"ZMW","correspondent":"MTN_MOMO_ZMB","recipient":{"type":"MSISDN","address":{"value":"260763456789"}},"customerTimestamp":"2020-02-21T17:32:28Z","statementDescription":"Note of 4 to 22 chars","country":"ZMB","metadata":[{"fieldName":"orderId","fieldValue":"ORD-123456789"},{"fieldName":"customerId","fieldValue":"customer@email.com","isPII":true}]}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"a97fce83-8a3c-40d1-9bfb-6652adb79ae8":{"description":"Request has been accepted for processing by PawaPay","content":{"application/json":{"schema":{"required":["payoutId","status"],"type":"object","properties":{"payoutId":{"minLength":36,"maxLength":36,"type":"string","format":"uuid","description":"The `payoutId` of the payout transaction.","example":"f4401bd2-1568-4140-bf2d-eb77d2b2b639","isRequired":true,"uniqueKey":"payoutId","typeLabel":"string\u003cuuid>"},"status":{"type":"string","description":"Possible payout initiation statuses: \n* `ACCEPTED` - The payout request has been **accepted** by PawaPay for processing.\n* `ENQUEUED` - The payout request has been **accepted**, but has been enqueued for processing later. Read more about [enqueued payouts](/payouts#enqueued-payouts).\n* `REJECTED` - The payout request has been **rejected** by PawaPay. See rejectionReason for details. \n* `DUPLICATE_IGNORED` - The payout request has been **ignored** as a duplicate of an already accepted payout request. Duplication logic relies upon payoutId.\n","enum":["ACCEPTED","ENQUEUED","REJECTED","DUPLICATE_IGNORED"],"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"created":{"type":"string","description":"The timestamp of when the payout was created in the PawaPay platform. Format defined by 'date-time' in RFC3339 section 5.6 from [IETF](https://tools.ietf.org/html/rfc3339#section-5.6)","format":"date-time","example":"2020-02-21T17:32:29Z","uniqueKey":"created","typeLabel":"string\u003cdate-time>"},"rejectionReason":{"required":["rejectionReason"],"type":"object","properties":{"rejectionCode":{"type":"string","description":"Possible payout rejection codes: \n* `BALANCE_INSUFFICIENT` - The balance of your PawaPay wallet does not have the funds to initiate this payout.\n* `INVALID_CORRESPONDENT` - The specified correspondent is not supported.\n* `INVALID_RECIPIENT_FORMAT` - The phone number (MISISDN) specified for the recipient is in an unrecognizable format.\n* `INVALID_AMOUNT`- The specified amount is not supported. \n* `AMOUNT_TOO_SMALL` - The specified amount is smaller than the minimum allowed by the MMO specified as the correspondent. \n* `AMOUNT_TOO_LARGE` - The specified amount is larger than the maximum allowed by the MMO specified as the correspondent. \n* `INVALID_CURRENCY` - The specified currency is not supported by the MMO specified as the correspondent. \n* `INVALID_COUNTRY` - The specified country is not supported for the MMO specified as the correspondent. \n* `PARAMETER_INVALID` - One or more parameters are invalid. \n* `INVALID_INPUT` - We were unable to parse the payload of the request. \n* `PAYOUTS_NOT_ALLOWED` - Payouts are not allowed for this merchant or the MMO specified as the correspondent.\n* `CORRESPONDENT_TEMPORARILY_UNAVAILABLE` - The MMO specified as the correspondent is currently experiencing an outage and processing of payments has been temporarily halted. Please refer to our [Status Page](https://status.pawapay.io) for live information about MMO availability.\n","example":"INVALID_AMOUNT","enum":["BALANCE_INSUFFICIENT","INVALID_CORRESPONDENT","INVALID_RECIPIENT_FORMAT","INVALID_AMOUNT","AMOUNT_TOO_SMALL","AMOUNT_TOO_LARGE","INVALID_CURRENCY","INVALID_COUNTRY","PARAMETER_INVALID","INVALID_INPUT","PAYOUTS_NOT_ALLOWED","CORRESPONDENT_TEMPORARILY_UNAVAILABLE"],"uniqueKey":"rejectionReason.rejectionCode","typeLabel":"enum\u003cstring>"},"rejectionMessage":{"type":"string","description":"Additional optional rejection message","example":"You don't have access to this correspondent (MMO)","uniqueKey":"rejectionReason.rejectionMessage","typeLabel":"string"}},"uniqueKey":"rejectionReason","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"ACCEPTED":{"title":"ACCEPTED","value":{"payoutId":"f4401bd2-1568-4140-bf2d-eb77d2b2b639","status":"ACCEPTED","created":"2020-10-19T11:17:01Z"}},"DUPLICATE_IGNORED":{"title":"DUPLICATE_IGNORED","value":{"payoutId":"f4401bd2-1568-4140-bf2d-eb77d2b2b639","status":"DUPLICATE_IGNORED","created":"2020-10-19T11:17:01Z"}},"REJECTED":{"title":"REJECTED","value":{"payoutId":"f4401bd2-1568-4140-bf2d-eb77d2b2b639","status":"REJECTED","rejectionReason":{"rejectionCode":"AMOUNT_TOO_LARGE","rejectionMessage":"Amount should not be greater than 1000"}}}},"exampleType":"examples"}},"exampleType":"examples"},"e79da529-617b-4cad-b49b-490c49e0c793":{"description":"Request was rejected due to incompatibility with PawaPay API specification","content":{"application/json":{"schema":{"required":["errorId","errorCode","errorMessage"],"type":"object","properties":{"errorId":{"maxLength":36,"type":"string","description":"A unique error ID in the PawaPay platform.","example":"63743264-7292-11ea-bc55-0242ac130003","isRequired":true,"uniqueKey":"errorId","typeLabel":"string"},"errorCode":{"type":"integer","description":"PawaPay internal error code.","example":1,"isRequired":true,"uniqueKey":"errorCode","typeLabel":"integer"},"errorMessage":{"type":"string","description":"Error message.","example":"Internal error","isRequired":true,"uniqueKey":"errorMessage","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Mandatory Field Missing":{"title":"Mandatory Field Missing","value":{"errorId":"4f0d5e13-7e88-4cc6-827c-8c0640dc2cd3","errorCode":1,"errorMessage":"Invalid input: Missing required property 'amount'"}}},"exampleType":"examples"}},"exampleType":"examples"},"bedb035d-0a3b-41b8-8acf-b5b002b3a1bc":{"description":"Authentication Failure. Please check your authentication token","content":{"application/json":{"schema":{"required":["errorId","errorCode","errorMessage"],"type":"object","properties":{"errorId":{"maxLength":36,"type":"string","description":"A unique error ID in the PawaPay platform.","example":"63743264-7292-11ea-bc55-0242ac130003","isRequired":true,"uniqueKey":"errorId","typeLabel":"string"},"errorCode":{"type":"integer","description":"PawaPay internal error code.","example":1,"isRequired":true,"uniqueKey":"errorCode","typeLabel":"integer"},"errorMessage":{"type":"string","description":"Error message.","example":"Internal error","isRequired":true,"uniqueKey":"errorMessage","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Authentication Failure":{"title":"Authentication Failure","value":{"errorId":"cad1529e-040b-4c9d-a21d-2ba3056ff750","errorCode":2,"errorMessage":"Authentication error"}}},"exampleType":"examples"}},"exampleType":"examples"},"e9fb1e89-72cc-4f4e-a369-c00a1bc49dea":{"description":"Authorization Failure. Please check your authentication token","content":{"application/json":{"schema":{"required":["errorId","errorCode","errorMessage"],"type":"object","properties":{"errorId":{"maxLength":36,"type":"string","description":"A unique error ID in the PawaPay platform.","example":"63743264-7292-11ea-bc55-0242ac130003","isRequired":true,"uniqueKey":"errorId","typeLabel":"string"},"errorCode":{"type":"integer","description":"PawaPay internal error code.","example":1,"isRequired":true,"uniqueKey":"errorCode","typeLabel":"integer"},"errorMessage":{"type":"string","description":"Error message.","example":"Internal error","isRequired":true,"uniqueKey":"errorMessage","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Authorization Failure":{"title":"Authorization Failure","value":{"errorId":"daa495f0-541d-4192-b636-a8877b25a510","errorCode":3,"errorMessage":"Authorization error"}}},"exampleType":"examples"}},"exampleType":"examples"},"34cb2f64-d893-48ef-889f-26297e8d922b":{"description":"Internal Server Error","content":{"application/json":{"schema":{"required":["errorId","errorCode","errorMessage"],"type":"object","properties":{"errorId":{"maxLength":36,"type":"string","description":"A unique error ID in the PawaPay platform.","example":"63743264-7292-11ea-bc55-0242ac130003","isRequired":true,"uniqueKey":"errorId","typeLabel":"string"},"errorCode":{"type":"integer","description":"PawaPay internal error code.","example":1,"isRequired":true,"uniqueKey":"errorCode","typeLabel":"integer"},"errorMessage":{"type":"string","description":"Error message.","example":"Internal error","isRequired":true,"uniqueKey":"errorMessage","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"System Error":{"title":"System Error","value":{"errorId":"d428a89e-fa8b-42b8-ba20-68be20d50af1","errorCode":0,"errorMessage":"Internal error"}}},"exampleType":"examples"}},"exampleType":"examples"}},"callbacks":[{"callbackName":"refundCallback","expression":"yourCallbackUrl","method":"post","resolved":{"operation":{"requestBody":"5a9ba58d-0c99-4084-9916-e54e0afd3d8a","responses":{"200":"7da60ed2-4e57-4ae6-9aa7-958fb07c1b90"},"method":"post","type":"path"},"dependencies":{"parameters":{},"requestBody":{"required":false,"content":{"application/json":{"schema":{"required":["refundId","status","amount","currency","country","correspondent","recipient","customerTimestamp","created"],"type":"object","properties":{"refundId":{"minLength":36,"maxLength":36,"type":"string","format":"uuid","description":"A UUIDv4 based ID specified by you, that uniquely identifies the refund.","example":"f4401bd2-1568-4140-bf2d-eb77d2b2b639","isRequired":true,"uniqueKey":"refundId","typeLabel":"string\u003cuuid>"},"status":{"type":"string","description":"The final status of the payment.\n* `COMPLETED` - The payment has been successfully processed.\n* `FAILED` - The payment request has been processed, but failed.\n","enum":["COMPLETED","FAILED"],"isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"amount":{"minLength":1,"maxLength":23,"type":"string","pattern":"^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$","description":"The amount to be collected (deposit) or disbursed (payout or refund). \n\nAmount must follow below requirements or the request will be **rejected**:\n* Between zero and two decimal places can be supplied, depending on what the specific MMO supports. Learn about all [MMO supported decimal places](/using_the_api#correspondents).\n* The minimum and maximum amount depends on the limits of the specific MMO. You can find them from the [Active Configuration](/v1/api-reference/toolkit/active-configuration) endpoint.\n* 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.\n* Trailing zeroes are permitted.\n\nValid examples:\n`5`, `5.0`, `5.00`, `5.5`, `5.55`, `5555555`, `0.5`\n\nNot valid examples:\n`5.`, `5.555`, `5555555555555555555`, `.5`, `-5.5`, `00.5`, `00.00`, `00001.32`\n","example":"15","isRequired":true,"uniqueKey":"amount","typeLabel":"string"},"currency":{"type":"string","description":"The currency in which the `amount` is specified.\n\nFormat must be the ISO 4217 three character currency code in upper case. Read more from [Wikipedia](https://en.wikipedia.org/wiki/ISO_4217#Active_codes).\n\nYou can find all the supported currencies that the specific `correspondent` supports [from here](/using_the_api#correspondents).\n\nThe [active configuration](/v1/api-reference/toolkit/active-configuration) endpoint provides the list of correspondents configured for your account together with the currencies.\n","example":"ZMW","isRequired":true,"uniqueKey":"currency","typeLabel":"string"},"country":{"type":"string","description":"The country in which the MMO operates. \n\nFormat is ISO 3166-1 alpha-3, three character country code in upper case. Read more from [Wikipedia](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3#Officially_assigned_code_elements).\n","example":"ZMB","isRequired":true,"uniqueKey":"country","typeLabel":"string"},"correspondent":{"type":"string","description":"The correspondent code refers to the specific MMO that the specified phone number (MSISDN) has an active mobile money wallet with. \n\nYou can find all the supported correspondents [listed here](/using_the_api#correspondents). \n\nThe [active configuration](/v1/api-reference/toolkit/active-configuration) endpoint provides the list of correspondents configured for your account.\n\nYou can use the [predict correspondent](/v1/api-reference/toolkit/predict-correspondent) enpoint to predict the correct correspondent to use based on the phone number (MSISDN).\n","example":"MTN_MOMO_ZMB","isRequired":true,"uniqueKey":"correspondent","typeLabel":"string"},"recipient":{"required":["address","type"],"type":"object","properties":{"type":{"type":"string","description":"The type of financial address. At the moment, only **MSISDN** is supported as the financial address. ","example":"MSISDN","enum":["MSISDN"],"isRequired":true,"uniqueKey":"recipient.type","typeLabel":"enum\u003cstring>"},"address":{"required":["value"],"type":"object","properties":{"value":{"type":"string","description":"The phone number (MSISDN) of the payer or recipient.\nThe format is described in [Wikipedia](https://en.wikipedia.org/wiki/MSISDN). \n\nMSISDN validation has following rules:\n * Only digits without whitespaces or any other separators or prefixes like '+'.\n * Should not start with zero.\n * Country code is mandatory.\n * Should not exceed or be less than the valid length of specified country.\n \n Valid examples for Zambia:\n `260763456789`\n \n Not valid examples for Zambia:\n `+260763456789`, `260 763 456789`, `260-7634-56789`, `0260763456789`, `2607634567`, `260763456789543`, `999558708954`, `37255870895`\n","example":"260763456789","isRequired":true,"uniqueKey":"recipient.address.value","typeLabel":"string"}},"isRequired":true,"uniqueKey":"recipient.address","typeLabel":"object"}},"description":"The phone number (MSISDN) of the recipient or payer must be specified as the `value` of the `address`.","isRequired":true,"uniqueKey":"recipient","typeLabel":"object"},"customerTimestamp":{"type":"string","description":"The timestamp for when you initiated the refund process. Format defined by 'date-time' in RFC3339 section 5.6 from [IETF](https://tools.ietf.org/html/rfc3339#section-5.6)","format":"date-time","example":"2020-02-21T17:32:28Z","isRequired":true,"uniqueKey":"customerTimestamp","typeLabel":"string\u003cdate-time>"},"created":{"type":"string","description":"The timestamp of when the refund was created in the PawaPay platform. Format defined by 'date-time' in RFC3339 section 5.6 from [IETF](https://tools.ietf.org/html/rfc3339#section-5.6)","format":"date-time","example":"2020-02-21T17:32:29Z","isRequired":true,"uniqueKey":"created","typeLabel":"string\u003cdate-time>"},"statementDescription":{"minLength":4,"maxLength":22,"type":"string","pattern":"^[a-zA-Z0-9 ]+$","description":"Short description for the transaction. \nDepending on the specific MMO performing the transaction this message may be visible to the customer in the SMS receipt or within their transaction history.\n\nMust be between **4 and 22 alphanumeric characters**.\n","example":"Note of 4 to 22 chars","uniqueKey":"statementDescription","typeLabel":"string"},"receivedByRecipient":{"type":"string","description":"When the payment was received by the recipient. Format defined by 'date-time' in RFC3339 section 5.6 from [IETF](https://tools.ietf.org/html/rfc3339#section-5.6)","format":"date-time","example":"2020-02-21T17:32:30Z","uniqueKey":"receivedByRecipient","typeLabel":"string\u003cdate-time>"},"correspondentIds":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"correspondentIds.additionalProperties","typeLabel":"string"},"description":"The financial ids used by the MMO to uniquely identify this payment","example":{"MTN_INIT":"ABC123","MTN_FINAL":"DEF456"},"uniqueKey":"correspondentIds","typeLabel":"object"},"failureReason":{"required":["failureCode"],"type":"object","properties":{"failureCode":{"type":"string","description":"Possible refund failure codes: \n* `BALANCE_INSUFFICIENT` - The PawaPay wallet balance is insufficient to proceed with the refund. \n* `RECIPIENT_NOT_FOUND` - The phone number specified for the recipient does not belong to the MMO specified as the correspondent. \n* `RECIPIENT_NOT_ALLOWED_TO_RECEIVE` - The recipient has reached a limit on their wallet that stops them from receiving this refund. \n* `OTHER_ERROR` - Any other error. Please refer to `failureMessage`.\n","example":"OTHER_ERROR","enum":["BALANCE_INSUFFICIENT","RECIPIENT_NOT_FOUND","RECIPIENT_NOT_ALLOWED_TO_RECEIVE","OTHER_ERROR"],"isRequired":true,"uniqueKey":"failureReason.failureCode","typeLabel":"enum\u003cstring>"},"failureMessage":{"type":"string","description":"Additional optional failure message","example":"Recipient's address is blocked","uniqueKey":"failureReason.failureMessage","typeLabel":"string"}},"uniqueKey":"failureReason","typeLabel":"object"},"metadata":{"description":"The metadata that was provided in the original initation request in a JSON object format.\n","type":"object","properties":{"value of fieldName":{"type":"string","description":"Each passed in metadata field will be a property of the metadata JSON object. The key will be the 'fieldName' and the value will be 'fieldValue'.","uniqueKey":"metadata.value of fieldName","typeLabel":"string"}},"example":{"orderId":"ORD-123456789","customerId":"customer@email.com"},"uniqueKey":"metadata","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"refundId":"f4401bd2-1568-4140-bf2d-eb77d2b2b639","amount":"15","currency":"ZMW","country":"ZMB","correspondent":"MTN_MOMO_ZMB","recipient":{"type":"MSISDN","address":{"value":"260763456789"}},"customerTimestamp":"2020-02-21T17:32:28Z","created":"2020-02-21T17:32:29Z","statementDescription":"Note of 4 to 22 chars","receivedByRecipient":"2020-02-21T17:32:30Z","correspondentIds":{"MTN_INIT":"ABC123","MTN_FINAL":"DEF456"},"metadata":{"orderId":"ORD-123456789","customerId":"customer@email.com"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"7da60ed2-4e57-4ae6-9aa7-958fb07c1b90":{"description":"OK","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{}}}}],"security":{"38397491-e1d3-47bd-a29e-385725b84bce":{"bearerAuth":{"type":"http","description":"See [Authentication](/using_the_api#authentication).","scheme":"bearer","bearerFormat":"JWT","scopes":[]}}},"servers":{"321c7a20-9195-42cf-bd7e-d3f33a9abfd1":{"url":"https://api.sandbox.pawapay.io","description":"PawaPay Merchant API sandbox"},"0a99643b-f413-409a-af4c-2db4372b65d3":{"url":"https://api.pawapay.io","description":"PawaPay Merchant API production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","description":"See [Authentication](/using_the_api#authentication).","scheme":"bearer","bearerFormat":"JWT","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"See [Authentication](/using_the_api#authentication).","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"v1/api-reference/openapi_v1.yaml"},"subdomain":"pawapay","siteName":"PawaPay Merchant API","title":"Request payout - PawaPay Merchant API","navMaps":{"firstHrefInVersion":{"v2":{"href":"/v2/api-reference/payouts/initiate-payout","matchLevel":2},"v1":{"href":"/v1/api-reference/payouts/request-payout","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T13:42:35.109Z","originalFileLocation":"v1/api-reference/payouts/request-payout.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"PawaPay Merchant API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pawapay/1ir90k4Vxmsj1N5e/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/pawapay/1ir90k4Vxmsj1N5e/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pawapay/1ir90k4Vxmsj1N5e/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/pawapay/1ir90k4Vxmsj1N5e/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/pawapay/1ir90k4Vxmsj1N5e/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pawapay/1ir90k4Vxmsj1N5e/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pawapay/1ir90k4Vxmsj1N5e/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/pawapay/1ir90k4Vxmsj1N5e/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/pawapay/1ir90k4Vxmsj1N5e/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Request payout - PawaPay Merchant API\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"PawaPay Merchant API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.pawapay.io/v1/api-reference/payouts/request-payout\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://pawapay.mintlify.site/_mintlify/api/og/v2?division=Payouts\u0026amp;title=Request+payout\u0026amp;theme=6df4a9d744128cd68aba8e91\u0026amp;signature=2dbe774b01b28c9beedfc0c6111511e4546bdd03bf2b0dcc2f33c72728f07785\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Request payout - PawaPay Merchant API\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://pawapay.mintlify.site/_mintlify/api/og/v2?division=Payouts\u0026amp;title=Request+payout\u0026amp;theme=6df4a9d744128cd68aba8e91\u0026amp;signature=2dbe774b01b28c9beedfc0c6111511e4546bdd03bf2b0dcc2f33c72728f07785\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/pawapay/1ir90k4Vxmsj1N5e/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"PawaPay Merchant API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#7D3CFF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.pawapay.io/v1/api-reference/payouts/request-payout\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v1/api-reference/payouts/request-payout.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.pawapay.io/#organization\",\"name\":\"PawaPay Merchant API\",\"url\":\"https://docs.pawapay.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/pawapay/Kh3dyKjADbJS5N9-/images/pawapay_logo_black.svg?fit=max\u0026auto=format\u0026n=Kh3dyKjADbJS5N9-\u0026q=85\u0026s=dcb6b0f2f8b6c6e735e80732b4b9a8a0\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.pawapay.io#website\",\"name\":\"PawaPay Merchant API\",\"url\":\"https://docs.pawapay.io\",\"publisher\":{\"@id\":\"https://docs.pawapay.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.pawapay.io/v1/api-reference/payouts/request-payout#webpage\",\"url\":\"https://docs.pawapay.io/v1/api-reference/payouts/request-payout\",\"name\":\"Request payout\",\"dateModified\":\"2026-10-28T13:42:35.109Z\",\"isPartOf\":{\"@id\":\"https://docs.pawapay.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.pawapay.io/v1/api-reference/payouts/request-payout#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.pawapay.io/v1/api-reference/payouts/request-payout#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"PawaPay Merchant API\",\"item\":\"https://docs.pawapay.io\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Request payout\",\"item\":\"https://docs.pawapay.io/v1/api-reference/payouts/request-payout\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.pawapay.io/v1/api-reference/payouts/request-payout#apireference\",\"headline\":\"Request payout\",\"name\":\"Request payout\",\"url\":\"https://docs.pawapay.io/v1/api-reference/payouts/request-payout\",\"mainEntityOfPage\":{\"@id\":\"https://docs.pawapay.io/v1/api-reference/payouts/request-payout#webpage\"},\"dateModified\":\"2026-10-28T13:42:35.109Z\",\"publisher\":{\"@id\":\"https://docs.pawapay.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.pawapay.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"PawaPay Merchant API\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"PawaPay Merchant API\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/v1/api-reference/payouts/request-payout.md","siteName":"PawaPay Merchant API","nav":{"global":{"anchors":[{"anchor":"Run in Postman","icon":"circle-play","href":"https://app.getpostman.com/run-collection/25129489-56cbaf62-56c2-4734-bf1f-f61d369cc9e3?action=collection%2Ffork\u0026source=rip_markdown\u0026collection-url=entityId%3D25129489-56cbaf62-56c2-4734-bf1f-f61d369cc9e3%26entityType%3Dcollection%26workspaceId%3D8c3e7775-3da5-4bab-8a8c-ffb331ccfe27"}]},"versions":[{"version":"v2","pages":[{"title":"v2","href":"/v2/api-reference/payouts/initiate-payout"}]},{"version":"v1","tabs":[{"tab":"API docs","pages":[{"title":"API docs","href":"/getting_started"}]},{"tab":"API Reference","groups":[{"group":"Deposits","pages":[{"openapi":"openapi_v1 post /deposits","title":"Request deposit","href":"/v1/api-reference/deposits/request-deposit"},{"openapi":"openapi_v1 get /deposits/{depositId}","title":"Check deposit status","href":"/v1/api-reference/deposits/check-deposit-status"},{"openapi":"openapi_v1 post /deposits/resend-callback","title":"Resend deposit callback","href":"/v1/api-reference/deposits/resend-deposit-callback"},{"title":"Deposit callback","icon":"webhook","description":null,"href":"/v1/api-reference/deposits/deposit-callback"}]},{"group":"Payouts","pages":[{"openapi":"openapi_v1 post /payouts","title":"Request payout","href":"/v1/api-reference/payouts/request-payout"},{"openapi":"openapi_v1 get /payouts/{payoutId}","description":null,"title":"Check payout status","href":"/v1/api-reference/payouts/check-payout-status"},{"openapi":"openapi_v1 post /payouts/resend-callback","title":"Resend payout callback","href":"/v1/api-reference/payouts/resend-payout-callback"},{"openapi":"openapi_v1 post /payouts/fail-enqueued/{payoutId}","title":"Cancel enqueued payout","href":"/v1/api-reference/payouts/cancel-enqueued-payout"},{"openapi":"openapi_v1 post /payouts/bulk","title":"Request bulk payout","href":"/v1/api-reference/payouts/request-bulk-payout"},{"title":"Payout callback","icon":"webhook","href":"/v1/api-reference/payouts/payout-callback"}]},{"group":"Refunds","pages":[{"openapi":"openapi_v1 post /refunds","title":"Request refund","href":"/v1/api-reference/refunds/request-refund"},{"openapi":"openapi_v1 get /refunds/{refundId}","title":"Check refund status","href":"/v1/api-reference/refunds/check-refund-status"},{"openapi":"openapi_v1 post /refunds/resend-callback","title":"Resend refund callback","href":"/v1/api-reference/refunds/resend-refund-callback"},{"title":"Refund callback","icon":"webhook","href":"/v1/api-reference/refunds/refund-callback"}]},{"group":"Payment page","pages":[{"openapi":"openapi_v1 post /v1/widget/sessions","title":"Deposit via Payment Page","href":"/v1/api-reference/payment-page/deposit-via-payment-page"}]},{"group":"Wallet balances","pages":[{"openapi":"openapi_v1 get /v1/wallet-balances","title":"Wallet balances","href":"/v1/api-reference/wallet-balances/wallet-balances"},{"openapi":"openapi_v1 get /v1/wallet-balances/{country}","title":"Wallet balances for country","href":"/v1/api-reference/wallet-balances/wallet-balances-for-country"}]},{"group":"Toolkit","pages":[{"openapi":"openapi_v1 get /active-conf","title":"Active Configuration","href":"/v1/api-reference/toolkit/active-configuration"},{"openapi":"openapi_v1 get /availability","title":"Correspondent Availability","href":"/v1/api-reference/toolkit/availability"},{"openapi":"openapi_v1 post /v1/predict-correspondent","title":"Predict Correspondent","href":"/v1/api-reference/toolkit/predict-correspondent"},{"openapi":"openapi_v1 get /public-key/http","title":"Public Keys","href":"/v1/api-reference/toolkit/public-keys"}]}]},{"tab":"Dashboard Docs","pages":[{"title":"Dashboard Docs","href":"/dashboard/introduction"}]}]}]},"basePath":"","title":"Request payout - PawaPay Merchant API","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DdEMm2kG.js","utils-BMo572L7.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C-4m9KAx.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DPLK2Oq9.js","snippetPresets-BKjfJMC9.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-DTsgtCEj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C8vmhyQM.js","shallow-r9w8LQGS.js","getApiPlaygroundDisplay-DjPI64HQ.js","CodeSnippet-C8Bvhl16.js","CodeSnippets-BtWUwcMy.js","Page-BIYvYBgk.js","getPastedJson-Dcm_3Pgl.js","icon-BXwrTpjc.js","MethodPill-CcjfVmmy.js","DuplicateIcon-BuKIbXAQ.js","createIcon-DaL9yXsO.js","DynamicMarkdown-Co5nikxh.js","SectionHeading-P4UNTsMZ.js","axios-vUo_bRtp.js","Markdown-CEfymfIH.js","clsx-Dq9TQuNi.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-D2J8knkn.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BgZ2ThuU.js"]}