Skip to content

ACH Payment Provider Options for Research Relay LLC

Executive Summary

Research Relay LLC sells RUO (Research Use Only) peptides and research chemicals via e-commerce. ACH is the target second payment rail alongside BTC/Lightning (already designed via BTCPay Server). ACH avoids high-risk card processing fees and reserves while still accepting USD.

Bottom line: Mainstream payment processors (Stripe, Square, PayPal, Helcim) explicitly list "research chemicals" as prohibited or restricted. The most viable path is a specialized high-risk ACH/eCheck processor purpose-built for the peptide/research chemical vertical. If Stripe were to approve the account (unlikely without prior authorization), their ACH product is technically excellent and integrates natively with MedusaJS v2.


Provider Comparison

Tier 1: Mainstream Processors (High Risk of Account Termination)

Stripe

Attribute Detail
ACH Fees 0.8% per transaction, capped at $5
ACH Credit $1.00 flat per transaction
Failed ACH $4 per failure
Disputed ACH $15 per dispute
Faster Settlement 1.2% (2-day settlement vs standard 4-day)
Verification Financial Connections (instant) or micro-deposits (2-3 days)
Settlement Standard: 4-6 business days; Faster: 2 business days
MedusaJS Integration Native -- @medusajs/payment-stripe ships with Medusa v2

Risk Assessment: PROHIBITED

Stripe's Restricted Businesses list explicitly lists "Research chemicals" under the "Illegal weapons, explosives, and dangerous materials" category. Additionally, "Pseudo-pharmaceuticals or nutraceuticals that are not safe or make harmful claims" and "Illegal drugs, substances designed to mimic illegal drugs" are prohibited.

  • Research chemicals are explicitly named as prohibited, not merely restricted
  • Accounts processing research chemical transactions are routinely frozen or terminated without warning
  • Even compliant merchants lose access once Stripe detects the product category
  • Stripe may approve with "explicit prior approval" but this is rare and unreliable
  • Approval can be revoked at any time

Verdict: Do not rely on Stripe for payment processing. Account termination risk is near-certain.


Square

Attribute Detail
ACH Fees ACH invoicing available, pricing varies
Risk Assessment PROHIBITED

Square routinely shuts down peptide and research chemical accounts once transactions are detected. They follow card network rules (Visa, Mastercard) that classify unapproved pharmaceuticals and research chemicals under restricted categories. No ACH-specific workaround exists -- the merchant categorization issue applies regardless of payment method.

Verdict: Not viable.


PayPal / Venmo

Attribute Detail
ACH-like Option PayPal balance / bank transfer
Risk Assessment PROHIBITED

PayPal, Stripe, and Square all routinely shut down peptide and research chemical accounts. PayPal's acceptable use policy prohibits controlled substances and drug-adjacent products. There is no separate ACH product that bypasses their merchant categorization.

Verdict: Not viable.


Helcim

Attribute Detail
ACH Fees 0.5% + $0.25 per transaction, capped at $6
Monthly Fees None
Risk Assessment LIKELY RESTRICTED

Helcim's Acceptable Use Policy does not explicitly name "research chemicals," but their restricted business list is stated to be non-exhaustive. They are subject to card network rules and bank partnership agreements that restrict high-risk industries. If they don't restrict at signup, they may restrict later upon review.

Helcim's Fee Saver feature (which passes card fees to customers as a "convenience fee" when they don't pay via ACH) requires ACH to be enabled -- but merchants in restricted industries may be ineligible for ACH entirely.

Verdict: Possible but unreliable. Contact trustandsafety@helcim.com before applying.


Tier 2: ACH-Focused Platforms

Dwolla

Attribute Detail
ACH Fees Custom pricing (historically ~0.5% per transaction)
Monthly Fees Custom -- no free plan
Same-Day ACH Supported
API Full REST API with TypeScript SDK
Risk Assessment UNCLEAR -- LIKELY RESTRICTIVE

Dwolla's Terms of Service prohibit "sale or purchase of illegal goods, including controlled substances, and substances that pose a risk to consumer safety." Research chemicals could fall under this broad language.

Dwolla is primarily a B2B platform for companies building payment products (marketplaces, lending platforms). They are not optimized for e-commerce checkout flows. Integration complexity is significantly higher than Stripe -- you would need to build the entire checkout UX, bank verification, and payment flow from scratch.

Reported issues: lengthy onboarding, potential for account suspension without warning, high development costs ($10,000+ for custom integration).

Verdict: Not recommended. High integration cost, unclear risk tolerance, not designed for e-commerce.


Authorize.net (eCheck)

