Introduction to TDD

Trustly Direct Debit (TDD)

TDD enables convenient bank transfers and payments in Sweden through Autogiro, a Direct Debit scheme. Both one-click payments and interaction-free payments (suitable for subscriptions) are supported. The service is based on a mandate from the consumer for Trustly to debit their bank account.

Mandate registration

A mandate can be registered in two different ways:

  • 1. Mandate registration using SelectAccount
    If the merchant wants to let the customer approve a mandate that can be used for future payments, the SelectAccount method with the attribute "RequestDirectDebitMandate" : "1" should be used.
  • 2. Deposit with mandate registration
    If the merchant wants to let the customer do a one-time instant payment (from their bank account and at the same time set up a mandate for future payments, this can be done by sending a Deposit call with the attribute "RequestDirectDebitMandate" : "1".

In both scenarios, Trustly's API will return a URL that should be displayed to the customer on the merchant's website. This will allow the customer to log in to their bank and approve the mandate.

Once the mandate has been approved by the customer, an account notification will be sent with the AccountID of the customer account. After that, it usually takes one bank day before the mandate is registered and ready to be used, assuming that the mandate was approved by the customer before 18.00 Swedish time.

When the mandate is registered successfully, Trustly will send a second account notification with the attribute "directdebitmandate": "1".

If a customer approves a mandate for a bank account where a mandate already exists, an account notification with "directdebitmandate": "1" will be sent immediately, and no second account notification will be sent.

Unsuccessful mandate registration

In the case of an unsuccessful registration, an account notification with "directdebitmandate": "0" will be sent to the merchant, and it means that it will not be possible to debit this bank account.

If a Deposit is done in connection to the mandate registration (scenario 2 above), that one-time transaction is not impacted by the result of the mandate registration.

Revoking a mandate

The customer can revoke the mandate by contacting Trustly, the merchant, or their bank. The merchant can revoke a mandate by using Trustly's backoffice (Direct Debit > Merchant autogiro mandates). When a mandate is revoked, the merchant is informed through an account notification with the attribute "directdebitmandate": "0".

Charging the customer's bank account

When it's time to debit the customer's bank account, the merchant sends a Charge call containing the AccountID of the bank account, the amount that should be charged, and (optionally) the payment date. If no payment date is specified, it will be processed as soon as possible.

A charge request needs to be sent every time a customer's bank account should be charged. So for example, a merchant that wants to charge their customers once per month need to send one Charge call every month for every customer.

When the charge has been confirmed, a Credit notification will be sent to the merchant. This usually happens the next bank day, assuming that the Charge call was received by Trustly before 18.00 Swedish time. If Trustly receives a charge call after this cut-off time, there is a chance that the payment will be processed a bank day later.

If you send a Charge before the mandate is registered (before an account notification with "directdebitmandate": "1" is sent), it can be queued on Trustly's side and processed as soon as the mandate registration is completed. However, this feature is not enabled by default. Please speak to your Trustly contact person if you want to have it enabled. If this is not enabled, the API will instead return an error code in this scenario.

📘

To maximize the chance that there are funds available on the customer's bank account, we recommend that Charge requests are sent between the 25th and 27th each month when salary is usually paid out.

Send Charge requests and mandate registrations before 18.00 Swedish time if you want them to be processed the next day.

Failed Charges and Retries

In case a debit from the customer’s bank account fails, e.g. because the account is out of funds, it is possible to make 1-3 additional attempts. The retries (if enabled), are done automatically from Trustly's side and do not require the merchant to send new Charge requests. The additional attempt(s) can either be done a certain number of days after the first unsuccessful attempt and/or on a certain day of the month, for example on the 25th. Please speak to your Trustly contact person if you want to configure automatic retries.

📘

Notifications

  • Immediately after the Charge has been accepted for processing, a pending notification is sent.
  • Once the Charge has been successfully processed, a credit notification is sent.
  • If the Charge could not be processed and no automatic retries are configured, a cancel notification is sent.
  • If a Charge fails and automatic retries are configured:
    • A credit notification is sent if one of the retries is successful.
    • If all retries fail, a cancel notification is sent after the last attempt. No notification is sent after each individual retry, only after the last one.

Cancelling future charges

If you have included a future payment date in a Charge request and would like to cancel it, you can do so by using the CancelCharge method.

Refunds

A Charge can be refunded to the customer's account by using the Refund method, or by using Trustly's backoffice.

Diagrams

Mandate registration using SelectAccount

Deposit with mandate registration

Charge request