Which payment gateway is best for subscription billing in Salesforce?

Stripe, Authorize.Net, PayPal, ACH, and How Native Billing Connects

Payment Gateways for Subscription Billing in Salesforce: The Complete Guide

By Kuldip Hillyer, Founder & CEO, Kugamon · Published September 15, 2026

There is no single best payment gateway for subscription billing. The best one for you supports the payment methods your customers actually use — cards, plus ACH if you sell B2B — tokenizes stored payment methods so card numbers never touch your CRM, and connects natively to the system that owns the subscription so payment status flows back to the invoice without a sync. Stripe, Authorize.Net, PayPal, and eWay all clear the first two bars. The third is decided by your billing system, not the gateway.

That's the part most gateway comparisons skip. Fee tables matter, but a tenth of a percent on card rate is noise next to a recurring charge that never adjusted for a one-time payment, or a declined card nobody in Salesforce saw for three weeks. For subscription billing, the gateway is plumbing. The billing system is where the money is tracked.

This guide covers what a gateway, a processor, and a billing platform each do; the eight things subscription billing needs from a gateway; published fees for Stripe, Authorize.Net, PayPal, and eWay as of September 2026; how a native Salesforce billing system like Kugamon connects to the gateway; how to test before go-live; and how routing works when you run more than one gateway.

Which Payment Gateway Is Best for Subscription Billing?

The one that passes three tests:

  • It supports the payment methods your customers use. Consumer subscriptions run on cards and wallets. B2B subscriptions run on cards for small contracts and ACH, wire, or check for large ones. If your customers pay by bank transfer and your gateway only takes cards, you'll be recording those payments by hand forever.
  • It tokenizes. The gateway stores the card and hands you a token. You charge the token. Card numbers never sit in a Salesforce field, which keeps most of your PCI DSS scope on the gateway's side of the line.
  • It connects natively to the system that owns the subscription. A Completed, Declined, or Refunded status should land on the payment record next to the invoice it paid — not in a gateway dashboard someone checks on Fridays.

Stripe, Authorize.Net, PayPal, and eWay all tokenize and all support recurring charges. They differ on fees, ACH, region, and wallet coverage. The comparison table below has the published numbers.

Gateway vs. Processor vs. Billing Platform: What Each Does

The three terms get used interchangeably. They aren't the same thing.

Layer What it does Examples What it doesn't do
Payment gatewayEncrypts and transmits card or bank details from your checkout to the processor, returns approved or declined, stores tokensStripe, Authorize.Net, PayPal, eWayDecide what to charge or when
Payment processor / merchant accountMoves the money: routes the transaction through the card networks or the ACH network and settles funds to your bank accountThe merchant account bundled with Stripe, PayPal, eWay, or Authorize.Net's all-in-one plan; or your bank's merchant account behind Authorize.Net's gateway-only planKnow which invoice the money was for
Billing platformOwns the subscription, the invoice, the amount due, the schedule, and the payment status; tells the gateway what to charge and records the resultSalesforce-native billing, or a standalone billing tool synced to the CRMTouch raw card numbers, if it's built right

Stripe, PayPal, and eWay bundle the gateway and the processing. Authorize.Net sells a gateway-only plan for businesses with their own merchant account and an all-in-one plan for those without. Either way, the billing platform is the layer that knows a $1,200 charge was invoice 0042 for the March renewal — and that's the layer subscription billing lives or dies on.

What Subscription Billing Needs From a Gateway

1. Tokenized stored payment methods

The customer enters a card once. The gateway returns a token; the billing system stores the token, the card type, and the last four digits. Every later charge uses the token. If a gateway can't do this, it can't do subscriptions.

2. Recurring or scheduled charges

A charge that runs on a schedule you set — a start date, a frequency (day, week, month, or year), and a number of occurrences — against the stored payment method. Some gateways run the schedule on their side; some billing systems run it and call the gateway each cycle. Either works as long as the result is written back.

3. Card and ACH support

For B2B, ACH is where the money is. Card fees are a percentage of the invoice with no ceiling; ACH fees at the gateways below are a lower percentage with a cap, which matters on a $40,000 annual invoice. Stripe, Authorize.Net (as eCheck), and PayPal all publish ACH rates for US businesses. eWay is Australian and lists PayTo for bank payments instead.

4. Authorization, capture, void, and refund

Authorize now and capture later, for orders that provision after payment. Void before settlement; refund after it. Refunds should be issued against the original payment so the records tie out.

5. Status reporting back to the billing system

Declined, Error, Expired, Pending, Completed — with the processor's message attached. This is the data that makes dunning possible. A gateway that only shows it in its own dashboard has half a feature.

6. Multi-currency

If you invoice in more than one currency, check whether the gateway settles in each currency or converts. eWay, for example, states on its pricing page that multi-currency requires a separate account per currency.

7. Wallets where the gateway supports them

All four gateways list digital wallets on their pricing pages; Apple Pay and Google Pay are named by Authorize.Net, PayPal, and eWay. Wallets matter more for consumer subscriptions than B2B, but they cut checkout friction wherever they appear.

8. A sandbox or test mode

