Payments & Billing

StaYantra processes guest payments through a set of payment providers, and each hotel offers the providers that fit its country and its guests — local wallets where they exist, card payments everywhere.

The guest checkout flow on the Stayantra marketplace showing eSewa, Khalti, and Stripe payment options on the payment step

The guest checkout flow for a Nepal hotel — guests choose between the hotel's enabled payment options directly in the booking wizard.

1. Payment Providers Per Hotel

Which payment options a guest sees at checkout depends on the hotel:

  • Hotels in Nepal offer, by default: eSewa (mobile wallet, server-to-server signature verification), Khalti (wallet payment with OTP or in-app confirmation), and Stripe (international credit cards on a hosted checkout page).
  • Hotels everywhere else currently offer Stripe card payments.
  • A hotel can also have an explicit provider configuration (which providers are enabled, and in what order they appear at checkout) that overrides the country default.

2. Base Currency & Exchange Rates

Every hotel has a base currency — the currency its rates, folios, and reports are kept in. NPR is the default, and hotels can be configured with a different base currency.

A payment is charged in the currency the chosen provider settles in — eSewa and Khalti settle in NPR, Stripe in USD:

  • Same currency: When the provider's settlement currency matches the hotel's base currency (e.g. an NPR hotel taking an eSewa payment), the guest is charged exactly the folio amount. No conversion happens.
  • Different currency: When they differ (e.g. an NPR hotel taking a Stripe card payment in USD), the charge amount is converted at charge time using the platform's cached exchange rate, which is refreshed on a schedule and includes a small platform spread.
  • Rate snapshots: Every converted charge records the exact rate used and when it was captured, alongside both the base-currency amount and the charged amount — so the folio and reconciliation always show precisely what conversion applied to that payment.

[!NOTE] Exchange rates fail closed: if the cached rate for a currency pair is missing or more than 24 hours old, checkout in that currency is temporarily unavailable until the rate refreshes, rather than charging a guest on a stale rate.


3. Processing Refunds

If a booking is cancelled and a refund is due:

  1. Open the guest's Folio.
  2. Click Issue Refund.
  3. Select the original payment transaction.
  4. Specify the refund amount (full or partial).
  5. Gateway Rules:
    • Stripe: Refund is processed automatically back to the guest's credit card.
    • eSewa / Khalti: These wallet gateways require manual approval or a callback verification. The system will mark the refund as "Pending Dispatch" and notify the finance manager to release the wallet funds via the dashboard.

[!NOTE] If a refund amount is above your hotel's configured approval limit, it won't be released immediately — it's held for a manager or owner to approve first, the same way large discounts are.

On this page