Additional payment methodsÖffentliche Vorschau
Accept supported payment methods by displaying a QR code on Terminal smart readers.
Terminal’s smart readers can display transaction-specific QR codes for payment methods besides cards. Your customers can then scan this code to complete their checkout on their mobile devices.
The flow below shows a payment that supports both card and non-card payment methods. Alternatively, if you want to support multiple non-card payment methods without accepting cards, the reader bypasses the tap or insert prompt and instead shows the menu of non-card payment method options. If you want to support a single non-card payment method, the reader loads the QR code directly.

Collect payment method screen

Payment method selection screen

Loading screen

Scan QR code screen

Approved screen
Supported payment methods: WeChat Pay and Affirm
Supported readers: Stripe Reader S700, BBPOS WisePOS E
Notiz
Connect Accounts must have the requisite capability to perform transactions for each payment method. Learn more about Connect compatibility with Affirm and WeChat Pay.
To test non-card payment methods on Stripe Terminal, use a physical reader. The simulated reader isn’t supported.
All transactions must be made with a functional network connection, i.e. not while offline.
Create a PaymentIntent
To accept non-card payment methods through the QR code interface, create a PaymentIntent and include your preferred payment method types in the payment_
parameter.
- To present your customer all payment method options in the checkout flow, combine
card_
with non-card payment method types (present affirm
,wechat_
). We recommend enabling this if you operate in a heavily offline environment because only cards are supported in offline mode.pay - If you don’t want to accept cards, support only non-card payment method types (
affirm
,wechat_
).pay - If you know which payment method you want to direct your customer to checkout to, select a single payment method type.
Notiz
To process payments supporting both card_
and non-card payment_
, the reader application must be at least 2.
. To process payments supporting only non-card payment_
, the reader application must be at least 2.
.
Capture type
Many payment methods don’t support manual capture. Create your PaymentIntent with the capture_
parameter automatic
to support the broadest set of payment methods. To support manual capture for card payments while also accepting payment methods that require automatic capture, set capture_
on the nested payment_
attribute to manual
.
Handle the payment
Unlike card payments, processing QR code payments occurs asynchronously. When processing a PaymentIntent with a QR code payment method, Stripe generates a QR code unique to that payment. After processing the payment, the reader displays the QR code for the customer to scan with their mobile device. Shortly after the customer completes the payment on their device, the reader updates to reflect the completed payment.
Notiz
The time it takes for the reader to display the result of the payment might differ depending on the payment method used. The reader usually updates after a few seconds.
QR code payments support both processing the payment immediately and the two-step collect-and-confirm flow.
Customer experience 
After you process the PaymentIntent, the customer scans a QR code rendered on the reader screen. Depending on the payment method, the customer might quickly finalize the payment in their mobile application (most digital wallets), or complete a more extended process of evaluating financing offers (BNPL payment methods). Below are demonstrations of the payment flow for supported payment methods:
Testing 
In a sandbox, you can scan the QR code using a regular QR code scanning application on your mobile phone. The QR code payload contains a URL that takes you to one of these test payment pages:
Affirm-hosted sandbox page: If your account is onboarded with Affirm, the QR code URL takes you to an Affirm-hosted sandbox page where you can complete the payment process. When you’re redirected to the Affirm sandbox, you might receive a prompt to enter the last four digits of your SSN. Affirm recommends using either
0000
or5678
for testing purposes.Stripe-hosted test payment page: If your account isn’t onboarded with Affirm, you’ll be directed to a Stripe-hosted test payment page where you can choose to authorize or decline the test payment.
Notiz
The present_payment_method endpoint doesn’t support specifying QR code payment method types.