> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Revenue by Payment Gateway, Adobe Commerce

> Revenue by Payment Gateway for Adobe Commerce stores. Tracked live in Vortex IQ Nerve Centre. How to read it, why it matters, and how to act on it.

**Metrics type:** [Supporting Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Ecommerce Platform](/nerve-centre/connectors#connectors-by-type)

## At a glance

> Revenue and order-count distribution by payment gateway. Adobe Commerce supports many gateways (Stripe, Braintree, PayPal, Authorize.Net, Adyen, Cybersource, Klarna, plus regional gateways). Adobe-affiliated PayPal Braintree is preferred in Adobe's recommended commerce stack but most merchants use multiple. The card surfaces concentration risk and routing health.

|                                                        |                                                                                                                                                                                                                                               |
| ------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **What it counts**                                     | `SUM(grand_total)` and `COUNT(orders)` grouped by payment method (`payment.method` field). Also surfaces share % per gateway. Includes net-30 invoice/PO routes for B2B (which appear as "checkmo", "purchaseorder", or custom method names). |
| **API field**                                          | `extension_attributes.payment_additional_info`, `payment.method` from `GET /rest/V1/orders`.                                                                                                                                                  |
| **VAT / tax treatment**                                | Revenue uses `grand_total` (tax-inclusive on B2C, often exempt on B2B).                                                                                                                                                                       |
| **Shipping inclusion**                                 | Included via `grand_total`.                                                                                                                                                                                                                   |
| **Discounts**                                          | Deducted via `grand_total`.                                                                                                                                                                                                                   |
| **Credit Memo refund treatment**                       | NOT subtracted; gross gateway volume.                                                                                                                                                                                                         |
| **`state` machine inclusion**                          | All states except `canceled`. `pending_payment` orders are counted by attempted-method (the merchant intent).                                                                                                                                 |
| **`pending_payment` quirk**                            | Net-30 orders appear under "purchaseorder" or merchant-custom invoice method; included. Stuck `pending_payment` from gateway-callback failures inflate the gateway's count without confirming captured revenue.                               |
| **Multi-currency `grand_total` vs `base_grand_total`** | Uses `base_grand_total` for cross-currency rollup.                                                                                                                                                                                            |
| **Store View scope (`store_id`)**                      | All Store Views; per-Store-View overlays useful when regional gateways differ (UK uses Stripe, US adds Authorize.Net, EU uses Adyen).                                                                                                         |
| **Time window**                                        | `30D`                                                                                                                                                                                                                                         |
| **Alert trigger**                                      | None by default.                                                                                                                                                                                                                              |
| **Roles**                                              | owner                                                                                                                                                                                                                                         |

## Calculation

Calculated automatically from your Adobe Commerce data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

## Worked example

A homewares brand on Adobe Commerce 2.4.6 with US/UK/B2B Store Views. 30-day window ending Monday 4 May 26.

**Gateway distribution:**

| Method                       | Order count | `base_grand_total` | % of revenue |
| ---------------------------- | ----------- | ------------------ | ------------ |
| stripe                       | 4,210       | \$456,000          | 44.7%        |
| braintree (PayPal Braintree) | 1,180       | \$186,000          | 18.2%        |
| paypal\_express              | 280         | \$42,000           | 4.1%         |
| purchaseorder (B2B net-30)   | 412         | \$310,000          | 30.4%        |
| checkmo (B2B wire transfer)  | 18          | \$24,000           | 2.4%         |
| authorize\_net (US legacy)   | 4           | \$620              | 0.1%         |
| **Total**                    | **6,104**   | **\$1,018,620**    | **100%**     |

What this is telling leadership:

1. **Stripe is the dominant consumer gateway** at 44.7% of revenue. Healthy diversification; not a single-point-of-failure.
2. **Braintree (PayPal Braintree) at 18.2%** is the secondary consumer gateway. Adobe-recommended; many merchants use Braintree because Adobe's Magento Marketplace and Adobe Commerce Cloud have first-party Braintree integrations.
3. **Purchaseorder (net-30) at 30.4% revenue from 412 orders** averages \$750/order. This is the B2B pipeline; cross-check with [B2B Revenue Share](/nerve-centre/kpi-cards/adobe-commerce/b2b-revenue-share) which also shows \~30% B2B share.
4. **PayPal Express at 4.1%** is a meaningful tail; smaller customers who default to PayPal. Often higher-AOV than direct-Stripe shoppers (PayPal-trusting customers tend toward higher trust/higher basket).
5. **Authorize.Net at 0.1%** is residual; legacy US wholesale customers grandfathered. Worth migrating to Stripe to consolidate gateway fees.
6. **Concentration risk analysis**: top 2 gateways (Stripe + Braintree) = 62.9%. If Stripe had a multi-hour outage, 44.7% of revenue would be at risk; PayPal Braintree could absorb some of that as a fallback. Stripe + Braintree both being down is a real risk; net-30 orders unaffected.
7. **Action items**: maintain Stripe + Braintree dual-gateway architecture; migrate Authorize.Net residual to Stripe within Q3 to consolidate fees; ensure net-30 pipeline has its own monitoring (purchaseorder method should not show stuck `pending_payment` for >30 days).

## Sibling cards merchants should reference together

| Card                                                                                    | Why pair it with Gateway Revenue                        |
| --------------------------------------------------------------------------------------- | ------------------------------------------------------- |
| [Payment Methods](/nerve-centre/kpi-cards/adobe-commerce/payment-methods)               | Granular method-level decomposition.                    |
| [Total Revenue](/nerve-centre/kpi-cards/adobe-commerce/total-revenue)                   | Aggregate revenue.                                      |
| [Financial Status](/nerve-centre/kpi-cards/adobe-commerce/financial-status-breakdown)   | State-by-state, including `pending_payment` for net-30. |
| [B2B Revenue Share](/nerve-centre/kpi-cards/adobe-commerce/b2b-revenue-share)           | The net-30 invoice route is mostly B2B.                 |
| [Cancellation Rate](/nerve-centre/kpi-cards/adobe-commerce/cancellation-rate)           | Gateway timeouts cause `pending_payment` cancels.       |
| [`stripe.stripe_total_revenue`](/nerve-centre/kpi-cards/stripe/total-charge-volume)     | Reconcile per-gateway.                                  |
| [`paypal.pp_total_volume`](/nerve-centre/paypal/pp_total_volume)                        | Reconcile per-gateway.                                  |
| [`shopify.gateway_revenue`](/nerve-centre/kpi-cards/shopify/revenue-by-payment-gateway) | Cross-platform peer.                                    |

## Reconciling against the vendor's own dashboard

**Where to look in Adobe Commerce Admin:**

> **Reports > Sales > Orders** with payment-method group can show per-method totals (Adobe Commerce 2.4.4+).

> **Sales > Orders** with payment-method filter for individual order verification.

> **Stores > Configuration > Sales > Payment Methods** lists all configured methods.

**Why our number may legitimately differ from Admin:**

| Reason                                                                                                             | Direction of divergence               |
| ------------------------------------------------------------------------------------------------------------------ | ------------------------------------- |
| **Method naming**. Card uses `payment.method` machine name; Admin shows display label. Same data, different label. | Cosmetic                              |
| **Time-zone**. Admin in Store View timezone; card UTC.                                                             | Boundary effects                      |
| **Currency**. Card uses `base_grand_total`.                                                                        | Material on multi-currency            |
| **`canceled` exclusion**. Card excludes; Admin includes unless filtered.                                           | Card revenue lower                    |
| **Multi-Store-View aggregation**. Card sums; Admin per-Store-View.                                                 | Card higher than per-Store-View admin |

**Cross-connector reconciliation (when these connectors are connected for this merchant):**

| Pair                                                                                | Expected relationship                                         | What divergence tells you                                                                            |
| ----------------------------------------------------------------------------------- | ------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- |
| [`stripe.stripe_total_revenue`](/nerve-centre/kpi-cards/stripe/total-charge-volume) | Stripe revenue ≈ Adobe stripe-method revenue, sub-second sync | Material gap means orders captured but not yet indexed in Adobe (pending\_payment); replay webhooks. |
| [`paypal.pp_total_volume`](/nerve-centre/paypal/pp_total_volume)                    | PayPal revenue ≈ Adobe braintree+paypal\_express revenue      | Same as Stripe.                                                                                      |
| ERP cash-deposit reports                                                            | Total minus net-30 should match bank deposits                 | Net-30 orders pay later; reconcile separately on aging schedule.                                     |

***

<details>
  <summary><em>Same-metric documentation cross-reference (for agencies running multiple platforms)</em></summary>

  * [`shopify.gateway_revenue`](/nerve-centre/kpi-cards/shopify/revenue-by-payment-gateway)
  * [`bigcommerce.gateway_revenue`](/nerve-centre/kpi-cards/bigcommerce/revenue-by-payment-gateway)
</details>

## Known limitations / merchant FAQs

**Why is PayPal Braintree separate from PayPal Express?**
Braintree is the merchant-of-record platform (Adobe-affiliated); PayPal Express is the legacy PayPal SDK integration. Different code paths, different reporting in Adobe. Treat them as related but distinct gateways.

**Adobe Commerce vs Magento Open Source: difference?**
Both editions support all gateways. Adobe Commerce paid edition has tighter Adobe-affiliated PayPal Braintree integration with B2B-specific workflow; Open Source merchants use the same Braintree integration with slightly less B2B-specific UX.

**My multi-store, can I see per-Store-View gateway breakdown?**
Yes, configure per-Store-View variants. Useful when regional gateways differ (UK Stripe, US Authorize, EU Adyen).

**Net-30 (purchaseorder) is showing as 30% of revenue but no money is in the bank, normal?**
Yes. Net-30 invoices are revenue-recognised at order capture (or invoice issuance, depending on accounting policy) but cash arrives 30+ days later. The card surfaces top-line gateway-routed revenue; for cash analysis cross-check ERP/accounting receivables.

**Stripe shows different revenue than this card, why?**
Common causes: (1) `pending_payment` orders count here but not in Stripe-captured volume; (2) sync lag; (3) currency conversion (Stripe in original currency, card in `base`); (4) cancelled orders excluded here but Stripe captures show them as charges + refunds.

**Should I migrate from one gateway to consolidate fees?**
Generally no. Multi-gateway architecture is resilience: a single Stripe outage hits 100% of revenue if Stripe is the only gateway. Concentration above 70% on one gateway is risky; ideal is 40-60% on primary plus 20-40% on secondary.

**Why is Authorize.Net only 0.1%?**
Likely a residual from before a Stripe migration. Most merchants migrate older customers off Authorize.Net for fee consolidation but a long tail of recurring/automated orders may persist. Worth a sunset plan if you've already migrated.

**B2B uses purchaseorder, can I see B2B-only gateway breakdown?**
Yes, configure to filter the B2B Customer Group or B2B Store View. The breakdown then shows B2B's actual gateway mix (typically 70-90% purchaseorder, 5-15% Stripe-for-deposit, 5-10% wire transfer).

***

### Tracked live in Vortex IQ Nerve Centre

*Revenue by Payment Gateway* is one of hundreds of KPI pulses Vortex IQ tracks across Adobe Commerce and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English.

[Start for free](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
