What does your app have to do after someone pays?
Say you sell a $10 monthly plan that lets a small business take more bookings. When the first customer pays, the extra bookings should open for their account. When the plan charges again, called a renewal, the app needs to know whether the customer paid or needs to update their card. Choose a service that can collect the money and tell your app what happened.
What should you sell first?
Start with one price and one thing the customer can check. What will they be able to do five minutes after paying? Checkout is where they pay. If you sell a subscription, tell them when the next charge is due.
A one-time sale can be simpler. If the whole product is a downloadable template, the customer can get the file as soon as the order clears. If the product is a feature inside an app, the next time they sign in you still need to know what they bought.
- Connect a test checkoutUse your payment provider’s test environment and its documented test payment details. Confirm the app uses test records and any confirmation messages can only go to a destination you control. Set up two separate test accounts before making a purchase.
- Pay without returning to the appBuy the plan under the first account. After the provider confirms the test payment, close checkout without using the return link. If the page returns automatically, ask your builder to test a run in which that return page doesn’t load.
- Open what the customer boughtSign in again as the first account. For the booking plan, check that it can now take the extra booking. For a one-time download, check that the buyer can open the file.
- Try a declined payment with the other accountUse the provider’s decline test details with the second account. Check that the app explains how to try again and that the second account can’t use the first account’s upgrade, even by going straight to the paid feature’s address.
Who deals with the receipt, sales tax and refund?
Look for the legal seller for that purchase, also called the merchant of record. With an ordinary payment processor, your business makes the sale and the processor moves the money. A reseller such as Paddle, Lemon Squeezy or Polar can make eligible sales to customers on your behalf. Stripe offers both arrangements through different services.
If a customer asks why the receipt includes sales tax or value-added tax (VAT), you need to know who collected that tax and who sends it to the authorities. A tool can calculate the tax while your business stays responsible for the sale. Check the actual product and countries covered by the seller arrangement. Your own business income and any sales outside that arrangement still need separate tax checks.
Now picture two support requests. A buyer who needs a receipt or asks about a charge may go to the legal seller’s order support. A buyer who paid and still can’t use extra bookings needs someone who can fix your app. Decide where each person should go before you open checkout.
Check that your business can receive payouts, the money the service sends you after sales. A service can accept a customer’s card in a country without being able to send earnings to a business based there. If you sell across borders, check the costs there too. Lemon Squeezy’s 1.5% international addition, for example, adds $0.75 to a $50 charge before any tax.
Compare tools
Scroll the table sideways to read every column.
| Tool | Who sells itThe business responsible for the sale to the customer. | What can hold up launchThe checks that affect when you can take payments or receive earnings. | What your app usesThe purchase and renewal information that tells you who gets access. | What changes the feeThe charges to look up for your own orders. |
|---|---|---|---|---|
| Stripe | Your business on ordinary Stripe payments. Stripe for eligible sales through Managed Payments. | Business verification. Separate country, product and checkout requirements for Managed Payments. | Confirmed payment and current subscription, linked to your customer’s app account. | Card processing, any Stripe Billing fees and the separate Managed Payments fee if you use it. |
| Paddle | Paddle resells eligible software and handles its transaction taxes. | Account verification and approval of the website where checkout opens. Check your product and country. | The subscription’s current status, what the customer bought and the date any scheduled change takes effect. | Standard per-checkout fee. Optional services, refunds, bank routes and currency conversion can affect what you receive. |
| Lemon Squeezy | Lemon Squeezy sells eligible products through its store. | Store activation, identity review and a supported way to receive your money. | Order or subscription changes for app access. Downloads and license keys can be delivered through the store. | Base order fee. Subscription, international and PayPal payments can add charges, as can payouts. |
| Polar | Polar resells eligible digital products and handles their transaction taxes. | Product and payout-country rules. Business, identity and payout-account checks before the first payout. | A record of the customer’s active subscriptions and what each purchase gives them. | Per-sale fees. Paid plans add a monthly fee and lower the per-sale rate. Card and payout charges can still apply. |
How do you make sure the right account gets what it paid for?
Tie the purchase to the account before sending the customer to checkout. If your app charges by workspace, such as one booking calendar shared by a team, tie it to the workspace they selected. A payment email address alone doesn’t tell your app which workspace to upgrade.
The payment service can send a message directly to your app when a payment or subscription changes. This is called a webhook. Your app checks the message’s signature to verify who sent it, then checks the payment status before opening the feature. Keep the secret your app uses to check signatures in its private settings on your host.
A message might arrive twice, late or out of order. If one order gives the customer 50 credits, the same message should never give them 100. If a newer update says their plan ended, an older one saying they paid should never switch it back on. Check failed deliveries and compare the customer’s current billing status with the app’s record when they disagree.
What would you pay on a $10 or $50 monthly plan?
For a $10 subscription, the checkout and billing fees below range from $0.66 to $1.05. For a $50 subscription, they range from $2.10 to $3.85. The lowest figure leaves the seller’s work to you.
These are standard fees for a US customer paying in USD with a US-issued card. They assume no added tax, currency conversion or negotiated rate, and Paddle’s fixed fee in USD. Payouts, refunds, disputes and separate tax work aren’t included.
| Billing setup | $10 charged | $50 charged |
|---|---|---|
| Stripe Payments with pay-as-you-go Billing | $0.66 | $2.10 |
| Stripe Managed Payments with Payments and pay-as-you-go Billing | $1.01 | $3.85 |
| Paddle standard Checkout | $1.00 | $3.00 |
| Lemon Squeezy, including its subscription addition | $1.05 | $3.25 |
| Polar Starter | $1.00 | $3.00 |
On a small screen, scroll the table sideways to read every column.
What should customers see when a renewal fails or they cancel?
Decide what happens to access before you offer a plan. Someone who already paid through the 30th can choose to stop the next charge and still use the plan through the 30th. Someone whose renewal card declines needs a way to fix the card and see whether the app will give them time to do it.
Rehearse all three with test records. Open the paid feature under the customer’s sign-in after each change. A dashboard showing the right payment is only half of the check.
| What happened | What to tell the customer | What to check in the app |
|---|---|---|
| Renewal declined | Explain how to update the card and whether they have time to do it. | Access follows your recovery policy. Check that the right plan is available when the customer pays successfully. |
| Customer canceled at period end | Show the last day of paid access. | The plan remains available until its actual end, then paid features stop. |
| You issued a refund | Say what money is being returned and whether future charges or access will change. | Check the refund, the subscription status and the resulting feature access separately. |
On a small screen, scroll the table sideways to read every column.
What changes if you sell credits, pay other sellers or switch providers?
Each of these jobs changes what your app has to keep track of. A monthly checkout is a useful first step. Check the separate requirements when the business starts doing more.
- If you sell 50 AI image credits, define when to take one away. Decide whether to return a credit if the image fails, and show the customer how many they have left.
- If customers use your booking app to pay independent instructors, the money now needs to reach another seller. Check support for verifying those sellers, splitting or sending money and handling refunds and taxes for the sale.
- If you switch providers, make a list of saved payment methods, renewal dates and access records that need to survive. A spreadsheet can preserve orders for bookkeeping. Find out separately which payment methods the new service can charge and who may have to enter a card again.
Related guides
- 1
Check your app before taking live payments
Check the live address, payment notifications, private settings and repeated actions before release. - 2
Test account access separately from sign-in
Keep two test sessions separate and inspect the app’s response when one account requests another account’s record.