Accept payments in-person for a direct retail business
Learn how to accept card payments for your in-person business.
This guide describes how to set up your Stripe integration to accept payments with an in-person Point of Sale (POS) system.
For general in-person payments, we recommend Stripe Reader S700 using a server-driven integration. The steps in this guide use this reader and integration combination.
Create a Stripe account
Before integrating with Stripe, you must create a Stripe account.
- Create an account by entering your email address, full name, country, and creating a password.
- Fill out your business profile.
- In the Dashboard, click Verify your email. A verification email is sent to your email address.
- Verify your email address.
Order your reader
Order a card reader from the Stripe Dashboard. You can also order a physical test card to test your integration.
- In the Dashboard, go to Terminal > Overview.
- In the Hardware section, click Shop.
- Select I want to build a new integration using Stripe APIs and click Continue.
- Select Stripe Reader S700 (wi-fi only) and add it to your cart.
- Select your cart, then click Check out to complete your order.
Set up your reader
After you receive your card reader, you need to register it to a location. Registering a reader using its serial number lets you use the reader immediately after you unbox it. This method also allows you to re-register the reader without the need to physically have the reader to generate a pairing code.
Register your reader
After you find the serial number, register the reader in the Dashboard.
- In the Dashboard, go to the Hardware orders page and select your reader to find the reader’s serial number.
- On the Readers page, click Register reader.
- Enter the serial number and click Next. To register multiple devices at one time, you can enter multiple serial numbers, separated by commas.
- Optionally, choose a name for the reader.
- If you already created a location, select the reader’s new location. Otherwise, create a location by clicking + Add new.
- Click Register to finish registering your reader.
After you register your reader, it’s ready to use with the server-driven integration. We recommend storing the reader ID (tmr_) within your application so you know which reader to send transactions from your point of sale. You can retrieve reader IDs using the list readers endpoint.
Create the payment flow
Collecting payments with Stripe Terminal requires you to create a payment flow in your application. Use the Stripe Terminal SDK to create and update a PaymentIntent, an object representing a single payment session.
- Create a PaymentIntent. You can define whether to automatically or manually capture your payments.
- Process the payment. Authorization on the customer’s card takes place when the reader processes the payment.
- (Optional) Capture the PaymentIntent.
Test your integration
Physical test cards
Test payments with your Stripe Terminal reader using a physical test card. You can purchase readers and physical test cards from the Terminal tab in the Stripe Dashboard. We also support physical test cards from providers, such as B2.
This physical test card supports both chip entry and contactless payments. It only works with Stripe’s pre-certified readers, and only against the Stripe API in a sandbox. If you attempt to use your physical test card in live mode, the Stripe API returns an error. Unless stated otherwise, use the PIN 1234 when prompted.
When creating payments using a physical test card, use amounts ending in the following decimal values to produce specific responses:
| Decimal | Result |
|---|---|
| 00 | Payment is approved. |
| 01 | Payment is declined with a call_ code. |
| 02 | When using readers featuring a cardholder-facing screen, insert (or tap, if supported) the test card. If the card requires a PIN, the payment declines with offline_ and requests PIN entry if the reader supports chip entry. Enter 1234 to complete the test payment. |
| 03 | When using readers featuring a cardholder-facing screen, insert (or tap, if supported) the test card. If the card requires a PIN, the payment declines with online_ and requests PIN entry. Enter any 4-digit PIN to complete the test payment. |
| 05 | Payment is declined with an generic_ code. |
| 55 | Payment is declined with an incorrect_ code. |
| 65 | Payment is declined with an withdrawal_ code. |
| 75 | Payment is declined with an pin_ code. |
For example, a payment processed using a physical test card for the amount 25.00 USD succeeds; a payment processed for the amount 10.05 USD is declined.
Interac test cards Canada only
To test your Interac integration, you can use the simulated interac test card or an Interac physical test card. You can order it from the Terminal hardware shop in the Dashboard. You can’t use the Stripe-branded physical test card as an Interac card.
The Interac test card works for both interac_ payments and interac_ refunds. You can use the same test amounts you use for testing card_ payments. Unless stated otherwise, use the PIN 1234 when prompted. To test a declined refund, create a partial refund with an amount ending with the following decimal values: 01, 05, 55, 65, or 75.
Notiz
The Interac test card doesn’t support contactless payments.
eftpos test cards Australia only
To test your eftpos integration, you can use the simulated eftpos test card or an eftpos physical test card. You can order it from the Terminal hardware shop in the Dashboard. You can’t use the Stripe-branded physical test card as an eftpos card.
You can use the same test amounts you use for testing card_ payments. Unless stated otherwise, use the PIN 1234 when prompted.
Go live
- In the Dashboard, open your Account settings.
- Enter your business type, tax details, business details, personal verification information, and customer-facing information (for example, a statement descriptor).
- Add bank details to confirm where your money will be paid out.
- Set up two-step authentication to secure your account.
- You can optionally add automatic tax collection or revenue-based climate donations.
- Review the information you entered, and click Agree and submit.
- After you activate your profile, Stripe updates you from sandbox mode to live mode.
Learn more about activating your Stripe account.
Next steps
After setting up your integration, we recommend you implement the following features:
- Create physical or digital receipts for your customers.
- Collect on-screen information such as your customer’s signature or email. You can use this feature to do things such as create a rewards system or have your customers fill out a questionnaire.
- Collect tips on the reader or on a receipt.