Every gateway on this list has one. You'll use it for the test plan below.

Stripe vs. Authorize.Net vs. PayPal vs. eWay: Published Fees and Features

Every number here comes from the vendor's own pricing page as of September 2026, and each is linked. Fees change; the link is the source of truth. "See vendor page" means the page didn't state it plainly enough to quote.

Gateway Card fee (as published) ACH / bank debit (as published) Stored-payment tokenization Recurring billing Sandbox
Stripe2.9% + 30¢ per successful domestic card transaction (Stripe pricing)ACH Direct Debit 0.8%, $5.00 capYes — card details stored in Stripe's PCI-compliant vault (pricing page)Yes — Stripe Billing, priced separately (see pricing page)Yes — Stripe Sandboxes
Authorize.Net$25/month gateway fee; all-in-one plan 2.9% + 30¢ per transaction, or gateway-only 10¢ per transaction plus 10¢ daily batch fee with your own merchant account (Authorize.Net pricing)eCheck 0.75% per transaction; US businesses only; $10 monthly minimumYes — Customer Information Manager, no monthly feeYes — Automated Recurring Billing, no monthly feeYes — developer sandbox
PayPal (US)Standard credit and debit card payments 2.99% + $0.49; PayPal Checkout 3.49% + $0.49 (PayPal merchant fees)ACH Services 0.80%, capped at $5.00 per transaction (PayPal Online Payment Services)Network tokenization listed as an optional service at $0.15 per token; see vendor page for vault detailsYes — Recurring Billing listed as an optional service, $10.00/monthYes — PayPal sandbox
eWay (Australia)1.5% + 25c per Visa, Mastercard, or Amex transaction, +1.99% for international cards, no monthly fee; AUD, includes GST (eWay pricing)No ACH (Australian rails); PayTo pre-authorised bank payments listedYes — token payments listedYes — recurring billing listedYes — Eway Sandbox, linked from the pricing page

Two notes. Card rates cluster within a few tenths of a percent; the real cost differences are the monthly fee, ACH availability, and what a large invoice costs by card versus bank debit. And the table shows standard published rates only — volume and custom pricing exist and aren't listed.

How a Native Salesforce Billing System Connects to the Gateway

Here's how it works in Kugamon, as one example of billing that runs on native Salesforce records. Payments are a Salesforce object, and the gateway connection — Stripe, Authorize.Net, PayPal, or eWay — is configured in Kugamon Settings. A payment can be made only against an Approved or Released order or an Unsent or Sent invoice. When a user or a customer charges a card, the processor's response sets the payment status, and Completed amounts are applied to the invoice and roll up to the account balance. Stored payment methods are off by default and enabled by Kugamon Support; once on, a customer's saved method can be marked as the default. A Recurring Charge is scheduled from an Approved or Released order with a start day, a frequency by day, week, month, or year, and a set number of occurrences; the record shows the next payment date and carries controls to Cancel, Suspend, Update, or Bill for any Outstanding Amount. Refunds are issued from the original payment record.

Payment status What it means Applied to the invoice?
In ProcessCreated but not yet submitted to the processor; abandoned ones older than an hour can be deletedNo
Scheduled / PendingActive but not completed; status relayed from the processorNo
Declined / Error / ExpiredFailed; the processor's error message is written to the Payment Memo fieldNo
AuthorizedPayment method authorized, amount not yet capturedNo
CompletedCaptured, or a manual payment recorded; the amount is applied to the related order or invoiceYes
VoidedCancelled and communicated to the processor; authorized and completed amounts are un-appliedUn-applied
ReversedCancelled without contacting the processor; used for manual payments such as a check or bank transfer recorded by handUn-applied

The point isn't the specific names. It's that every one of those statuses is a field on a Salesforce record, so a report, a Flow, or an account owner can act on it without logging into the gateway.

How to Test a Payment Gateway Before Go-Live

Use the gateway's sandbox, not a live account with a $1 charge. Every vendor above publishes test card numbers and trigger values for specific responses.

1. Get sandbox credentials

Stripe Sandboxes, the Authorize.Net developer sandbox, PayPal sandbox accounts, and the eWay sandbox are all separate from production and move no real money. Connect the billing system to the sandbox keys, not the live ones.

2. Pull the test card numbers from the gateway's docs

Each gateway publishes card numbers and amounts that trigger approvals, declines, and specific error codes. Don't invent them, and never use a real card.

3. Run a declined-card scenario

Charge with the "decline" test card. Confirm the payment record shows Declined with the processor's message, and that nothing was applied to the invoice.

4. Run an expired-card scenario

Same again with an expired test card. This is the failure you'll see most often in production, so confirm the status, the message, and who gets notified.

5. Void one payment and refund another

Void an authorized payment before capture; refund a completed one from the original payment record. Check that the invoice balance and the account balance both move back.

6. Run a recurring charge through at least one cycle

Schedule a short-interval recurring charge with two occurrences and let it run. Confirm the second payment record was created, its status is Completed, and the next-payment date advanced.

7. Verify the invoice and the account balance

