Batch Payout Webhooks
Batch payout webhook events represent two different phases:
- batch review phase:
batch.review.* - batch execution/state phase:
batch.status.changed
Supported subscription events:
batch.review.pending_reviewbatch.review.approvedbatch.review.returnedbatch.review.rejectedbatch.status.changedbatch.*
Review Events
The following events are used for payout batch review status changes:
batch.review.pending_reviewbatch.review.approvedbatch.review.returnedbatch.review.rejected
Fields to monitor
event_typebusiness_iddata.batch_iddata.statusdata.review_statusdata.execution_statusdata.review_notedata.reviewed_atdata.reviewed_bydata.submitted_at
batch.status.changed
This event is sent when the batch-level execution state changes.
Fields to monitor
event_typebusiness_iddata.batch_iddata.statusdata.review_statusdata.execution_statusdata.providerdata.bulk_send_iddata.success_countdata.failed_count
Business Field Semantics
To determine whether batch review is approved, use:
data.review_status = approved- or event
batch.review.approved
To determine batch execution progress or final outcome, use:
batch.status.changed- together with:
data.statusdata.execution_statusdata.success_countdata.failed_count
Recommendation:
- use batch status and execution status as the primary batch-level state indicators
- use success and failure counts for operational reconciliation
Verification Relationship
Batch payout flows may also emit:
batch.verify.request
This is not a success callback. It is a verification request before auto-review approval.
Integration Guidance
Use batch webhooks for review and execution progress.
For final reconciliation, still use:
GET /payment/crypto-mass-payout/batches/{batch_id}GET /payment/crypto-mass-payout/batches/{batch_id}/items