Releasing a Payout Page
When creating a Payout Page, you can specify the release method with the releaseMethod field in the request payload.
There are two options:
| Release Method | Description |
|---|---|
MANUAL | Merchant must explicitly release the payout page via API |
AUTOMATIC | Payout page is released automatically after customer submission |
Choosing a Release Method: MANUAL vs AUTOMATIC
AUTOMATIC— The payout is processed immediately once the customer confirms and completes onboarding. Simple to implement, but leaves no checkpoint on your side before funds move.MANUAL— Once the customer confirms and completes onboarding, Breeze sends a webhook notifying you that the payout page is in statusPENDINGwith sub-statusPENDING_MERCHANT_RELEASE, instead of releasing funds right away. This gives you a chance to run your own balance/risk check and deduct the customer's balance before calling the Payout Page Release endpoint to actually release the funds.
We heavily recommend using
MANUALrelease. It adds a critical checkpoint that protects against race conditions, bugs, or balance manipulation that could otherwise lead to over-payouts — for example, a customer triggering multiple payouts that exceed their actual balance before your system catches up. WithMANUAL, you control exactly when the balance is deducted and when the release is triggered, giving you a safer, more auditable flow.Best practice: Deduct the customer's balance at the moment you call the Release endpoint — not earlier (e.g., not at payout page creation).
Manual Release
If the releaseMethod is set to MANUAL:
- The customer submits payout details and completes KYC verification (if required)
- The Payout Page enters status
PENDINGwith sub-statusPENDING_MERCHANT_RELEASE - Breeze sends a webhook event notifying you that the page is waiting for release
- The merchant must call the Payout Page Release endpoint to start processing
Example request:
curl -X POST \
https://api.breeze.cash/v1/payout_pages/payout_page_404aaaa1c9ced891/release \
-H 'content-type: application/json' \
-u "YOUR_API_KEY:"If you need some manual in-person review for a payout that would take a longer time, it would be better to do so before reaching this manual release step
Automatic Release
If the releaseMethod is set to AUTOMATIC:
- The customer submits payout details and completes KYC verification (if required)
- The payout page is immediately released for processing
- Breeze sends a webhook event where the payout page status is
PROCESSING
Updated 12 days ago
