@pwngh/economy-lab
    Preparing search index...

    Type Alias PayoutFailedEvent

    PayoutFailedEvent: WebhookBase & {
        kind: "payoutFailed";
        providerRef?: string;
        reason?: string;
        sagaId: string;
        userId: string;
    }

    A verified payout-failed callback: the payout rail reports it will not disburse one of our submitted payouts. It drives reversePayout with providerReported set, so the seller's reserve returns as soon as the rail gives up rather than after the maxPayoutAgeMs timeout.

    Type Declaration

    • kind: "payoutFailed"
    • OptionalproviderRef?: string

      The rail's own reference for the failed disbursement, recorded for the audit trail.

    • Optionalreason?: string

      The rail's failure reason (e.g. its status code or a human string), recorded on the reversal.

    • sagaId: string

      The payout saga (id of the form pay_) whose disbursement the provider gave up on.

    • userId: string

      The seller the payout belongs to. The submit pipeline locks accounts by this id, and reversePayout refuses the operation if it does not match the saga's own user.