Attribute Detail
eCheck Fees 0.75% per transaction
Monthly Gateway $25/month
Risk Assessment PROHIBITED

Authorize.net's eCheck service agreement explicitly states that services may be cancelled if the business is "deemed to be high risk." Their prohibited list includes "Drug paraphernalia" and "Illegal products." Research chemicals would almost certainly trigger this restriction.

Additionally, per-transaction limits above $2,000 and monthly volume above $50,000 require additional financial documentation.

Verdict: Not viable for research chemicals.


These processors are purpose-built for the peptide/research chemical vertical. They understand the regulatory landscape, have banking relationships that accept the risk category, and provide ACH/eCheck specifically for merchants who cannot use mainstream processors.

Paycron

Attribute Detail
Approval Rate 99% for peptide businesses (eCheck)
Payment Methods eCheck/ACH only (no credit cards for peptides)
Pricing Custom -- contact for quote
Risk Assessment PURPOSE-BUILT FOR THIS VERTICAL

Paycron specializes in high-risk eCheck processing. They claim a 99% approval rate for peptide businesses. They do not offer credit card processing for the peptide industry, focusing exclusively on eCheck/ACH.

Pros: Highest reported approval rate, understands the vertical. Cons: No credit card processing, custom (likely higher) pricing, no MedusaJS integration out of the box.


Easy Pay Direct

Attribute Detail
Payment Methods eCheck/ACH via Plaid integration
LegitScript Required for peptide merchants
Pricing Custom -- contact for quote
Risk Assessment PURPOSE-BUILT FOR THIS VERTICAL

Easy Pay Direct offers eCheck solutions for peptide businesses, with Plaid integration for bank account verification. They have a partnership with LegitScript offering 50% discount on certification.

Requirement: Merchants must be LegitScript certified before onboarding.

Pros: Plaid-based instant verification, LegitScript partnership. Cons: LegitScript certification required ($975 application + $2,150/year), custom pricing.


AllayPay

Attribute Detail
Payment Methods Credit cards, eCheck, ACH
Approval Quick approvals for peptide merchants
Pricing Custom
Risk Assessment SPECIALIZES IN HIGH-RISK

AllayPay specializes in high-risk payment processing with multiple payment types including credit cards, eCheck, and ACH.


PayBlox

Attribute Detail
Payment Methods Card, ACH, crypto
Focus Connects merchants with processors who accept legal research peptides
Pricing Custom
Risk Assessment BROKER -- MATCHES TO APPROPRIATE PROCESSOR

PayBlox acts as a broker, connecting peptide merchants with processors that understand the distinction between research-only use and retail sale.


Instabill

Attribute Detail
Payment Methods Gift card payments, crypto payout, ACH payout
Pricing Custom
Risk Assessment SPECIALIZED

Instabill offers a unique model where customers pay via gift card and the merchant receives payout in cryptocurrency or ACH. Unusual model but worth exploring.


VERIFIED Credit Card Processing

Attribute Detail
Model Broker -- works with multiple US acquiring banks
Payment Methods Credit cards, ACH, eChecks
Pricing Custom
Risk Assessment BROKER

Operates as a broker, placing peptide merchants with appropriate processors based on compliance and risk profile.


Fee Comparison Summary

Provider ACH Fee Monthly Fee Cap Viable?
Stripe 0.8% $0 $5 No (prohibited)
Helcim 0.5% + $0.25 $0 $6 Unlikely
Authorize.net 0.75% $25 N/A No (prohibited)
Dwolla ~0.5% Custom N/A Unlikely
Paycron Custom Custom Custom Yes
Easy Pay Direct Custom Custom Custom Yes (needs LegitScript)
AllayPay Custom Custom Custom Yes

Note: High-risk processors do not publish rates. Expect ACH fees of 1-3% plus per-transaction fees, plus potential rolling reserves (5-10% of volume held for 6 months). This is still dramatically cheaper than high-risk credit card processing (4-8% + reserves).


Recommendation

Primary: Paycron (eCheck/ACH)

Why: Highest approval rate (99%) for peptide businesses, understands the vertical, eCheck-only focus means they have deep banking relationships for this category.

Action items: 1. Contact Paycron for a quote and timeline 2. Prepare business documentation (LLC formation docs, EIN, bank statements, website URL) 3. Ensure website has compliant RUO disclaimers, ToS, refund/shipping policies 4. Apply and negotiate rates

Secondary: Easy Pay Direct (eCheck via Plaid)

Why: Plaid integration for instant bank verification, LegitScript partnership discount.

Action items: 1. Evaluate whether LegitScript certification is worth the cost ($975 + $2,150/year) 2. If pursuing, begin LegitScript application (4-8 weeks process) 3. Contact Easy Pay Direct after certification

