Overview
Deferred payout splits the journey across two flows:
Use this when the beneficiary should receive funds after the sender has committed, without both parties finishing in the same session.
Minting an origination freezes the send commitment (amount, corridor, funding method). It does not create a money-transfer operation. The operation is created when the recipient binds on
payout-claim.
Happy path
Sender widget after mint: share / copy the claim URL (cash also shows how-to-deposit copy; pay-at-store is not available yet). Recipient widget: if the origination is still takeable and the sender is CIP-verified, show the intention (“Receive”). Otherwise show that the claim is no longer available (same screen for several reasons — see Claim blocked).Sender identity (CIP)
The sender User (partnerId + origination referenceId) owns CIP. The recipient does not complete the sender’s KYC.
On claim/session, the payout-claim widget reads live
config.senderCipStatus (and bindingState). If the sender is not verified, the recipient is sent to the unavailable screen before they can choose a payout.
Kentucky approval only counts once the CIP webhook updates that User in this backend. A ticket approved in Kentucky against another environment leaves senderCipStatus: pending and the claim stays blocked.
Funding variants
The funding method is chosen on origination and stored onsendCommitment. Payout is chosen on claim.
Cash at store on deferred payout is not a standalone
cash-deposit origination. After bind, the sender widget mints an operation_payment cash-deposit link for that operation (stores + barcode), same pattern as other cash-funded operations.
Integrate
Exact bodies: OpenAPI (CreateDeferredPayoutOriginationLinkDto, CreatePayoutClaimLinkDto, widget deferred-payout routes).
1. Widget (typical)
Mint a sender hub. After the sender finishes compose + CIP UI, the platform mintspayout-claim and returns the share URL.
config can prefill user data and corridor pins (same general shape as send).
2. You distribute the claim link
POST /partner/links with flow: "payout-claim" when your integration owns claim distribution. See OpenAPI for required fields (existing originationId, or senderReferenceId + sendCommitment so the backend mints the origination).
3. M2M create
POST /v1/deferred-payout still originates + mints a claim link. Prefer widget + Partner links for new work; see Pre-quote lite for the stance on /v1/*.
Binding states and webhooks
Payloads: Webhook events.
Cancel
- Before claim (
payment_bound/awaiting_claim):POST /partner/deferred-payouts/:originationId/cancel(revokes the claim link). - After bind: sender cancels the operation from the origination link (
POST /widget/links/:linkId/operations/:operationId/cancel), same window as send. There is no widget cancel for an unclaimed origination.
Claim blocked
The recipient UI uses one unavailable title (“this claim is no longer available”). Triggers include:
Inspect
POST /widget/links/:linkId/claim → data.config.bindingState and data.config.senderCipStatus. Do not assume Kentucky UI “approved” until that field is verified.
Bind can still return SENDER_IDENTITY_PENDING / SENDER_IDENTITY_FAILED if CIP changes between splash and commit.
Related Partner resources
Next steps
Flows catalog
How flows fit in the platform.
Cash deposit
Standalone and operation_payment cash links (used after deferred cash bind).
Webhook events
deferred_payout.* and operation.*.Operations
Query operations after claim.