Subscribing
Declare your endpoints as you would for any Yabetoo event (see Webhooks), subscribing to the names below.The envelope
The catalogue
connect.transfer.created: an allocation was created
connect.transfer.created: an allocation was created
Emitted on every successful allocation.
data (camelCase): id (ctr_…), controllerAccountId, connectedAccountId,
sourceWalletId, destinationWalletId, amount, fee, reversedAmount, currency,
availableAt, idempotencyReference, sandboxId, createdAt, updatedAt, account.connect.transfer.reversed: an allocation was reversed
connect.transfer.reversed: an allocation was reversed
data (camelCase): id (ctrr_…), connectTransferId, controllerAccountId, amount,
currency, idempotencyReference, sandboxId, createdAt, updatedAt, account.connect.application_fee.created: your commission was collected
connect.application_fee.created: your commission was collected
Emitted when a direct charge is captured.
data (camelCase): id (afee_…), controllerAccountId, connectedAccountId,
chargeId, intentId, transferId, amount, refundedAmount, currency, feePayer,
idempotencyReference, sandboxId, createdAt, updatedAt, account.connect.application_fee.refunded: your commission was clawed back
connect.application_fee.refunded: your commission was clawed back
data (snake_case): account, application_fee (afee_…), refund, amount (what
this refund clawed back), refunded_amount (cumulative), currency.Not emitted if the amount clawed back is zero.connect.funds.available: funds became available
connect.funds.available: funds became available
Emitted when a credit moves from the pending balance to the available balance. This is the
signal to trigger a payout.
data (snake_case): account, wallet, amount, currency, source_transaction.connect.refund.blocked_insufficient_funds: a refund was refused
connect.refund.blocked_insufficient_funds: a refund was refused
The only signal that the “no credit” policy fired. Without it, you discover the
402
through an unhappy buyer.data (snake_case): account, charge, refund_amount, required, seller_available,
marketplace_balance, shortfall, currency.connect.reversal.blocked_insufficient_funds: a reversal was refused
connect.reversal.blocked_insufficient_funds: a reversal was refused
data (snake_case): account, allocation (ctr_…), required, seller_available,
shortfall, currency.No
marketplace_balance here, unlike the refund refusal: on a reversal, your balance is
never drawn on.The two events that do not exist
Delivery idempotence
The two*_blocked_insufficient_funds events have no idempotence anchor: three successive
refusals produce three events. That is correct (three refusals did happen), but it differs from
the other five. Deduplicate on event.id if your processing is not idempotent.