Taking UPI payments for your film

how do i accept upi payments for my video
Last updated 2026-10-21

To take UPI money for something you sell online in India you need three things: a payment gateway account activated against your PAN and a bank account, a checkout that offers the UPI apps and a QR, and a server that listens for the gateway’s webhook. The webhook is the part people skip and the part that matters — a UPI approval can arrive after the payment sheet has closed, so the browser never knows for certain whether you were paid.

Activation is the long pole: KYC runs against a PAN and a bank account in the same name, and nothing else can start until it clears. Gateways charge a percentage of the whole collected amount, with GST on the fee in turn; rates differ and change, so read your own gateway’s pricing page. On watchmycreation, payment processing takes about 3% of everything collected, and on a ticket sold here GST at 18% sits inside the price the viewer sees rather than being added to it.

Intent, collect and QR — the three shapes of a UPI payment

A UPI payment reaches you in one of three shapes, and they behave differently under failure, which is the only reason you need to know the difference.

The mistake that costs you twice: trusting the browser

Here is the whole problem in one sentence. The payment sheet closing tells you nothing about whether you were paid.

A collect request outlives the tab that created it. The payer dismisses the sheet, switches apps, puts the phone down, then approves the request minutes later. If your code treats a closed sheet, or a dismissed modal, or even the gateway’s own “payment failed” event, as proof of failure, you will show that person an error while their money is on its way to you.

What happens next is predictable and expensive. They pay again, because you told them to. Now you hold two payments, you owe one refund, you pay the gateway’s share on both, and the person you were trying to sell to has had the worst possible first experience of your shop. The refund reaches them days later. They remember that, not the film.

So the rule is: your server, told by the webhook, is the only thing that knows whether you were paid. Everything the browser reports is a hint that lets you show a nicer screen sooner.

SignalWhat it actually meansWhat to do
Checkout callback fires, successProbably paid. Not proof — it is a message from a browser you do not control.Ask your own server, then show the receipt.
Sheet dismissed, tab closedNothing whatsoever. A collect request may still be pending on their phone.Keep waiting. Never show an error.
Gateway sends a payment.failed eventThat attempt failed. Another attempt, or a later approval, may still succeed.Say “not received yet”, never “that did not work”.
Webhook: payment capturedThe money has moved. This is the event.Deliver, idempotently.
Nothing, everEither the payer never approved it, or your webhook never arrived. You cannot tell those two apart from your own database.Ask the gateway for its own record of that order before you tell anyone that nothing was charged.

Three engineering consequences follow, and all of them are cheap to build and miserable to retrofit. Verify the webhook signature over the raw request body, because re-serialising JSON before hashing it breaks the signature in ways that look like a gateway bug. Make delivery idempotent on the order id — the same payment will be delivered to you more than once, on purpose, and the second delivery must change nothing.

And run a sweep, because the last row of that table is the one people get wrong. Webhooks go missing: an endpoint that was down while you were deploying, a URL changed in the dashboard and not in your code, a retry schedule that ran out while you slept. Silence in your own database is not evidence that nobody paid you. So on a schedule, take every order you still believe unpaid, ask the gateway what it thinks happened to it, and deliver anything it reports as captured. Without that, “let the webhook decide” is a rule with a hole in it, and the hole is always on the customer’s side.

What you need before you can take a rupee

In order, and none of it is optional if a stranger is going to pay you:

If you are selling a film, three of those are already built here: the gateway account, the policy pages and the webhook receiver. The second one stays yours — you give us a PAN and a payout destination, once, on your filmmaker profile, and until the PAN is there your earnings accrue but cannot be paid out. How the rest is handled here is the last section on this page. If you are selling anything else, the rest of this page is the method.

You may not need a gateway at all

Not if you are selling to people you already know. A UPI QR pasted into a WhatsApp message is free and instant, and for that audience it is perfectly adequate. It has four limits, and you meet all of them at once:

The moment you want to hand something to a stranger without being awake, you need a gateway.

Settlement: when the money is actually yours

A captured payment is not money in your bank account. The gateway holds it, nets its fee, and settles to the account on your KYC on a cycle it defines. Not the same instant, and not on a schedule you control. Your own gateway’s dashboard is where that cycle is stated; expect it to run longer while the account is new and to tighten once you have a history behind you.

Because the fee comes off at settlement rather than at capture, the amount credited to your bank never equals the amount captured from your buyers. That is the mechanism behind the rule: your sales record and your bank statement will never match line for line, and you should stop trying to make them. Reconcile against the gateway’s settlement report, which tells you which payments are inside which payout.

Refunds have to exist before you need one

