You can use the Disbursements API to send funds to a customer using their Account Number and Routing Number. This is a manual entry workflow where you collect the banking details in your own UI and pass them to Trustly with the API.
When you handle raw banking data (Account and Routing numbers), you are responsible for maintaining Payment Card Industry Data Security Standard (PCI DSS) and National Automated Clearing House Association (NACHA) compliance.
To avoid handling sensitive data, Trustly recommends using Send payouts using online banking.
accessId and accessKey.Disbursement payment type.The following diagram illustrates the API-only workflow for Disbursements. Unlike Payouts, there is no Lightbox interaction.
The following table details each step of the Disbursement workflow.
Use the Establish API to tokenize the customer’s banking information. This creates a transaction record you can reference for the deposit.
Important: You must append createTransaction=true to the endpoint URL for this request to work correctly.
Endpoint: POST /establish
returnUrl and cancelUrl are required fields in the schema but are not used in this flow because there is no user redirect. You can pass placeholder URLs.
The API returns a Transaction object. You must store the transactionId from this response, as it is required to initiate the subsequent Deposit call.
Store the transactionId returned in the response.
Once you have the transactionId, use the Deposit API to initiate the transfer of funds.
Endpoint: POST /transactions/{transactionId}/deposit
The following table outlines the response statuses returned by the Deposit API and the recommended actions for each status.
Disbursements are asynchronous. You must implement a webhook listener to determine when the money actually arrives. See Handle webhooks.
The following are the statuses that can be returned:
Processed: The file has been sent to the Federal Reserve (ACH).Completed: The funds have settled in the customer’s account (typically T+1 or T+2).Reversed: The transaction failed after processing. For example, the account is closed.You can use the following test data to simulate a successful Disbursement authorization in the Sandbox environment.
For a complete list of test scenarios, including error triggers and other account types, see Testing.