Manage Payouts
Learn how to use the Payabli API to create, capture, and cancel payout transactions
Use Payabli’s payout functions to authorize, capture, and cancel vendor payment transactions. This guide covers the complete payout lifecycle through the API.
Considerations
Keep these considerations in mind when working with payouts:
- Payouts follow a two-step process: authorize then capture.
- You can include multiple invoices on a payout request, provided that the invoices are for the same vendor.
- At this time, you can make payouts to US and Canadian vendors only. Only paper check payments are available for Canadian vendors.
- Payout processing supports ASCII characters only. Don’t send non-ASCII characters in any fields related to payout processing.
Authorize a payout request
A payout request starts the process for paying vendors. Creating a payout request authorizes it immediately, but the transaction isn’t flagged for batch processing until it’s captured.
Send a POST request to /api/MoneyOut/authorize
to create a new payout authorization. See the API reference for full documentation.
This example authorizes a payout. The amount is $47, the vendor number is 7895433, and the only invoice being paid is 54323-7.
A successful request returns a JSON response. You need the referenceId from the response to capture the transaction. In this example, the ID is 129-219.
Send bill image with payout authorization
For the smoothest payout experience, Payabli recommends always sending an image of a vendor bill. If you use Payabli’s bill engine, you can add the bill image when you create the bill. If not, you can include a bill image with your payout authorization request.
You have two options for attaching the image:
- Base64-encoded string
- A publicly accessible fURL where the file is hosted
Method | doNotCreateBills is true | doNotCreateBills is false |
---|---|---|
Base64-encoded | Payabli doesn’t save a file for the base64-encoded content. During the money out capture process, Payabli sends out the capture to the payout processor without any file information. | Payabli stores base64-encoded content as a file. During the capture process, Payabli generates a publicly accessible URL for the file and sends it to the payout processor. |
fURL | If you have the file hosted publicly, you can send the file’s URL as the fURL instead. Payabli doesn’t save the file. During the capture process, Payabli passes the URL you sent with the request to the payout processor. | If you have the file hosted publicly, you can send the file’s URL instead. Payabli uses the URL from the request to save the file. During the capture process, Payabli generates a publicly accessible URL for the file and sends it to the payout processor. |
Capture a payout transaction
Send a POST request to /api/MoneyOut/capture/{referenceId}
to capture an authorized payout transaction. See the API reference for full documentation.
This example captures the authorized payout transaction with ID 129-219
.
A successful request returns a JSON response.
Cancel a payout transaction
Send a POST request to /api/MoneyOut/cancel/{referenceId}
to cancel a payout transaction. See the API reference for full documentation.
You can cancel an authorized payout at any time, because it hasn’t started processing. After a payout is captured, you have a small window in which you can cancel it. When the payment status has changed to processed
, you must contact Payabli support to cancel the payout.
This example cancels the authorized payout transaction with ID 129-219
.
A successful request returns a 200 response with a JSON body.
Was this page helpful?