Payouts
A Payout is a payment that can be attached to a payment-request. Once the payer has paid a payment, funds can be forwarded to the beneficiary in the payout.
Hubpay provides a seamless way to initiate payouts to beneficiaries after receiving payments, allowing you to automate the entire payment flow from collection to disbursement.
How payouts work
Payouts are initiated after a payment has been received and processed. The payout process involves:
- Initiating the payout with beneficiary details, payoutBeneficiaryId, payoutReference, and purpose of payment
- Processing the payout through various states (pending_approval, initiated, paid, or failed)
- Receiving status updates via webhooks as the payout progresses
- Transferring funds to the beneficiary when the payout is paid
Payout lifecycle
A payout moves through several states during its lifecycle:
State | Description |
---|---|
Pending Approval | Payment is awaiting checker approval (only when maker checker is enabled on the account) |
Initiated | Payment has been initiated and is being processed |
Paid | Payment has been successfully completed and funds have been paid to the beneficiary |
Failed | Payment failed due to error or rejection |
Tracking payout status
You can track the status of a payout using:
1. Webhooks (recommended)
Set up webhooks to receive real-time notifications when a payout changes state:
v1.collection.payment_request.payment.payout.pending_approval
- Payment is awaiting checker approvalv1.collection.payment_request.payment.payout.initiated
- Payment has been initiatedv1.collection.payment_request.payment.payout.paid
- Payment has been successfully completedv1.collection.payment_request.payment.payout.failed
- Payment failed due to error or rejection
For more details on payout webhook events, see the Payout Events documentation.
Each webhook includes details about the payout, including:
{
"paymentRequestId": "8a282576-18c0-4c0e-b158-44b92eda1afe",
"paymentId": "9b393687-29d1-5d1f-c269-55c03fda2bfb",
"transactionReference": "TX123456789"
}
2. API lookup
You can also query the API to get the current status of a payout using the Get Payment for Payment Request endpoint.
Maker Checker approval
If maker checker is enabled on your account, payouts will require approval before they are initiated:
- A maker (initiator) creates the payout
- The payout enters the "pending_approval" state
- A checker (approver) must review and approve the payout through the corporate suite portal (this approval cannot be done through the API)
- Once approved, the payout moves to the "initiated" state
If maker checker is not enabled, payouts will move directly to the "initiated" state after creation.