TWINT
In Switzerland, TWINT is the most popular mobile payment option with 5 million users.
Customers can use TWINT payment terminals in-store or online and can pay with TWINT by linking their bank accounts or credit cards.
Payment Method Properties
Available country codes | CH |
Processing (Presentation) currencies | CHF |
Settlement currencies | CHF |
Consumer currencies | CHF |
Channel member tag | twint |
Scheme name in the settlement file | Twint |
Minimum transaction amount | CHF 0.01 |
Maximum transaction amount | Varies per issuing bank (in most cases CHF 5,000/month) |
Session timeout | 15 min - on the Twint HPP 3 min if the user has scanned the QR code but did not confirm the payment in the Twint APP. |
Refund | Full, partial and multiple partial refunds are all possible. |
Refund Validity | 6 Months |
Chargeback | Yes |
Integration Type | Asynchronous |
Sandbox | Scheme-Hosted |
Transaction Flow
- Merchant/PSP checkout :
- User selects TWINT as a payment method.
- PSP redirects to the TWINT hosted Checkout Page
If the consumer is paying from a desktop browser:
- Twint hosted Checkout page is opened
- Desktop: QR-Code and Token are displayed
- User can scan the QR-Code from the Twint mobile app or enter the token in the Twint app.
- Payment confirmation page with amount and merchant logo are displayed in the app
- User confirms the amount
- Payment successful page is displayed in the app
- Order confirmation status is displayed on the Merchant Webshop(desktop browser).
If the consumer is paying from a mobile browser:
iOS
- The consumer clicks on Pay with Twint button
- User is redirected to Twint HPP with options to select one of the issuers Twint app from the app selector drop down and or copy the Twint code.
- Selected Twint app is launched and payment confirmation page with amount and merchant logo are displayed
- User confirms the amount
- Success screen is displayed and user then clicks on close
- Pop-up message is displayed to return to the merchant online shopping page.
- Order confirmation Status is updated on the merchant online shopping page.
Android
- The consumer clicks on Pay with Twint button
- User is redirected to Twint HPP with the transaction amount.
- User can click on “switch to app button” or copy the Twint code and enter in the Twint app
- Payment confirmation page with amount and merchant logo are displayed in the Twint app
- User clicks on the “Ok” to confirm the payment
- User is redirected back to the merchant online shopping page.
- Order confirmation Status is updated on Merchant online shopping page
Refund Flow
Twint Integration
Specific input parameters for the TRANSACTION call
There are no specific input parameters for the TRANSACTION call.
For standard input parameters, check Input parameters for the TRANSACTION call.
Specific output parameters for the TRANSACTION call
This payment method will emit the output parameters outlined below:
Field name | Type | Description |
---|---|---|
SPECOUT.PROVIDERORDERSTATUS | ascii | Payment status. |
SPECOUT.PROVIDERORDERSTATUSCODE | ascii | Raw code for corresponding order status. |
SPECOUT.PROVIDERORDERSTATUSREASON | ascii | Reason for/details about the payment status. |
SPECOUT.PROVIDERORDERSTATUSREASONCODE | ascii | Raw code for corresponding order status reason. |
SPECOUT.PROVIDERERRORCODE | ascii | The error code displayed in case of a failed call. |
SPECOUT.PROVIDERERRORCODESTATUS | ascii | A human-readable error status. |
SPECOUT.PROVIDERCUSTOMERID | ascii | A unique ID per consumer per merchant |
For standard output parameters, check Output parameters for the TRANSACTION call.
TRANSACTION call input
&tag=twint
&txtype=TRANSACTION
&countrycode=CH
¤cy=CHF
&amount=100
&channel = testchannel
&merchanttxid=CkNWCBH4Wx4s
&login= 1234
&password=12234
&contractid=1233
&accountholdername= test name
&returnmode=urlencodeext
TRANSACTION call output
REQUESTSTATUS=SUCCEEDED
&STATUS=SUCCEEDED
&TXID=2112223632
&ERRMSG=
&CHANNEL=testchannel
&TAG=twint
&REDIRECTSECRET=1O2jLKHsCxaHejbQuCOR6nIFpaXKi342
&SPECOUT_PROVIDERORDERSTATUS=SUCCESS
&SPECOUT_PROVIDERORDERSTATUSCODE=0
&SPECOUT_PROVIDERORDERSTATUSREASON=ORDER_OK
&SPECOUT_PROVIDERORDERSTATUSREASONCODE=0
Updated 2 months ago