MCC 5122 Payment Processor: Routing, Compliance, and the 3% Alternative
By Peptide-Pay Team · Published April 22, 2026

MCC 5122— "Drugs, Drug Proprietaries and Druggists' Sundries" — is the Merchant Category Code Visa and Mastercard assign to peptide, research-compound, and pharmacy-adjacent merchants. It's also the code that gets you banned from Stripe, PayPal, Square, Adyen, Mollie, and every other mainstream PSP. In 2026 the working solution for an MCC 5122 payment processor is one of two shapes. Option A: a traditional high-risk PSP (CCBill, AllayPay) at 8–10% fees, 2–4 week underwriting, LLC + bank statements + processing history required, plus a $5k–$50k rolling reserve — designed for established merchants. Option B: a crypto on-ramp architecture like Peptide-Pay — Stripe, but for people who get rejected from Stripe — without the complexity of high-risk PSPs — which routes the card transaction under MCC 6051 (crypto purchase), charges 3% flat, requires no registered company to start, and goes live same-day. This article explains the routing, the compliance logic, and the exact drop-in code.
Why mainstream processors ban MCC 5122 merchants
Three policy layers stack on top of each other:
- Visa's Restricted Activities / VIRP program. Visa's Integrity Risk Program subjects MCC 5122 merchants to quarterly review. Acquirers that sponsor MCC 5122 merchants pay higher scheme fees and carry reputational risk with Visa.
- Mastercard's Business Risk Assessment and Mitigation (BRAM). BRAM flags MCC 5122 merchants for enhanced due diligence. Excessive disputes or regulatory notices trigger placement on the MATCH list, a shared blacklist across all Mastercard acquirers.
- Processor-level restricted-business policies. Stripe, PayPal, Square, Adyen, Mollie, and every mainstream PSP publish public lists of prohibited MCCs. MCC 5122 is explicitly on every one.
The result: even a clean MCC 5122 merchant with zero chargebacks gets terminated the moment its descriptor pattern trips the processor's automated classifier — typically within 2–6 weeks of first transaction.
The architecture that actually works for MCC 5122 merchants
Peptide-Pay's routing bypasses MCC 5122 entirely by converting the card transaction into a crypto on-ramp purchase. Here's the exact flow:
Customer card ──┐
│
▼
[ On-ramp provider: Moonpay / Revolut / Transak / ... ]
│ Processes card transaction under THEIR MCC: 6051
│ (Quasi-Cash / Cryptocurrency Purchase)
│
▼
[ USDC minted / acquired on the on-ramp's behalf ]
│
▼
[ On-chain splitter smart contract on Polygon ]
│ ─── 97% ──▶ Merchant wallet (peptide shop)
│ ─── 3% ──▶ Peptide-Pay wallet
▼
Merchant ships peptide order.From Visa's perspective your customer bought cryptocurrency — a category that processed roughly $240 billion in Q4 2025 across regulated on-ramps. There is no peptide transaction for Visa, the acquiring bank, or the risk teams to flag. The merchant of record on the card leg is the on-ramp provider (Moonpay is FinCEN-registered as an MSB, licensed in 45 US states). You as the peptide merchant are the merchant of record on the fulfillment leg — shipping and product — but not the card leg.
MCC 5122 vs. MCC 6051: the crucial difference
| Attribute | MCC 5122 (pharmacy) | MCC 6051 (crypto on-ramp) |
|---|---|---|
| Visa restriction status | Enhanced monitoring — VIRP | Normal — routine category |
| Mastercard BRAM flag | Yes | No |
| Typical authorization rate | 60–65% | 85–92% |
| Chargeback rate threshold | 0.9% (heightened) | 1.5% (standard) |
| Stripe / PayPal accept? | No | Yes — if you're a licensed on-ramp |
| Scheme fees | Elevated | Standard |
| Statement descriptor | Your peptide store name | "USDC PURCHASE · MOONPAY" |
The 25-point swing in authorization rate (60% vs 87%) matters more than the fee difference for a scaling peptide shop. At $10k/month gross, a 25% auth-rate improvement is roughly $2,500 of additional successful revenue — worth more than the entire Peptide-Pay fee for that month.
Is re-routing MCC 5122 to MCC 6051 legal?
Yes, provided no one misrepresents the MCC of the transaction they processed. Peptide-Pay does not code a peptide sale as MCC 6051. Peptide-Pay facilitates a real crypto on-ramp purchase: your customer genuinely buys USDC from a regulated MSB (Moonpay, Revolut, Transak, etc.), and that USDC genuinely settles on-chain. The fact that the merchant splits the USDC with a peptide seller happens on the blockchain layer, after the card transaction has already cleared with accurate MCC reporting.
The legal analysis rests on four points:
- The on-ramp is a licensed money services business (FinCEN MSB in the US, AMLD5-registered VASP in the EU). Its MCC 6051 coding is accurate — it is processing a crypto purchase.
- The on-chain splitter is public, auditable code. Revenue split between merchant and platform is a B2B arrangement, not a misrepresentation.
- The merchant (peptide shop) is the merchant of record for the fulfillment — shipping product, handling returns, tax compliance — but not the payment acceptance leg.
- Customer disclosure is clear: the checkout explicitly shows "You are buying USDC from [on-ramp], which will be applied to your order at [peptide shop]".
The architecture is the same one used by the 400+ "buy crypto with card" widgets that power MetaMask, Trust Wallet, Phantom, and every major self-custody wallet. Peptide-Pay applies the pattern to peptide e-commerce specifically.
Drop-in code for an MCC 5122 merchant
The integration is identical whether your current MCC is 5122 (peptides, pharmacy-adjacent) or 5912 (drug stores) or 8099 (health services):
// Get an API key in 5 minutes at peptide-pay.com
// (no LLC, no bank account, no processing history required)
// npm install github:kinerette/peptide-pay-sdk
import { PeptidePay } from 'peptide-pay';
const pp = new PeptidePay(process.env.PEPTIDEPAY_API_KEY!);
export async function POST(req: Request) {
const { amountCents, orderId } = await req.json();
const session = await pp.checkout.sessions.create({
amount_cents: amountCents,
currency: 'USD',
success_url: 'https://peptide-shop.com/thanks',
cancel_url: 'https://peptide-shop.com/cart',
webhook_url: 'https://peptide-shop.com/api/pp-webhook',
metadata: { order_id: orderId, original_mcc: '5122' },
});
return Response.redirect(session.url, 303);
}The original_mccmetadata field is for your records only — Peptide-Pay does not re-transmit it to the card networks. The card transaction that fires downstream is processed under the on-ramp's MCC 6051, not your original MCC 5122.
MCC codes a peptide merchant should know
A quick reference for the MCCs that show up in this vertical:
- MCC 5122 — Drugs, Drug Proprietaries and Druggists' Sundries. Default for peptide shops. High-risk.
- MCC 5912 — Drug Stores and Pharmacies. Used by retail pharmacies. High-risk.
- MCC 8099 — Health Services Not Elsewhere Classified. Used by some telehealth peptide compounders. High-risk.
- MCC 5499 — Miscellaneous Food Stores. Occasionally used to mis-code nutra as food. Triggers fraud review on chargeback.
- MCC 5999 — Miscellaneous and Specialty Retail Stores. Occasionally used to mis-code peptides. Also triggers fraud review.
- MCC 6051 — Non-Financial Institutions – Foreign Currency, Non-Fiat Currency (crypto).This is what Peptide-Pay's on-ramp partners route under. Normal-risk in 2026.
Volume economics for MCC 5122 merchants
On a $10,000/month peptide shop, three scenarios:
| Path | Effective fee | Auth rate | Net landed revenue | Barrier to entry |
|---|---|---|---|---|
| Try to stay on Stripe | 2.9% + $0.30 | ~80% (until ban, then 0%) | $9,370 (then $-300 on ban) | Auto-ban on peptide vertical |
| High-risk PSP (CCBill / AllayPay) | 7% + reserve | ~65% (MCC 5122 penalty) | $5,950 usable + $1,000 frozen | LLC + bank statements + history |
| Peptide-Pay (MCC 6051 routing) | 3% flat | ~87% | $8,439 ($9,700 − auth-rate adj.) | Polygon wallet only |
On flat fees Peptide-Pay beats the broker by 4 percentage points; on authorization rate it beats by 22 percentage points; on freeze risk it beats by infinite percentage points (non-custodial = unfreezable). For the solo founder or indie dev who can't clear the LLC + processing-history bar at CCBill/AllayPay in the first place, the crypto on-ramp route is the only working option — and even for established shops under $100k/month it dominates across every dimension except direct USD settlement.
Getting started
- Sign up at peptide-pay.com/signup with a Polygon wallet address. No LLC, no bank statements, no processing history.
- Install
npm install github:kinerette/peptide-pay-sdkor download the WooCommerce plugin. - Wire the webhook at
/api/pp-webhook. - Run a $1 test, then point production traffic away from your MCC 5122 processor and toward Peptide-Pay.
Related reading: Payment processor for peptides — full guide, Stripe alternative for peptides, and High-risk payment gateway for peptides.
Developer questions, straight answers.
What is MCC 5122 and why does it matter for peptide shops?
Do I need a registered company to use Peptide-Pay for my MCC 5122 shop?
Does Peptide-Pay require a rolling reserve for an MCC 5122 merchant?
What if Stripe or PayPal rejected my MCC 5122 peptide shop?
How fast can I go live with Peptide-Pay vs a high-risk PSP?
Is Peptide-Pay MCC 5122 compliant?
Can I re-code my MCC 5122 peptide shop as MCC 5499 (food) to avoid bans?
What is the authorization rate difference between MCC 5122 and MCC 6051?
Which MCCs does Peptide-Pay support beyond 5122?
Related guides

Payment Processor for Peptides: the Developer Guide (2026)
Why Stripe bans peptide shops, how MCC 5122 routing actually works, and the 10-minute drop-in integration for card + Apple Pay + USDC.

Stripe Alternative for Peptides & Nutra: 2026 Migration Guide
Stripe rejects peptides automatically — especially solo devs with no LLC. The 2026 migration: 3% flat, Stripe-compatible SDK, same-day go-live.

High-Risk Payment Gateway for Peptides: 2026 Guide
Traditional high-risk PSP (8–10%, LLC, $5k–$50k reserve) vs. Peptide-Pay's crypto on-ramp (3% flat, no LLC, same-day). Full comparison.
Ready to integrate Peptide-Pay?
Paste your Polygon wallet, drop in the SDK, done. No LLC required, no rolling reserve, same-day go-live — 3% flat.