Trustly Payouts allow you to transfer funds directly to a customer’s bank account using the secure Trustly Lightbox. This is ideal for gaming withdrawals, wallet withdrawals, or gig-economy payments.
Unlike manual payouts which require you to handle sensitive banking data, this workflow authenticates the customer with their online banking credentials. This enables instant verification, reduces fraud, and supports Real-Time Payments (RTP).
accessId and accessKey.The following diagram illustrates the Payout workflow for a new user (first-time bank connection). This process involves the customer authorizing their account for the first time before the merchant initiates a deposit.
The following table provides details for each step of the payout workflow.
To send money, you first need to establish a connection with the customer’s bank. This generates a transactionId that represents the authorized account.
Use the Establish method with paymentType: 'Deferred'. This creates an open authorization without authorizing a charge or debit from the customer’s account.
Security Note: You must generate a requestSignature for the payload to prevent tampering. See Securing requests.
Once the customer completes the flow, Trustly redirects them to your returnUrl. You must capture the transactionId from the URL parameters.
To configure TrustlyOptions, see Integrate the Client-Side SDK.
Most merchants bypass this check. You can set instantPayoutRequest to true in your deposit call. Trustly will automatically attempt an instant settlement (RTP/FedNow) and fall back to standard ACH if the bank is ineligible.
Before sending funds, you may want to check if the customer’s bank supports Instant Payouts (Real-Time Payments).
Call the Get Transactions API using the transactionId you obtained when you authenticated the customer. For example:
Endpoint: GET /transactions/{transactionId}
Review the payment.paymentProvider.instantPayoutAvailable boolean field for the following values:
true: The bank supports instant settlement (RTP/FedNow).false: The payout will process via standard ACH (1-3 business days).Use the Deposit a Transaction API to transfer funds to the authorized account. For example:
Endpoint: POST /transactions/{transactionId}/deposit
The following table describes the response statuses returned by the Deposit a Transaction API and the recommended actions for each status.
Payouts are asynchronous. Even instant payouts undergo processing states. You must listen for Event notifications to confirm the final status. The API returns the following statuses:
PROCESSED: Trustly submitted the funds to the payment network.COMPLETED: The funds settled in the customer’s account.DENIED: The payout failed before submission.REVERSED: The payout was successfully submitted but later failed or returned by the bank. You should return the funds to the customer’s wallet balance.