TWINT

This payment method is currently on a supervised rollout phase. Please contact your Technical Account Manager if you are interested by TWINT.
TWINT Payment Method – HiPay

TWINT is the most popular mobile payment solution in Switzerland, with over 5 million users. Customers pay online or in-store by linking their bank account or credit card to the TWINT app, authenticating each transaction directly on their device by scanning a QR code (web) or via an app-to-app hand-off (mobile).

PRESENTATION

BrandTWINT
Payment FlowRedirection to TWINT Hosted Checkout Page (Web / QR code & Mobile app-to-app)
IntegrationOrder API
Product Codetwint
Available country codesCH 🇨🇭
CurrencyCHF
Minimum amount0.01
Maximum amountDefined by the customer’s bank (in most cases CHF 5,000/month)
3DSNo
AuthenticationVia the customer's TWINT app
Session timeout15 min on the TWINT Hosted Checkout Page (3 min if the QR code is scanned but the payment is not confirmed in the TWINT app)
Refund
  • Full, partial and multiple partial refunds supported
Dispute / Chargeback
  • Chargeback supported

ESSENTIAL INFORMATION

POPULARITY AND AVAILABILITY

TWINT is the leading mobile payment solution in Switzerland, with more than 5 million users. It is widely adopted for online, mobile and in-store transactions, and lets customers pay by linking their Swiss bank account or credit card to the TWINT app.

PAYMENT PROCESS

The payment is made via redirection to the TWINT Hosted Checkout Page. Once the customer selects TWINT, they are securely redirected to authenticate and validate the transaction directly in their TWINT app — by scanning a QR code or entering a token on desktop, or via an app-to-app hand-off on mobile.

SECURITY AND COMPATIBILITY

Transactions are authenticated within the TWINT app, complying with security standards without storing sensitive data. Compatible across browsers and mobile devices.

CONFIGURATION AND COMPLIANCE

Ensure HiPay account is correctly configured. Only CHF transactions are supported. Use Redirect Pages Requirements.

USE CASES

Ideal for instant and secure payments, TWINT is perfectly suited for merchant sites targeting a Swiss customer base. The dual web (QR code / token) and mobile app-to-app experience provides a frictionless checkout and boosts conversion rates across both desktop and mobile devices.

INTEGRATION

INTEGRATION METHODS

Method Description
Order API Enables direct creation and management of transactions.

WEB VS MOBILE FLOWS

TWINT always relies on a redirection to the TWINT Hosted Checkout Page. Two customer experiences are supported depending on the device, determined by the browser_info object you send in the order request:

  • Web Flow (QR code / token): On desktop, the customer is redirected to the TWINT Hosted Checkout Page displaying a QR code and a token. They scan the QR code with their TWINT app, or enter the token in the app, to authenticate.
  • Mobile Flow (app-to-app): On mobile, the customer is redirected to the TWINT Hosted Checkout Page and handed off (app-to-app) to their TWINT app to confirm and validate the payment.

In both cases, the API response includes a forward_url field. You must redirect the customer to this URL to complete the payment.

USER EXPERIENCE

⚠️ The customer must have an active TWINT account (bank account or credit card linked) and the TWINT app installed.

  1. Customer selects TWINT on the merchant site.
  2. HiPay prepares the transaction.
  3. Customer is redirected to the TWINT Hosted Checkout Page.
    Web Flow: Customer scans the displayed QR code (or enters the token) with their TWINT app.
    Mobile Flow: Customer is handed off (app-to-app) to their TWINT app.
  4. Customer confirms the amount and validates the payment in the app (session max: 15 min; 3 min after scanning the QR code without confirmation).
  5. Bank sends the status to HiPay.
  6. HiPay notifies the merchant and confirms transaction to the customer.

ORDER API INTEGRATION

MANDATORY PARAMETERS

ParameterDescription / Example
payment_producttwint
orderidUnique identifier (e.g., ORDER_1583157211)
descriptionBrief description (e.g., Summer Sale)
amountTotal amount (e.g., 99.99)
currencyISO 4217 code (CHF)
firstnameCustomer's first name
lastnameCustomer's last name
countryCustomer's country (CH)

SPECIFIC INPUT PARAMETERS (OPTIONAL BUT RECOMMENDED)

Parameter Description
browser_info Object describing the customer's device/browser (user agent, screen, language, etc.). Used to route the customer to the appropriate experience (Web / QR code on desktop, Mobile app-to-app on mobile). See browser_info specification.
email Customer's email address
streetaddress Postal address
city Customer's city
zipcode Postal code

SPECIFIC OUTPUT PARAMETERS

Parameter Description
forward_url Url to redirect the consumer to the TWINT Hosted Checkout Page (Web / QR code & Mobile app-to-app)

ENDPOINTS

EnvironmentURL
Stagehttps://stage-secure-gateway.hipay-tpp.com/rest/v1/order
Productionhttps://secure-gateway.hipay-tpp.com/rest/v1/order

NOTE: Ensure that your HiPay account and redirection URLs are correctly configured to guarantee proper integration.

TWINT SAMPLE REQUEST

curl --location 'https://stage-secure-gateway.hipay-tpp.com/rest/v1/order' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization:*****'\
--data-urlencode 'payment_product=twint' \
--data-urlencode 'orderid=1769530975' \
--data-urlencode 'amount=1.50' \
--data-urlencode 'currency=CHF' \
--data-urlencode 'description=description TWINT' \
--data-urlencode 'firstname=John' \
--data-urlencode 'lastname=Doe' \
--data-urlencode 'country=CH'

Best practices

  • Send the browser_info object so the customer is routed to the right experience (Web / QR code or Mobile app-to-app)
  • Set a client-side timeout corresponding to the maximum session duration (15 min, and 3 min after the QR code is scanned)
  • Use server-to-server notifications to track status changes in real time
  • Test in the Stage environment before production
  • Handle refunds (full, partial and multiple partial)
  • Ensure the customer has an active TWINT account and the TWINT app installed
  • Check error codes and technical messages (general): HiPay Error Messages