After each step, open the invoice and the account. Applied payment amount and balance due should change only on Completed payments and un-apply on Void or Reversed. If any of that takes a manual step, you've found your first production bug early.

Transaction Routing and Multiple Gateways

Plenty of businesses run more than one gateway: Stripe for US cards and ACH, eWay for Australian customers, PayPal because some buyers insist on it. When that's true, the billing system has to pick a processor per payment — by currency, by region, by payment method, or by the customer's saved default.

What to look for: each gateway is a separate processor connection with its own credentials and its own sandbox; the payment record stores which processor was used; stored payment methods are tied to the processor that tokenized them, so a Stripe token won't charge through PayPal; and refunds route back through the processor that took the original payment. In Kugamon, processor selection is driven by the Processor Connections and Payment Settings configured in Kugamon Settings — and if only one processor is configured, the selection step is skipped entirely.

Common Mistakes

  • Storing card numbers in CRM fields. A "Card Number" text field on the Account is a PCI scope problem and a breach waiting to happen. Store the gateway's token, the card type, and the last four digits. Nothing else.
  • Recurring charges that don't adjust for one-time payments. A recurring charge is a standing instruction to the gateway, independent of any ad-hoc payment. Kugamon's own documentation is explicit: if a customer with an active recurring charge makes a separate one-time payment, cancel and re-create the recurring charge against the updated balance due. Ask any billing vendor the same question.
  • No dunning path for declines. A Declined status nobody reads is an unpaid invoice with extra steps. Decide who gets the task and when before go-live — see involuntary churn and dunning.
  • Testing only the happy path. An approved test charge proves the credentials work. The decline, the expiry, the void, and the refund prove the system works.
  • Comparing card rates and ignoring ACH. On a five-figure B2B invoice, a capped ACH fee versus an uncapped card percentage is the largest cost difference in this article.

Frequently Asked Questions

Q: What is the best payment gateway for subscriptions?

There isn't a single best one. Choose the gateway that supports the payment methods your customers use (cards, plus ACH for B2B), tokenizes stored payment methods so you never hold card numbers, and connects natively to your billing system so payment status is written back to the invoice. Stripe, Authorize.Net, PayPal, and eWay all tokenize and support recurring charges; they differ on fees, ACH, region, and wallets.

Q: What is the best billing software with ACH support?

One that processes ACH through a connected gateway and writes the result back to the invoice. Stripe, Authorize.Net, and PayPal all publish ACH or eCheck rates for US businesses. In a Salesforce-native system like Kugamon, cards and ACH both run through the gateway connections — ACH through Authorize.Net (eCheck) and Stripe (ACH Direct Debit) — while wire and check payments are recorded against the invoice so the balance and account roll-ups stay correct.

Q: What is the best way to test a payment gateway?

In the gateway's sandbox, with the vendor's published test card numbers, and beyond the happy path. Run a declined card, an expired card, a void, a refund, and a recurring charge through at least one cycle, and after each step confirm the invoice balance and the account balance updated correctly.

Q: Which payment gateway suits SaaS platforms?

For SaaS selling to businesses, a gateway with both cards and ACH, tokenization, and a sandbox — Stripe, Authorize.Net, and PayPal all qualify for US merchants; eWay for Australian ones. The bigger decision for SaaS is the billing system, because that's where subscriptions, proration, and dunning live. The gateway just moves the money.

Q: What is the difference between a payment gateway and a payment processor?

The gateway transmits the transaction and returns approved or declined; the processor and merchant account move the money through the card or ACH networks and settle it to your bank. Stripe, PayPal, and eWay bundle both. Authorize.Net offers a gateway-only plan for businesses with their own merchant account and an all-in-one plan that includes one.

Q: Do I need to store card numbers to run subscription billing?

No, and you shouldn't. The gateway stores the card and returns a token; your billing system stores the token, the card type, and the last four digits, and charges the token on schedule. Card numbers never touch your CRM, which keeps most of your PCI DSS scope with the gateway.

Q: How does transaction routing work for subscription businesses?

When a business runs more than one gateway, the billing system selects the processor for each payment by currency, region, payment method, or the customer's saved default. Each gateway is a separate connection, stored payment methods are tied to the processor that tokenized them, and refunds go back through the processor that took the original payment. If only one processor is configured, there's nothing to route.

Q: What happens when a recurring subscription payment is declined?

The processor returns a decline, the billing system records a Declined, Error, or Expired status with the processor's message, and nothing is applied to the invoice. What happens next depends on your dunning workflow: retries for soft declines, a notice with a self-service link to update the payment method, a grace period, and escalation to the account owner for B2B accounts.

Next Steps

Pick the gateway by payment method and region, then judge the billing system with the test plan above: run the decline, the expiry, the void, the refund, and one recurring cycle in a sandbox and watch the invoice. If you want to see payments, stored payment methods, and recurring charges as native Salesforce records connected to Stripe, Authorize.Net, PayPal, and eWay, explore Kugamon Subscription Billing, read What Is Subscription Billing? and B2B subscription billing, or schedule a demo and bring your gateway's sandbox credentials. No pitch — just a test plan and the records to run it against.