---
title: "Payments: Hosted Checkout, Subscriptions & Trade Credit | Commerce Engine"
description: "Hosted Checkout gets 90%+ of UPI payments through on the gateway you choose. Add UPI Autopay subscriptions, a virtual account for every trade buyer and NACH-backed credit lines."
canonical_url: "https://www.commercengine.io/features/payments"
---

> Commerce Engine site index: https://www.commercengine.io/llms.txt

# Payments

Commerce Engine's Hosted Checkout gets more than 90% of UPI payments through, on the gateway you choose. Renew subscriptions on a mandate, give every trade buyer its own account number for bank transfers, and extend credit backed by NACH. Every payment is recorded against the same orders.

## Checkout payment success

Hosted Checkout is engineered for the payment step. It shows each shopper the flow that works on their device, checks UPI IDs before a request goes out, and recovers payments that stall.

- **The right flow for the device**: UPI apps on Android, the apps that open on iPhone, a QR code on a laptop.
- **UPI ID checked first**: A mistyped UPI ID is caught before the request goes out.
- **Switch without waiting**: A stuck UPI request is cancelled, so the shopper can pay another way.
- **Checked with the gateway**: If a shopper pays and then closes the tab, the order still lands.
- **Retry from the order**: After a failure, the shopper tries again without rebuilding the cart.
- **No redirect for cards**: The card OTP stays on your page, and saved cards are accepted without a CVV.

Merchants who moved to Hosted Checkout saw UPI success rise 20–25%, to over 90%, measured against industry benchmark success rates.

