---
title: Payments & gateways
description: Connect PayPal and Pay Later in the free Yatra plugin, plus the seven Pro premium gateways — Stripe, Razorpay, Mollie, Paystack, Square, Authorize.Net, and Bank Transfer.
---
# Payments & gateways
Pro
Stripe and 6 other gateways are Yatra Pro. The free plugin ships PayPal & Pay Later. Activate a license under Yatra → License to unlock the rest.
View pricing →
Yatra's free plugin includes **PayPal** and **Pay Later** as fully-working gateways. The other seven gateways — Stripe, Razorpay, Mollie, Paystack, Square, Authorize.Net, Bank Transfer — are part of **Yatra Pro**.
## What's included
| Gateway | Free | Pro | Notes |
| --- | --- | --- | --- |
| **PayPal** | ✅ | ✅ | Simple (email + IPN) and REST modes. |
| **Pay Later** | ✅ | ✅ | Customer pays on a deposit + balance flow, manually managed. |
| **Stripe** | — PRO | ✅ | One-time + scheduled balance payments. |
| **Razorpay** | — PRO | ✅ | India: cards, UPI, netbanking, wallets. |
| **Mollie** | — PRO | ✅ | Europe: iDEAL, Bancontact, SEPA, cards. |
| **Paystack** | — PRO | ✅ | Africa-first; cards, transfers, mobile money. |
| **Square** | — PRO | ✅ | North America / UK / AU / JP cards. |
| **Authorize.Net** | — PRO | ✅ | US-centric cards. |
| **Bank Transfer** | — PRO | ✅ | Manual settlement, with bank details on the booking. |
## Where to configure
Open Yatra → Settings → Payment.
The screen has three sections:
1. **Currency & test mode** — currency, decimals, test mode master switch.
2. **Gateway list** — every gateway as a row you can toggle on / off and reorder by drag.
3. **Gateway details** — expand the row to see fields specific to that gateway.
Pro-gated gateways display a **PRO** badge until you have an active license.
## Currency
Set under Settings → Currency:
- **Currency** — code (USD, EUR, INR, NPR, AUD, …).
- **Currency position** — `$199`, `199$`, `$ 199`, or `199 $`.
- **Thousand separator** — `,` or `.` or space.
- **Decimal separator** — `.` or `,`.
- **Number of decimals** — usually 2 (or 0 for JPY).
## PayPal (free)
Two modes:
### Simple mode
Easy setup — just an email address.
- Tick Enable PayPal.
- Set Mode to Simple (email + IPN).
- Paste your PayPal email.
- Tick Test mode (sandbox) until you've tested.
- Save.
### Advanced (REST) mode
Full webhook support, scheduled payments. Requires PayPal developer credentials.
- In your PayPal developer dashboard, create an app and copy Client ID and Secret.
- Set up a webhook on the PayPal app pointing to
https://yoursite.com/wp-json/yatra/v1/webhooks/paypal.
- Copy the Webhook ID.
- In Yatra, set Mode to Advanced (REST), paste the three values.
- Save.
## Pay Later (free)
For travel agents who confirm with a deposit + remainder workflow, or who collect cash / wire / cheque outside the site.
- Tick Enable Pay Later.
- Type the Instructions customers see at checkout.
- Optionally tick Auto-confirm booking on Pay Later selection.
When customers pick **Pay Later** at checkout, Yatra creates a **Pending** booking. Once you've received the money, mark the payment **Completed** in Yatra → Payments.
## Stripe PRO
PRO
Stripe — cards, wallets, and scheduled balance payments
Yatra Pro includes Stripe with first-class checkout integration plus support for the Scheduled Payments module — auto-charge the balance on a future date.
Unlock Stripe →
Setup (after activating Pro):
- Tick Enable Stripe.
- Paste Publishable key and Secret key from your Stripe dashboard.
- Create a webhook in Stripe pointing to
https://yoursite.com/wp-json/yatra/v1/webhooks/stripe.
- Copy the webhook signing secret (
whsec_...) into Webhook secret.
- Tick Test mode, save, run a test booking with card
4242 4242 4242 4242.
- Switch to live keys and run one tiny live transaction, then refund it via the Stripe dashboard to verify the full loop.
## Razorpay PRO
Popular in India.
- **Key ID** + **Key Secret** from the Razorpay dashboard.
- Webhook URL: `https://yoursite.com/wp-json/yatra/v1/webhooks/razorpay`.
- Optional **Webhook secret**.
## Mollie PRO
Strong in Europe (Netherlands, Belgium, Germany, France).
- **API key** (one key for live or test, prefixed `live_` / `test_`).
- Optional list of **Payment methods** (iDEAL, Bancontact, etc.).
- Optional **Webhook secret**.
## Paystack PRO
Africa-first.
- **Public key** + **Secret key**.
- Optional **Payment channels**.
- Optional **Webhook secret**.
## Square PRO
US, UK, Canada, Australia, Japan.
- **Application ID**, **Access token**, **Location ID**, **Webhook signature key**.
- Sandbox has its own credentials.
## Authorize.Net PRO
US-centric; popular with established merchants.
- **API Login ID**, **Public client key**, **Transaction key**, **Signature key**.
- Sandbox URL: `https://sandbox.authorize.net`.
## Bank Transfer PRO
Fields:
- **Bank name**, **Account name**, **Account number**, **Routing / SWIFT**, **Instructions**.
These details show on the booking confirmation page. The booking is **Pending** until you mark it paid.
PRO
Seven premium gateways — one license
Stripe, Razorpay, Mollie, Paystack, Square, Authorize.Net, and Bank Transfer all unlock with a single Yatra Pro license.
Compare Yatra Pro plans →
## Deposits & flexible payments PRO
PRO
Take 30% deposits, charge balance later
The Flexible Payments module lets you collect a deposit at booking time. Combine with Scheduled Payments to auto-charge the balance on a future date (e.g. 30 days before travel).
Unlock deposits →
To configure:
1. Open Yatra → Settings → Payment.
2. Find the **Partial / Deposit Payment** section.
3. Set the **Deposit type** (percentage or fixed) and the **Default balance due** (e.g. 30 days before travel).
Per-trip overrides are available in the trip's **Pricing** section.
## The Payments admin
Open Yatra → Payments.
You'll see every payment record across all bookings, with:
- **Search** by payment number, customer, or transaction ID.
- **Status filter** — Completed, Pending, Partial, Failed, Refunded, Cancelled.
- **Method filter** — by gateway.
- **Sort** — by Date, Number, Customer, Amount, Method, Status.
Default columns: Payment, Customer, Booking, Amount, Method, Status, Date.
### Add a payment manually
Click **+ Add New Payment** to record an offline payment (cash, wire, cheque):
- **Booking** — searchable dropdown (search by booking code, customer name, or email).
- **Payment Amount**.
- **Payment Method** — Credit Card, Debit Card, PayPal, Bank Transfer, Cash, Check, Other.
- **Payment Date** — picker (can't be future).
- **Transaction ID** (optional).
- **Notes** (internal).
- Sidebar: **Payment Status** — Pending, Completed, Partial, Failed, Refunded.
Click **Save Payment**. The booking's **Due Now** updates instantly.
## Refunds
Three patterns depending on the gateway:
| Gateway | Recommended refund flow |
| --- | --- |
| **PayPal / Stripe** | Refund in the gateway dashboard first, then mark refunded in Yatra. |
| **Razorpay / Mollie / Paystack / Square / Authorize.Net** | Same — gateway dashboard first, then mark refunded. |
| **Pay Later / Bank Transfer** | Refund manually via your bank, then mark refunded. |
To mark refunded:
- **Single payment** — open Payments, click the row → Edit → set **Status** to **Refunded**.
- **Bulk** — tick rows in the Payments list → bulk action **Mark as Refunded**.
When you mark refunded:
- The payment status changes.
- The booking's payment status updates accordingly.
- An invoice download is still available (now marked refunded).
- The `yatra_payment_refunded` action fires for downstream automations.
## Test mode workflow
A safe way to test any gateway:
- Toggle Test mode on.
- Paste sandbox / test keys.
- Set up the gateway webhook in sandbox mode pointing to your staging URL.
- Book a trip as a fresh test customer with the gateway's test card or sandbox account.
- Verify: booking shows Confirmed, payment shows Completed, and the receipt email arrives.
- Switch to Live mode, paste live keys, change the webhook to live mode, and run one small live transaction with a real card. Refund it via the gateway dashboard.
## Webhook URLs (cheat sheet)
```
https://yoursite.com/wp-json/yatra/v1/webhooks/paypal
https://yoursite.com/wp-json/yatra/v1/webhooks/paypal-ipn
https://yoursite.com/wp-json/yatra/v1/webhooks/stripe
https://yoursite.com/wp-json/yatra/v1/webhooks/razorpay
https://yoursite.com/wp-json/yatra/v1/webhooks/mollie
https://yoursite.com/wp-json/yatra/v1/webhooks/paystack
https://yoursite.com/wp-json/yatra/v1/webhooks/square
https://yoursite.com/wp-json/yatra/v1/webhooks/authorize-net
```
## What's next
- [Email & notifications](/email-settings) — what fires after confirmation.
- [Pro modules](/third-party-integrations) — every Pro feature, including Dynamic Pricing and Flexible Payments.
- [Troubleshooting](/troubleshooting).