Parallel: Attempt Stripe with Prior Authorization

Why: If approved, Stripe's ACH product is technically superior and integrates natively with MedusaJS v2. The integration cost is near-zero.

Action items: 1. Contact Stripe sales/support to request explicit prior authorization for RUO research chemical sales 2. Be completely transparent about the business model 3. If approved in writing, proceed with Stripe ACH integration 4. Do NOT sign up and hope for the best -- this will result in account termination and potentially being blacklisted

Fallback: PayBlox or AllayPay as Broker

If Paycron and Easy Pay Direct don't work out, use a broker like PayBlox or VERIFIED Credit Card Processing to find an appropriate acquiring bank.


MedusaJS v2 Integration

Stripe ACH (If Approved)

The Stripe Module Provider ships with MedusaJS v2 and supports ACH Direct Debit through Stripe's Payment Element.

Configuration

// medusa-config.ts
module.exports = defineConfig({
  modules: [
    {
      resolve: "@medusajs/medusa/payment",
      options: {
        providers: [
          {
            resolve: "@medusajs/medusa/payment-stripe",
            id: "stripe",
            options: {
              apiKey: process.env.STRIPE_API_KEY,
              webhookSecret: process.env.STRIPE_WEBHOOK_SECRET,
            },
          },
        ],
      },
    },
  ],
})

Enabling ACH in Stripe Dashboard

  1. Navigate to Settings > Payments > Payment methods
  2. Under "Bank debits," activate ACH Direct Debit
  3. Accept Stripe's ACH terms
  4. Configure Financial Connections for bank verification

Payment Element Integration

Stripe's Payment Element automatically surfaces ACH as a payment option when enabled. The provider ID in Medusa will be pp_stripe_stripe. In the storefront, use the Payment Element which handles the full ACH flow:

  1. Customer selects "Bank account" in the Payment Element
  2. Financial Connections modal opens for instant bank verification
  3. If instant verification unavailable, falls back to manual entry + micro-deposits
  4. Customer reviews and accepts the ACH mandate
  5. PaymentIntent enters processing state
  6. Stripe sends payment_intent.processing webhook
  7. After 2-6 business days, Stripe sends payment_intent.succeeded webhook
  8. Order transitions from pending to completed

Webhook Events for ACH

Subscribe to these webhook events for the Stripe payment provider:

  • payment_intent.succeeded -- ACH payment completed
  • payment_intent.payment_failed -- ACH payment failed (insufficient funds, etc.)
  • payment_intent.canceled -- payment canceled
  • charge.refunded -- refund processed

The webhook endpoint URL follows the pattern: {MEDUSA_URL}/hooks/payment/stripe_stripe

Order Status Mapping for ACH

ACH State Stripe Status Medusa Order State Customer-Facing
Customer confirms processing Payment pending "Payment submitted -- processing"
Bank verifying processing Payment pending "Payment being verified"
Funds received succeeded Payment captured "Payment confirmed"
Bank rejected requires_payment_method Payment failed "Payment failed -- please try again"
Disputed disputed Disputed "Payment under review"

Key difference from cards: ACH payments take 2-6 business days to settle. The order should NOT be fulfilled until payment_intent.succeeded is received. Consider showing customers a "payment processing" status and sending email updates when status changes.

High-Risk Processor Integration

If using a specialized processor (Paycron, Easy Pay Direct, AllayPay), you will need a custom payment module provider in MedusaJS v2.

Custom Provider Structure

// src/modules/payment-ach/service.ts
import { AbstractPaymentProvider } from "@medusajs/framework/utils"

class AchPaymentProvider extends AbstractPaymentProvider {
  static identifier = "ach-custom"

  async initiatePayment(context) {
    // Call high-risk processor's API to create payment
  }

  async authorizePayment(paymentSessionData) {
    // ACH authorization is asynchronous -- return "pending"
  }

  async capturePayment(paymentSessionData) {
    // For ACH, capture happens when bank confirms (via webhook)
  }

  async refundPayment(paymentSessionData, refundAmount) {
    // Initiate ACH refund via processor API
  }

  async cancelPayment(paymentSessionData) {
    // Cancel pending ACH payment
  }

  async getPaymentStatus(paymentSessionData) {
    // Check payment status with processor
  }

  // ... other required methods
}

This requires: - Understanding the high-risk processor's API (documentation quality varies) - Building the bank account collection UX (Plaid or manual entry) - Handling webhooks for async ACH settlement - Testing with sandbox/test accounts - Estimated development effort: 2-4 weeks


