Payout Flow

This flow allows a user to choose a payment method in the context of a payout. It starts with a check for a signed TOS and, if necessary, presents the user with a TOS screen before allowing them to proceed. The user may choose an existing payment method if they have one, or create a new payment method and then choose it.

payout flow widget

Upon completion, this flow returns the following values:

Value Description
id The payment method ID, which may be used in creating a payout request.
psp_reference A reference ID for the payment method from the payment service provider (PSP).
pm_state The state of the payment method. One of: ACTIVE, INACTIVE, or UNVERIFIED. Payment methods must have a state of ACTIVE to be used in processing transactions.
attention

This flow does not, by itself, complete a payout. It simply provides a UI for the user to select (or add) payment methods for use in creating a payout request. Refer to our Developer Guides for information on requesting payouts.

Supported flowConfig Options

Keys (all optional) Values Description
hideExitButtons boolean (default: false) Hides 'X' button where user can close out the UI.
section.label string (or null to hide header all together) Allows customizing the header. Any passed in value should respect the user's localization preferences.
selectButton.label string Allows customizing the message on the 'Use this Payout Method' button. Any passed in value should respect the user's localization preferences.
postOAuthURLOverride url (string) Only relevant to native applications where a user needs to be redirected to a browser for OAuth validation (i.e. Paypal). To allow the native application to be opened after validation (through a universal link, or custom url scheme) you can supply the url string here. For this to work though, we have to add the url domain pattern to an allowed list of redirect patterns (please see your account rep to set this up).

Widget flow

Copy
Copied
window.Tilia.execute({
    rootId: < your.element.id > ,
    flow: payout,
    redirect: < redirect > ,
    onComplete: handleComplete,
    onError: handleError,
    flowConfig: {} // optional, see supported options above
});

The handleComplete callback will be invoked by the widget with the result of the flow.

If the user cancels anywhere in the flow:

Copy
Copied
{
    source: “tilia”,
    event: “tilia.pm.complete”,
    state: “cancel”,
}

If the user completes the flow:

Copy
Copied
{
    source: “tilia”,
    event: “tilia.pm.complete”,
    id: < payment.method.id > ,
    psp_reference: < psp.reference > ,
    pm_state: < payment.method.state >
}