Skip to main content

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_review
  • batch.review.approved
  • batch.review.returned
  • batch.review.rejected
  • batch.status.changed
  • batch.*

Review Events

The following events are used for payout batch review status changes:

  • batch.review.pending_review
  • batch.review.approved
  • batch.review.returned
  • batch.review.rejected

Fields to monitor

  • event_type
  • business_id
  • data.batch_id
  • data.status
  • data.review_status
  • data.execution_status
  • data.review_note
  • data.reviewed_at
  • data.reviewed_by
  • data.submitted_at

batch.status.changed

This event is sent when the batch-level execution state changes.

Fields to monitor

  • event_type
  • business_id
  • data.batch_id
  • data.status
  • data.review_status
  • data.execution_status
  • data.provider
  • data.bulk_send_id
  • data.success_count
  • data.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.status
    • data.execution_status
    • data.success_count
    • data.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:

  1. GET /payment/crypto-mass-payout/batches/{batch_id}
  2. GET /payment/crypto-mass-payout/batches/{batch_id}/items