# Set up Grid Checkout

> Let customers pay for their Endless Aisle bag on their own phone through Stripe: connect Stripe in the Console and select the payment type on the kiosk.

With Grid Checkout, the kiosk shows a QR code at checkout. The customer scans it, pays on a Stripe payment page on their phone, and the kiosk confirms the payment. Stripe sends the customer's receipt by email.

Grid Checkout works with **Stripe online checkout** payment types. Card terminals aren't supported on the Endless Aisle kiosk.

## Before you start

- A Stripe account and access to its dashboard
- Permission to manage checkout and payments in the Console
- Every product has a price for the kiosk's space. A product without a price can't be paid for

## How to prepare Stripe

1. In the Stripe dashboard, copy your **secret key**
2. Create a webhook for the **checkout.session.completed** event, pointing to PhyGrid's checkout service. Ask PhyGrid support for the webhook address of your tenant
3. Copy the webhook's **signing secret**
4. Optionally, create **shipping rates** and **tax rates** if you want Stripe to add them, and turn on email receipts so customers get their receipt

## How to set up checkout in the Console

A Grid Checkout checkout type must exist before payments can work.

1. In the sidebar, navigate to **Settings** → **Checkout & payment**
2. On the **Checkout types** tab, under **Create checkout type**, the **Type** is already set to **GridCheckout**
3. Enter the **Webhook URL** and **API key** your own systems use to be notified of each payment. Both are required
4. Click **Save**

## How to add a Stripe payment type

1. On the **Payment types** tab, click **Add payment type**
2. Enter a **Title**, for example "Kiosk payments"
3. Select **Stripe online checkout** as the **Type**
4. Paste the Stripe **Secret key** and the **Webhook secret key**
5. Enter the **Success URL** and **Cancel URL**: the pages customers see on their phone after paying or cancelling
6. Optionally, turn on **Allow promotion codes**, and set **Allowed countries** and the **Tax configuration type**
7. Click **Save**

## How to select the payment type on the kiosk

1. Open the Endless Aisle installation and go to the **Settings** tab
2. Expand **Features** and turn on **Bag**
3. Set **Checkout method** to **Grid Checkout**
4. In **Select Payment Method**, select your Stripe payment type
5. Select **Collect shipping address** if customers should enter a delivery address. This needs **Allowed countries** and **Shipping rates** in the payment type
6. Optionally, change the **Modal title** and **Modal sub title** shown above the QR code
7. Click **Save all changes**

## How to attribute sales to staff

Staff can identify themselves on the kiosk, so the sale is linked to their employee ID.

1. Turn on **Enable sales employee model**. A **Staff** button appears in the bar at the bottom of the screen
2. Optionally, turn on **Force show sales employee modal during checkout process** to ask for an employee ID before checkout
3. Click **Save all changes**

## How to test a payment

1. Set up a payment type with your Stripe test keys
2. On the kiosk, add a product to the bag and tap **Continue**
3. Scan the QR code and pay with a Stripe test card
4. Check that the kiosk shows **Payment Complete**, and that the payment appears in Stripe
5. Switch the payment type to your live keys
