TWINT (Online Checkout)
TWINT is a Swiss local payment method available through the myPOS Checkout API. The integration uses the same IPCPurchase request flow as card payments — the only difference is the PaymentMethod parameter.
Availability: Switzerland only. Requires the merchant account to have TWINT enabled.
How to enable TWINT in your checkout
TWINT must first be enabled on your merchant account. If TWINT is not enabled, setting PaymentMethod=5 will not display it on the checkout page.
The PaymentMethod parameter in IPCPurchase controls which of the enabled payment methods are displayed on the myPOS Checkout page:
| Value | Behaviour |
|---|---|
PaymentMethod=5 | Show only TWINT |
PaymentMethod=1,5 | Show both card and TWINT |
| (not set) | Show all enabled payment methods |
See the IPCPurchase reference for the full request structure.
Notifications (URL_Notify)
TWINT uses the standard IPCPurchaseNotify mechanism. On a successful TWINT payment, myPOS sends a POST request to URL_Notify with the same payload structure as card payments, including OrderID. The merchant endpoint must respond with HTTP 200 and body OK — exactly as for cards.
See the IPCPurchaseNotify / IPCPurchaseOK reference for the full notification payload and response requirements.
Rollbacks
If URL_Notify does not respond with 200 OK and body OK within the expected timeframe — for example because the endpoint is blocked by a firewall or WAF, returns a different status code, or returns an empty body — myPOS will issue an IPCPurchaseRollback to reverse the transaction.
A rollback received after a successful TWINT payment almost always indicates the merchant's notify endpoint did not acknowledge correctly.
Make sure your URL_Notify endpoint is:
- Publicly reachable from myPOS servers (no Cloudflare/WAF challenges)
- Returning HTTP 200 with body content exactly
OK - Not redirecting (e.g.
http→https)
Currency
TWINT supports CHF only. The merchant store must have CHF enabled, and the Currency parameter in IPCPurchase must be CHF.