Local Payment Methods

Trustlyanchor

Overviewanchor

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 typeBuyer countriesSeller countriesCurrency codesCustomer transaction limits
trustlyAustria, Denmark, Estonia, Finland, Germany, Latvia, Lithuania, the Netherlands, Norway, Spain, Sweden, the United KingdomGlobal except Belgium, Brazil, Czechia, Poland, Russia, Slovakia and SloveniaEUR: Austria, Estonia, Finland, Germany, Latvia, Lithuania, the Netherlands, Spain DKK: Denmark GBP: United Kingdom NOK: Norway SEK: SwedenMin: 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 Transactionanchor

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 GraphQLanchor

note

Use GraphQL to create a local payment transaction.

Configure webhooksanchor

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:

  1. 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"
    }
  }
}

Below is an example of a Local Payment expired webhook for when the payment has expired:

  1. JSON
{
  "local_payment_expired": {
    "payment_id": "the_payment_id",
    "payment_context_id": "the_payment_context_id"
  }
}

See the Local Payment Method webhooks reference for details on the exact content of the Local Payment Method completed notification.