Payments

How to Accept Payments Online: A Clear Path for Business Websites

Published September 4, 2026 Scriplit

Accepting money on a website is a chain of jobs: identify the business, get a processor to underwrite it, present a checkout the customer will finish, capture a payment method without storing raw card numbers, confirm the payment actually settled, and match that settlement to an order in your books. Skipping any of those jobs is how people end up with a pretty “Pay now” button that cannot pay anyone.

Start with the sale you actually make. A freelancer sending invoices does not need a full cart. A subscription product does not need a one-page shop that forgets renewals. A physical-goods store needs tax, shipping, and refunds in the same flow as the card charge.

Processor, gateway, merchant of record

These words get mixed together in sales pages. For planning, keep them separate:

  • Payment processor / acquirer path: the company that talks to card networks, runs fraud checks, and pays you (minus fees and reserves). Stripe, Adyen, and similar platforms sit here for many online businesses.
  • Gateway: the technical connection that sends a payment request. Sometimes it is the same company as the processor; sometimes it is not.
  • Merchant of record: the legal seller the customer’s bank statement names. If you use a platform that sells on your behalf, they may be the merchant of record. If you have your own processor account, you usually are.

Your website does not “accept Visa” by itself. A licensed party in that chain does. Your job is to pick a chain that will take your business, then integrate it so orders and money stay aligned.

Match the payment method to the sale

Cards and digital wallets (Apple Pay, Google Pay) cover most consumer checkouts in markets where those wallets are common. They are not the whole picture.

  • One-off checkout: hosted payment page or embedded fields that tokenize the card. Good for stores and simple service deposits.
  • Invoices: send a payable link or a PaymentIntent the customer can open later. Useful for custom work and B2B.
  • Subscriptions: a customer object, a price, a billing period, dunning when a card fails, and a way for the customer to update the card. Do not fake this with a calendar reminder and a manual charge.
  • Bank transfer / ACH / local methods: slower confirmation, different failure modes, sometimes lower fees. Only offer them if your fulfillment can wait for the funds.

If Stripe is the processor you are aiming for, the implementation patterns (Checkout, Billing, webhooks) are covered in the Stripe payment gateway integration article. Other processors use the same ideas with different API names.

Underwriting happens before the first successful charge

Processors ask who you are, what you sell, where you are incorporated, where money should land, and whether the product is in a restricted category. A US LLC, an EIN, and a bank account can help a non-resident founder present a coherent file. They do not force approval. High-risk categories, unclear websites, mismatched legal names, and sudden volume all produce reviews or declines.

Prepare the boring package: legal name that matches the site footer, a real product or service description, refund and delivery terms, and a bank account in the business name. If the site still says “lorem ipsum” or the domain is three days old, expect extra questions.

Scriplit’s payment gateway integration work is technical and operational. We cannot promise that any named processor will accept your account.

Checkout is a product, not a plugin screenshot

Customers abandon payments when they cannot see the total, cannot pay as a guest, or get bounced through an account they did not want. Those issues belong to conversion as much as to the API. Keep the payment step short: email, delivery details if needed, tax and shipping in the total, then pay.

Show the amount the card will be billed, in the currency you will actually charge, before the customer authenticates. Surprises after 3-D Secure are how you get disputes.

On mobile, the pay button must stay reachable and wallet buttons should appear when the device supports them. A checkout that only works with a mouse will leak sales even if the processor is perfectly configured.

What you must never store

Do not save full card numbers, CVV, or magnetic-stripe data on your server, in logs, or in support tickets. Use tokens and processor-hosted fields. Keep HTTPS on every page that leads into checkout, not only the payment URL. Verify webhook signatures so a forged “payment succeeded” event cannot mark an order paid. Those controls are the core of payment security for websites.

After the charge: fulfillment and the books

A successful API response is not the same as money in the bank. Some methods are delayed. Some succeed and later reverse. Your order state machine should distinguish:

  1. Payment started (customer is on the processor page).
  2. Payment confirmed by a verified webhook or a server-side retrieve of the PaymentIntent/charge.
  3. Fulfillment allowed.
  4. Payout received (reconciliation, not a reason to delay shipping if policy says you ship on capture).
  5. Refund or dispute, which must unwind stock and invoices.

Export payout reports into accounting on a schedule. If you only look at the processor dashboard, you will eventually ship against a payment that was refunded or never captured.

A working sequence for a new site

  1. Write the offer, prices, and refund rules on the site in plain language.
  2. Get the legal and banking identity as far as you can (entity, tax ID, account in the same name).
  3. Apply to a processor that supports your country mix and product type.
  4. Integrate a hosted checkout or tokenized fields; listen to webhooks; test refunds.
  5. Reconcile one real payout before you scale ads.

If you want that sequence implemented on a PHP site or a hybrid store, contact Scriplit through payment integration. Bring the sale type, currencies, and whether you need subscriptions. The integration is the easy part once those facts are true.