Local Payment Methods
Trustly
Overview
With Trustly, consumers can initiate payments directly from their bank accounts. Trustly integrates
with banks to collect funds locally across Europe and offers real-time reconciliation through
proprietary integrations to these accounts. Trustly natively supports payments on merchant checkout
and is optimized for most devices.- Create, verify, and link your PayPal business account in the Braintree Control Panel. In order to process Local Payment Methods, you need to have a valid PayPal business account.
Payment type | Buyer countries | Seller countries | Currency codes | Customer transaction limits |
---|---|---|---|---|
trustly | Austria, Denmark, Estonia, Finland, Germany, Latvia, Lithuania, the Netherlands, Norway, Spain, Sweden, the United Kingdom | Global except Belgium, Brazil, Czechia, Poland, Russia, Slovakia and Slovenia | EUR : Austria, Estonia, Finland, Germany, Latvia, Lithuania, the Netherlands, Spain DKK :
Denmark GBP : United Kingdom NOK : Norway SEK : Sweden
| Min: 0.01 EUR (depends on the bank) |
Note
Since Trustly is a non-instant payment method, we recommend you to only ship the goods after
receiving a success on the transaction status.
Capturing Non-Instant Transaction
There is no capture call for non-instant transactions; Braintree will associate a transaction on
behalf of the merchant once we receive confirmation that the payment has been settled.
Note
In sandbox, use the approval URL to display a modal in which you can simulate a successful
payment, an expired payment, or an unapproved payment. If successful payment is selected, a
webhook will be sent to the merchant in 2-3 minutes and the payment context will update to show an
associated transaction.
Server Side with GraphQL
Note
Configure webhooks
A webhook integration is required for Trustly. Webhooks serve as confirmation of a successful
payment as well as notification of an expired payment.
See the webhooks guide for a general overview
on how to configure webhooks. Below is an example of a Local Payment funded webhook for when the
buyer has completed the payment:
- JSON
{
"local_payment_funded": {
"payment_id": "the_payment_id",
"payment_context_id": "the_payment_context_id",
"transaction": {
"id": "the_transaction_id",
"amount": 1.00,
"currency_iso_code": "EUR",
"created_at": "2021-07-28",
"order_id": "the_order_id",
"status": "settled"
}
}
}
- JSON
{
"local_payment_expired": {
"payment_id": "the_payment_id",
"payment_context_id": "the_payment_context_id"
}
}