Settle a creator payment
Changed onTriggers a real Stripe transfer + wallet debit when reward_type='cash'. reward_type='custom' records the settlement only — no money moves. Idempotency-Key is REQUIRED and the inner PaymentService.settle runs claim/release semantics so a retry with the same key can never double-pay. Every successful settlement emits an audit.campaigns.settle log line for on-call reconciliation. X-Dry-Run: true skips the Stripe call entirely. Payout controls can refuse a cash settlement before money moves: 423 PAYOUTS_FROZEN (payouts paused for the shop), 409 PAYOUT_LIMIT_EXCEEDED (per-transfer or 24-hour cap), 503 PAYOUT_CONTROLS_UNREADABLE. All three are temporary; retrying with the same Idempotency-Key is judged again. A key bound to a sub-user settles only if that user is an admin (403 PAYOUT_ROLE_FORBIDDEN). A cash settle for a shop in a region Reacher can't pay creators in is refused with 409 PAYOUT_RAIL_MANUAL; the brand pays outside Reacher and marks it paid in the dashboard.
Request
- Base URLhttps://api.reacherapp.com/public/v1
- URLhttps://api.reacherapp.com/public/v1/campaigns/payments/settle
- AuthAPI key in header x-api-key and API key in header x-shop-id
Headers
Request body
Response
Successful Response
Changes
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
added the non-success response with the status
- info
- info
api operation id
settle_payment_campaigns_payments_settle_postremoved and replaced withcampaign_payments_settle
- info