**Docs:** [Payment status](https://www.commercengine.io/docs/api-reference/orders/retrieve-payment-status)

**See also:** [Orders & Subscriptions](https://www.commercengine.io/features/order-and-subscriptions.md)

## UPI and device-aware checkout

Hosted Checkout works out the device before it draws the payment step.

- **Android**: One tap into the shopper's UPI app. They approve in the app and land back on a confirmed order, with no QR code to scan and no ID to type.
- **iPhone**: iPhone hands off to UPI apps differently, so shoppers see only the apps that open there and go straight to the one they pick.
- **Laptop**: A laptop has no UPI app to open, so shoppers scan a QR code with their phone, or enter a UPI ID that is checked before the request goes out.
- **Cards**: On any device, the OTP stays on your page and saved cards skip the CVV. Card details and secrets never reach your servers.

**Docs:** [Hosted Checkout guide](https://www.commercengine.io/docs/hosted-checkout/overview)

**See also:** [D2C brands](https://www.commercengine.io/solutions/d2c.md)

## Payment gateways and routing

Hosted Checkout works with the gateway you already use. Connect PayU directly, ask us to integrate yours, or add any of 200+ more, Stripe included, through our Juspay integration. Then send each payment method to the gateway that handles it best.

- **Start with the one you have**: Connect your current gateway and every payment method runs through it. Nothing about your banking relationship changes.
- **Route by payment method**: Add a second gateway and send UPI to whichever does it best, while cards and netbanking stay where they are.
- **Automatic failover**: When a gateway starts failing on UPI, payments move to the next one automatically. You can also set the rules by hand.
- **No deploy**: Change gateways or routing in Checkout Studio.

**Docs:** [Checkout Studio](https://www.commercengine.io/docs/hosted-checkout/checkout-studio)

**See also:** [POS & Omnichannel](https://www.commercengine.io/features/pos.md), for split payments in store

## Recurring payments and mandates

Subscribers approve a mandate once at checkout, by UPI Autopay, card or netbanking, and every renewal is charged on schedule. When a charge fails, your dunning rules retry it and remind the subscriber.

- **Approve once**: A UPI Autopay, card or netbanking mandate covers every renewal.
- **Dunning rules**: Retry the charge and remind the subscriber on the days you choose.
- **Your last step**: If every retry fails, pause the subscription, mark it unpaid or cancel it.
- **One engine**: The same mandate logic runs trade credit.

**Docs:** [Subscriptions guide](https://www.commercengine.io/docs/storefront/subscriptions)

**See also:** [Orders & Subscriptions](https://www.commercengine.io/features/order-and-subscriptions.md), for plans, billing cycles and pauses

## Virtual accounts for bank transfers

Through a deep ICICI Bank integration, every trade buyer gets its own virtual account. Transfers settle against its open orders, oldest first, the moment they land.

- **NEFT, RTGS and IMPS**: Large transfers, straight from the buyer's bank.
- **Reconciled instantly**: Each transfer is matched the moment the money lands. The account number tells you who paid, so there are no reference numbers to chase and no statement to wait for.
- **Any number of payments**: One order can take as many transfers as the buyer likes.
- **Oldest first**: Transfers settle the oldest open orders first, and anything extra waits as credit for the next order.

Commerce Engine began inside Davai, our own B2B marketplace, whose trade buyers pay through these virtual accounts: 5,000+ virtual accounts and ₹250 Cr+ of GMV, most of it through them.

**Docs:** [Credit balance API](https://www.commercengine.io/docs/admin/api-reference/customers/get-customer-credit-balance)

**See also:** [B2B commerce](https://www.commercengine.io/solutions/b2b.md)

## Pay later: trade credit backed by NACH

Let buyers order now and pay later, on a credit line you control. Choose who gets credit, how much, for how long and how much on any one order. Each buyer signs a NACH mandate once through LotusPay, online or on paper. Orders draw on the limit, and the amount due is debited when the credit period ends.

- **Who gets credit**: Approved buyers, or every buyer, approved in bulk.
- **Your terms**: A credit limit, a cap per order and a credit period.
- **e-NACH or paper**: A paper mandate for banks not yet on e-NACH.
- **Dunning built in**: A bounced debit is retried on schedule, and if every retry fails, the buyer's credit pauses.

**Docs:** [Credit line API](https://www.commercengine.io/docs/admin/api-reference/customers/set-credit-line-eligibility)

**See also:** [B2B commerce](https://www.commercengine.io/solutions/b2b.md)

## Also included

Points and credit at checkout, refunds, GST invoices, split bills at the counter, seller payouts and cash on delivery, all recorded against the same orders.

- **Points, credit and card on one order**: Loyalty points and credit balance come off first and the gateway takes the rest. An order fully covered by points needs no payment step at all. See [Customers & Loyalty](https://www.commercengine.io/features/customers-and-loyalty.md).
- **Refunds that go back the way they came**: Preview how a refund splits across the original payment methods before you send it, or pay it to a verified bank account instead. See [Orders & Subscriptions](https://www.commercengine.io/features/order-and-subscriptions.md).
- **A GST invoice for every shipment**: CGST and SGST, or IGST, worked out per shipment, with HSN codes, the e-invoice reference and its signed QR code. See [B2B commerce](https://www.commercengine.io/solutions/b2b.md).
- **Split payments at the counter**: Take part of a store bill in cash and the rest by UPI, on the same order. See [POS & Omnichannel](https://www.commercengine.io/features/pos.md).
- **Seller payouts**: Commission, TDS and TCS, hold periods and payout batches for every seller on your marketplace. See [Multi-vendor marketplaces](https://www.commercengine.io/solutions/marketplace.md).
- **Cash, cheques and COD**: Any offline method works: cash at the counter, cheques from trade buyers or cash on delivery. Mark it paid in the dashboard, or let a shipping integration confirm COD. See [Shipping](https://www.commercengine.io/features/shipping.md).

## Webhooks and APIs

Every change to a payment or refund reaches your systems as a signed webhook, with an event ID so you never act on it twice.

- `payment.success`: The money arrived. Fires when a gateway callback, Commerce Engine's own payment check or a settled bank transfer marks a payment successful.
- `payment.failed`: It didn't go through. Fires when a gateway callback or Commerce Engine's payment check marks a payment failed.
- `payment.retried`: The shopper tried again, on an order whose last attempt is pending or failed.
- `order.confirmed`: A transfer or credit order settled. Fires when payment succeeds on an auto-approved store, an admin accepts the order, or a bank-transfer or credit-line order settles.
- `payment.refund.success`: The gateway reports that a refund went through.

API endpoints:

- `POST /orders`
- `GET /orders/{order_number}/payment-status`
- `POST /orders/{order_number}/cancel-payment-request`
- `POST /orders/{order_number}/retry-payment`
- `GET /payments/verify-vpa`
- `GET /payments/card-info`
- `POST /subscriptions`
- `PUT /subscriptions/{id}`
- `GET /customers/{customer_id}/credit-balance`
- `GET /customers/{customer_id}/credit-line-balance`
- `POST /customers/{customer_id}/mandates`
- `GET /customers/{customer_id}/mandate-debit-schedules`

**Docs:** [Webhook reference](https://www.commercengine.io/docs/api-reference/webhooks/overview) · [Checkout guide](https://www.commercengine.io/docs/storefront/checkout)

## FAQ

### What makes Hosted Checkout convert better?

It works out the device and shows the payment flow that works there. It checks UPI IDs before a request goes out, keeps card OTPs on your page and accepts saved cards without a CVV. It also recovers payments that stall. Merchants who adopted it saw UPI success rise 20–25%, to over 90%. Card details and secrets never reach your servers.

### Can I keep my current payment gateway?

Yes. Hosted Checkout works with PayU directly, and we're happy to integrate the gateway you use. Through our Juspay integration you can also reach 200+ more, Stripe included, and route each payment method to the one that handles it best.

### Do you support subscriptions and recurring payments?

Yes. Subscribers approve a mandate once, by UPI Autopay, card or netbanking, and renewals are charged on schedule. Failed charges follow your dunning rules: retries and reminders, then pause, mark unpaid or cancel. Plans, billing cycles and pauses are covered on the Orders & Subscriptions page.

### Can I offer cash on delivery?

Yes. Add COD as a manual payment method, just as you would cash at the counter or cheques from trade buyers. Orders are fulfilled as usual. Mark the cash as collected in the dashboard, or let your shipping partner's integration confirm it.

### How is trade credit secured?

Each buyer signs a NACH mandate through LotusPay, online through e-NACH, or on a paper form if their bank doesn't support e-NACH yet. The amount due is debited when the credit period ends. If a debit fails, it's retried on your dunning rules, and if every retry fails the mandate and the buyer's credit pause.

### How are bank transfers reconciled?

Each buyer gets its own ICICI virtual account. Transfers settle against that buyer's open orders, oldest first, the moment they land. An order can be paid in as many transfers as the buyer likes, and there's no passbook or statement to match.

### Which countries and currencies?

Payments today are built for India: INR, UPI, RuPay, NEFT, RTGS and IMPS, and GST invoices.

## Related

- [Orders & Subscriptions](https://www.commercengine.io/features/order-and-subscriptions.md): Plans, billing cycles, pauses and refunds.
- [Shipping](https://www.commercengine.io/features/shipping.md): COD confirmed by your shipping integration.
- [Customers & Loyalty](https://www.commercengine.io/features/customers-and-loyalty.md): Points that pay for part of an order.
- [POS & Omnichannel](https://www.commercengine.io/features/pos.md): Split payments at the store counter.
- [Catalog & Inventory](https://www.commercengine.io/features/catalog.md)
- [D2C brands](https://www.commercengine.io/solutions/d2c.md)
- [B2B commerce](https://www.commercengine.io/solutions/b2b.md): Virtual accounts and trade credit for wholesale buyers.
- [Multi-vendor marketplaces](https://www.commercengine.io/solutions/marketplace.md): Seller payouts with commission, TDS and TCS.

## Get started

We'll connect your gateway and switch on Hosted Checkout, then set up subscriptions, virtual accounts and credit lines, and take your first order with you.

- [Book a demo](https://app.youform.com/forms/qqvhuspq)
- [Read the Hosted Checkout docs](https://www.commercengine.io/docs/hosted-checkout/overview)
- [Start building free](https://app.commercengine.io/signup) on the Free plan
