--- 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.
  1. Tick Enable PayPal.
  2. Set Mode to Simple (email + IPN).
  3. Paste your PayPal email.
  4. Tick Test mode (sandbox) until you've tested.
  5. Save.
### Advanced (REST) mode Full webhook support, scheduled payments. Requires PayPal developer credentials.
  1. In your PayPal developer dashboard, create an app and copy Client ID and Secret.
  2. Set up a webhook on the PayPal app pointing to https://yoursite.com/wp-json/yatra/v1/webhooks/paypal.
  3. Copy the Webhook ID.
  4. In Yatra, set Mode to Advanced (REST), paste the three values.
  5. Save.
## Pay Later (free) For travel agents who confirm with a deposit + remainder workflow, or who collect cash / wire / cheque outside the site.
  1. Tick Enable Pay Later.
  2. Type the Instructions customers see at checkout.
  3. 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):
  1. Tick Enable Stripe.
  2. Paste Publishable key and Secret key from your Stripe dashboard.
  3. Create a webhook in Stripe pointing to https://yoursite.com/wp-json/yatra/v1/webhooks/stripe.
  4. Copy the webhook signing secret (whsec_...) into Webhook secret.
  5. Tick Test mode, save, run a test booking with card 4242 4242 4242 4242.
  6. 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:
  1. Toggle Test mode on.
  2. Paste sandbox / test keys.
  3. Set up the gateway webhook in sandbox mode pointing to your staging URL.
  4. Book a trip as a fresh test customer with the gateway's test card or sandbox account.
  5. Verify: booking shows Confirmed, payment shows Completed, and the receipt email arrives.
  6. 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).