A refund goes back through the gateway to the instrument that paid, and it takes its own time to land. UPI refunds are usually quick; that is not a promise you can make on your buyer’s behalf. Three things to have in place before you open for business:

What it costs

A gateway takes a percentage of the whole collected amount — not of what is left after tax — and GST applies to that fee in turn. That shape is worth planning around; the rate itself is not something to take from anybody’s article, including this one. Rates differ by gateway, differ again by rail, and move when the rules move, so the number that binds you is the one on your own gateway’s pricing page.

What we can state is our own. On watchmycreation the gateway share is roughly 3% of the whole collected amount, and tax on a ticket sold here is 18%, charged inside the displayed price rather than added on top. On a ₹100 ticket for a 10-minute film, that is ₹3.54 to the gateway and ₹15.25 of tax.

Whether you must charge GST on your own sales, and at what rate, is a separate question that turns on your registration, your turnover and what exactly you are selling. GST on selling film tickets online sets out what we can say about it; the rest is a conversation with a chartered accountant, and worth having before you price anything. The other deductions here, and why two of them are flat rupee amounts rather than percentages, are set out in what it costs to sell a film online. If you are costing the build rather than the checkout, what it costs to host and stream a film yourself is the other half of that bill — payments are rarely the expensive part. To put your own price through ours, use the earnings calculator.

How this is handled here, so you do not build it

Everything above is already wired up here, the careful way rather than the quick way:

What you never touch: signature verification, webhook retries, refund reversal, tax heads on an invoice, or the question of what to show someone whose payment is in limbo. The pricing page sets out what that costs.

What you give up is worth saying as plainly. We host video and sell tickets to it, so if the thing you are selling is not a film, none of this is open to you and everything above is the build you genuinely have to do. And the gateway relationship is ours rather than yours: the account, the KYC, the rate and the settlement cycle all sit on our side, so there is no rate for you to negotiate and no payout schedule for you to change, and the buyer’s receipt and tax invoice carry our name rather than yours. If what you want is your own direct commercial relationship with the people who pay you, build it — this page is how.

If you remember one thing

A UPI approval can land after your page has given up. Let the webhook decide, keep the customer waiting politely, and never say “it failed” about money you cannot prove did not move. Everything else in payments is easier than that one habit.

Questions people ask

can i accept upi payments without a payment gateway?
Yes, with a personal UPI QR — and it is free and instant, which is why it works well for selling to people you already know. What it cannot do is tie a payment to what was bought, deliver anything automatically, or give you a refund trail. A personal handle is also built for person-to-person transfers rather than merchant collection, and carries the per-transaction and per-day limits that go with that, so it stops being enough the moment strangers are paying you while you sleep.
why does my upi payment say pending for so long?
A UPI collect request sits in the payer’s app until they open it and approve, which can be long after the checkout page has closed. That is normal behaviour, not a failed payment — the seller finds out through the gateway’s webhook, not the browser.
what happens if the customer closes the page after paying?
Nothing is lost, provided the seller records payments from the gateway’s webhook rather than from the browser. On watchmycreation the webhook issues the ticket whether or not the tab is still open, and the access code and private link stay valid for the buyer to use later.
how do i know a upi payment really failed?
You mostly cannot, from your own records. No webhook usually means the payer never approved the request, but a webhook can also be lost, so silence proves nothing on its own. Check the gateway’s dashboard or settlement report for its record of that order before telling anyone nothing was charged, and run a scheduled sweep that asks the gateway about orders you still believe unpaid.
how long does upi money take to reach my bank account?
Not immediately. The gateway holds the captured payment, nets its fee, and settles to your KYC bank account on its own cycle, so your sales record and your bank statement will not match line for line — reconcile against the gateway’s settlement report instead.
how much does a payment gateway charge for upi in india?
Rates differ by gateway and change, so treat anyone’s published figure with suspicion and read the pricing page of the gateway you are actually signing with. What we can state is our own: on watchmycreation, about 3% of the whole collected amount goes to payment processing, with GST applying to that fee in turn.
do i need to charge gst on what i sell through upi?
UPI is only the rail; the tax question is about the sale, not the payment method. Ticket prices on watchmycreation are GST-inclusive at 18%, meaning the tax is inside the displayed price and is remitted to the government rather than being income for anyone. Whether you must charge GST on your own sales, and at what rate, depends on your registration, your turnover and what you are selling — that is a question for a chartered accountant, not for a payment method.

Published by Sajai Digital, which operates watchmycreation. We describe how our own platform works and what Indian law requires of it; this is not legal, tax or financial advice, and rates and rules change. Check anything that matters with a professional. Something wrong on this page? Write to support@watchmycreation.com and we will fix it.