Payout completed
Bitcart reports the payout transaction as confirmed. store_id is null.
Parameters
Section titled “Parameters”Header Parameters
Section titled “Header Parameters”t=<unix seconds>,v1=<hex> — HMAC-SHA256 keyed with the endpoint’s full whsec_… secret over <t>.<raw request body>. While a rotated secret is still valid, one v1= value is sent per valid secret: accept the delivery if any value matches (constant-time comparison) and reject timestamps outside your tolerance (the official SDKs default to 300 seconds).
Example
t=1760961600,v1=186aa47526353adc39a808f8e0bd84f501a5a6a1f483572b1f8a3eab3ed44cc8Same as event_id in the body. Delivery is at-least-once — deduplicate on this value.
One delivery per event and endpoint; the id stays the same across retries.
1 for the first attempt, incremented on every retry.
Request Bodyrequired
Section titled “Request Bodyrequired”Body of the payout.* webhooks.
object
object
object
object
Pending_approval (waiting for a second merchant member) → pending_operator (GRYPHEM review) → submitting → submitted (created in Bitcart) → sent (broadcast) → complete (confirmed). Terminal: rejected, canceled, failed.
Decimal string. Never a float.
Responses
Section titled “Responses”Any 2xx response within 10 seconds marks the delivery as succeeded. The response body is only kept as a short excerpt for troubleshooting.
default
Section titled “default”Any other outcome — a non-2xx status, a redirect (never followed), a timeout or a network error — is retried with exponential backoff (base × 2^(attempt − 1), capped at 6 hours, with 50–100% jitter; 10 attempts in the default configuration) and then moved to the dead-letter queue. 410 Gone stops retries immediately.