Twint

Twint is Switzerland's leading mobile payment method, jointly owned by the major Swiss banks. With over 6 million users (roughly two in three Swiss residents), it is the country's most-used way to pay. The shopper pays from a linked Swiss bank account or a prepaid balance through the Twint app: on desktop they scan a QR code, on mobile the browser switches into the Twint app to approve. Twint processes in Swiss francs (CHF) only.

Payment method details

CurrencyCHF
CountriesCH
Minimum transaction value0.01 CHF
Maximum transaction valueVaries per issuing bank (in most cases CHF 5,000 per month)
CaptureNot supported
CancelNot supported
RefundFull and (multiple) partial refunds are supported. Up to 6 months.
DisputesSupported
Statement descriptorStandard constraints apply. No payment method specific restrictions.
Supported integrationsCheckout Components (Payment Methods List), Hosted Checkout

Create a seamless flow with the Payments API

In The Payment API section we explain how the Payments API can be leveraged to create a payment flow.

Checkout integration

Let Rootline handle the payment method selection. You initiate the payment by simply sending a payment request with below details. Note that Twint is settled in Swiss francs, so the payment currency must be CHF.

{ "account_id": "acc_12347Sifdo36cdycbsw4Pum", "amount": { "currency": "CHF", "quantity": "20.00" }, "reference": "test_reference", "statement_descriptor":"Bank statement text", "return_url":"https://www.my_return_url.com" }

The API will return a next_action object with a checkout_url. This url leads your customer to the Rootline checkout page, where they can select their payment method and further payment details.

{ "id": "pmt_UXRFkdU6kdAtO6ceGdxmW", "created_at": "2023-09-12T08:22:25.864452Z", "account_id": "acc_12347Sifdo36cdycbsw4Pum", "reference": "test_reference", "amount": { "currency": "CHF", "quantity": "20.00" }, "checkout_status": "open", "authorizations": [], "authentications": [], "next_action": { "checkout_url": "https://checkout.staging.rootline.com/payments/pmt_UXRFkdU6kdAtO6ceGdxmW/checkout" }, "statement_descriptor":"Bank statement text", "return_url": "https://www.my_return_url.com" }

Seamless redirect from your website to Twint

The custom integration allows you to redirect a customer from your page to Twint, without visibly interacting with Rootline's checkout pages. Payment method selection can be done in your own page. In addition to the /POST request above, to indicate that this is a Twint payment, provide twint as the value for the payment_rails.payment_method field:

{ "account_id": "acc_12347Sifdo36cdycbsw4Pum", "amount": { "currency": "CHF", "quantity": "20.00" }, "payment_rails":{ "payment_method":"twint" }, "reference": "test_reference", "description":"Test description", "statement_descriptor":"Bank statement text", "return_url":"https://www.my_return_url.com" }

Use the checkout redirect url for a seamless redirect to Twint. After completion of the payment, your customer will be redirected back to the return url that you provided.

{ "id": "pmt_UXRFkdU6kdAtO6ceGdxmW", "created_at": "2023-09-12T08:22:25.864452Z", "account_id": "acc_12347Sifdo36cdycbsw4Pum", "reference": "test_reference", "amount": { "currency": "CHF", "quantity": "20.00" }, "payment_rails":{ "payment_method":"twint" }, "checkout_status": "open", "authorizations": [], "authentications": [], "next_action": { "checkout_url": "https://checkout.staging.rootline.com/payments/pmt_UXRFkdU6kdAtO6ceGdxmW/redirect" }, "statement_descriptor":"Bank statement text", "return_url": "https://www.my_return_url.com" }