Checkout UX Flow for ACH

Customer Experience

1. Cart Review
   └─> Customer reviews items, sees order total

2. Shipping Information
   └─> Standard address collection

3. Payment Selection
   ├─> Option A: Bitcoin / Lightning (BTCPay Server)
   └─> Option B: Bank Transfer (ACH)

4. ACH Bank Verification (if Option B selected)
   ├─> Instant: Financial Connections / Plaid modal
   │   └─> Customer logs into bank, selects account (~30 seconds)
   └─> Manual: Customer enters routing + account number
       └─> Micro-deposits sent (2-3 days to verify)

5. ACH Authorization
   └─> Customer reviews and accepts ACH mandate:
       "I authorize Research Relay LLC to debit my bank account
        for $XX.XX. I understand this is a one-time payment.
        I may revoke this authorization by contacting
        support@research-relay.com within 3 business days
        prior to the scheduled debit date."

6. Order Confirmation
   └─> "Your payment is being processed. ACH payments typically
        take 3-5 business days to complete. You will receive
        an email when your payment is confirmed and your order
        ships."

7. Async Settlement (behind the scenes)
   ├─> T+0: Payment submitted to ACH network
   ├─> T+2 to T+4: Bank processes debit
   ├─> T+4 to T+6: Funds arrive in merchant account
   └─> Webhook fires → order status updated → customer notified

8. Fulfillment
   └─> Ship order after payment_intent.succeeded webhook

Key UX Considerations

  • Set expectations: ACH is slower than card or crypto. Clearly communicate the 3-5 business day settlement window.
  • Email notifications: Send emails at each status change (payment submitted, payment confirmed, order shipped).
  • Instant verification preferred: Push customers toward Financial Connections / Plaid for instant bank verification rather than micro-deposits.
  • Mobile-friendly: Bank verification modals must work on mobile devices.
  • Error handling: Clearly explain what happens if ACH fails (insufficient funds, wrong account number) and provide easy retry flow.

Cost Analysis: ACH vs BTC vs Card

For a $200 average order:

Payment Method Fee Net to Merchant Settlement
BTC/Lightning (BTCPay) ~0% (self-hosted) $200.00 Instant
ACH (Stripe, if approved) $1.60 (0.8%) $198.40 4-6 days
ACH (high-risk processor) ~$4-6 (est. 2-3%) $194-196 3-5 days
Credit card (high-risk) ~$10-16 (5-8%) $184-190 2-3 days
Credit card (standard) ~$6.10 (2.9%+$0.30) $193.90 2 days

ACH through a high-risk processor is the clear winner for USD payments, saving $4-10 per transaction compared to high-risk card processing, and avoiding the reserves and chargeback risk associated with card networks.


LegitScript Certification

Some high-risk processors (notably Easy Pay Direct) require LegitScript certification. This is worth evaluating even if not strictly required, as it can:

  • Improve approval odds with any processor
  • Potentially lower processing rates
  • Enable advertising on Google and Meta platforms
  • Demonstrate regulatory compliance to banking partners

Cost

  • Application fee: $975 (non-refundable)
  • Annual certification: $2,150 (upon approval)
  • Expedited review: $2,500 additional
  • Total first year: $3,125 (standard) or $5,625 (expedited)

Process

  1. Create LegitScript account
  2. Pay application review fee ($975)
  3. Submit documentation (business registration, website, product info, compliance docs)
  4. Respond to follow-up requests
  5. Approval timeline: 4-8 weeks (standard), 1-3 weeks (expedited)
  6. Pay annual fee upon approval

Considerations for RUO Merchants

LegitScript has increasingly scrutinized the "research chemicals" space. Their 2025 data shows a 308% increase in "problematic peptide" ads year-over-year. They are specifically skeptical of "not for human consumption" disclaimers, viewing them as potential red flags rather than compliance measures.

For Research Relay, the key is demonstrating genuine RUO positioning: - Sell only to verified researchers/institutions (or at minimum, require attestation) - Include COAs (Certificates of Analysis) for all products - No dosing instructions, no wellness claims, no before/after photos - Clear, consistent RUO labeling across entire website - Professional, scientific presentation


Next Steps

  1. Immediate: Contact Paycron for eCheck/ACH pricing and onboarding requirements
  2. Immediate: Contact Stripe sales to request prior authorization (low probability of success, but zero-cost to try)
  3. Week 1-2: Evaluate LegitScript certification ROI
  4. Week 2-4: Begin onboarding with chosen processor
  5. Week 4-8: Build MedusaJS integration (custom provider if not Stripe)
  6. Week 8-12: Test, QA, launch ACH as payment option

Sources