How to get started with Trustly Payments for E-commerce
Trustly's payment integrations cover the following scenarios:
Accept one-time payments
Accept recurring payments (only available in Sweden at the moment)
Let customers Pay by invoice.
Let customers Pay by link.
Provide a Refund.
API methods and notifications to implement in your e-commerce system are shown in the following table:
API method/notification | Function | Purpose |
---|---|---|
Deposit | Payment | Lets a customer make a one-time payment from their bank account. |
Refund | Refund | Refunds a previous Deposit. |
SelectAccount | Recurring payment | Lets a customer register a direct debit mandate. |
Charge | Recurring payment | To charge a customer’s bank account that has an active direct debit mandate. |
CancelCharge | Recurring payment | Cancels a Charge transaction with a future payment date. |
Pending notification | Notification | To notify you when the user has completed all the steps in the Trustly checkout (Deposit and SelectAccount) or when a Charge request has been received. |
Cancel notification | Notification | To notify you when a Deposit, SelectAccount or Charge order has been canceled. |
Credit notification | Notification | To notify you when a Deposit or Charge has been confirmed. |
Debit notification | Notification | To notify you that a Deposit has failed, even though a credit notification has already been sent. |
Account notification | Notification (Optional) | To let you know the status of a direct debit mandate (active or inactive). Can also be sent for Deposits to provide additional information about the bank account that was used by the customer. |
Accept a payment
Make sure that you have completed Sign up and received a Trustly test account.
If you have a native app implementation, integrate Trustly SDKs.
In a typical Deposit flow:
Your customer enters the amount for payment in your checkout.
Your system sends an API call to
Deposit
.Trustly responds with a checkout URL and
OrderID
.Your system redirects the customer to the Trustly checkout where they log in to their bank and authorise the payment.
The customer will be redirected from the Trustly checkout to
SuccessURL
specified in the deposit API call.Depending on the outcome, Trustly may send these notifications:
Cancel notification if the checkout process is interrupted.
Pending notification when the customer has completed the checkout process.
Account notification Trustly sends information about the bank account used in this order.
Credit notification when the payment has arrived at your Trustly account.
Debit notification if the transaction fails after the credit notification is sent.
Note: Account, Pending, Credit notifications can arrive in any order. The Account notification is not enabled by default. Contact Trustly Integration Support, if you need it.
7. Your system responds to the received notifications.
Develop business logic according to the deposit flow.
Make sure that your integration follows security requirements. See Security.
When a customer chooses Trustly in your checkout, your system calls Deposit.
Integrate Trustly Express. See Trustly Express API.
When Trustly responds with a Trustly URL, your system presents the URL to the customer to select a bank for making the deposit.
Make sure that your integration logs and handles error codes that are returned from API calls. See Error handling.
Make sure that your integration responds correctly to notifications that Trustly may send out.
When your integration presents a Trustly URL to customers, the presentation must follow Trustly checkout guidelines.
Prior to going live, the Trustly Integration Specialist will perform Acceptance testing. Make sure your integration has passed all test cases, including:
Deposit API calls
Built-in test cases of acceptance testing: D1 to D5, and G1 to G3.
Verify that your app has correct responses to notifications. See Notification tool.
Follow the instructions to go live.
Refund
Make sure that you have completed Sign up and received a Trustly test account.
If you have a native app implementation, integrate Trustly SDKs.
In a typical Refund flow:
Your system sends an API call to Refund.
Trustly responds with
"result" : "1"
to acknowledge the call is received.Trustly checks whether the funds have been settled.
If the funds are not settled, Trustly will process the refund request when the funds are settled.
If the funds are settled, Trustly will process the refund request.
Trustly sends a Payout confirmation when the funds are successfully sent from Trustly.
Note: The Payout confirmation is not enabled by default. Contact Trustly Integration Support, if you need it.If the refund fails, Trustly will send a Credit notification.
Your system responds to the received notifications.
Develop business logic according to the charge flow.
Make sure that your integration follows security requirements. See Security.
Make sure that you have sufficient funds in your Trustly account. You can schedule API call to Balance to ensure that your balance is sufficient.
When a customer requests a refund, you system sends a call to Refund.
Make sure that your integration logs and handles error codes that are returned from API calls. See Error handling.
Make sure that your integration responds correctly to Trustly notifications.
Prior to going live, the Trustly Integration Specialist will perform Acceptance testing. Make sure your integration has passed all test cases, including:
Refund API calls, both full and partial
Verify that your integration has the correct responses to notifications. See Notification tool.
Follow the instructions to go live.
Pay by invoice
Build an integration to Accept one-time payments.
In the Deposit API calls, include an invoice ID in attribute
ExternalReference
.
Pay by link
You can integrate pay by link as follows:
Build an integration to Accept one-time payments.
Your system sends payment links to customers through SMS or email.
The link must point to a page that is hosted by you. You cannot pre-fetch the Trustly URL.
When the customer clicks the payment link, your system sends the Deposit API call which returns the Trustly URL where they enter bank details and pay.
Note: Trustly URL will only be valid up to a maximum of 30 minutes before a timeout is reached.