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

# Overview 

export const HorizontalColorCard = ({img, title, color, href, linkText = 'Read More', children}) => {
  const cardClassName = `horizontal_card horizontal_color_card ${color || ""}`.trim();
  return <div className={cardClassName}>
      <div className="card-content-container">
        <h2 className="card-title">{title}</h2>
        <div className="card-description dark-content">
          {children}
        </div>
      </div>
      <div className="card-image-container">
        {img && <img noZoom src={img} alt={title} />}
      </div>
    </div>;
};

<div className="block dark:hidden">
  <HorizontalColorCard title="Process subscription payments with Primer" color="purple" img="https://mintcdn.com/primer-cc826789/Xq555ZpUYmf8cxLp/images/light.png?fit=max&auto=format&n=Xq555ZpUYmf8cxLp&q=85&s=a57cac7a3023ea6a5c1595026a3ebeb8" width="1179" height="671" data-path="images/light.png">
    Keep your subscription engine for plans, invoices, and renewals while Primer executes every first payment, renewal, and retry.
  </HorizontalColorCard>
</div>

<div className="hidden dark:block">
  <HorizontalColorCard title="Process subscription payments with Primer" color="purple" img="https://mintcdn.com/primer-cc826789/Xq555ZpUYmf8cxLp/images/light.png?fit=max&auto=format&n=Xq555ZpUYmf8cxLp&q=85&s=a57cac7a3023ea6a5c1595026a3ebeb8" width="1179" height="671" data-path="images/light.png">
    Keep your subscription engine for plans, invoices, and renewals while Primer executes every first payment, renewal, and retry.
  </HorizontalColorCard>
</div>

You can use Primer with your subscription engine of choice, with Primer processing every payment and the engine keeping track of plans and subscriptions.

## Integration Guides

<CardGroup cols={3}>
  <Card title="Stripe Billing" icon="file-invoice-dollar" href="/docs/subscriptions/stripe-billing">
    Keep Stripe Billing as your subscription engine and process every payment through Primer
  </Card>

  <Card title="FunnelFox" icon="funnel-dollar" href="/docs/subscriptions/funnelfox" sign>
    Primer payments power FunnelFox's subscription engine
  </Card>
</CardGroup>

## What Primer brings to every attempt

* **One vault, many processors.** Payment methods are tokenized once with Primer and usable across every processor you connect, today and in future, so your billing engine never needs to know where a payment is processed.
* **Network tokens.** Issued and managed automatically, improving authorisation rates on renewals and surviving card reissues.
* **Correct recurring context.** Renewals are transmitted to issuers with the proper stored-credential framing, which is essential for how issuers score recurring traffic.
* **Routing and fallbacks.** Workflows decide processor selection per attempt, including fallbacks on technical failures and different routes on later retries.
* **Decline intelligence.** Normalised decline codes across processors power the hard and soft classification that gates every retry.
* **Observability.** Every attempt, route, and outcome is visible in one place across all processors.

## Understanding subscription payments

<CardGroup cols={3}>
  <Card title="Recurring Payments" icon="rotate" href="/docs/get-started/recurring-payments">
    Choose the right payment type and token for first payments and renewals
  </Card>

  <Card title="Save Payment Methods" icon="vault" href="/docs/payment-services/save-payment-methods">
    Vault payment methods on the first payment for use in later renewals
  </Card>

  <Card title="Declined Payments" icon="circle-exclamation" href="/docs/get-started/recurring-payments#recover-declined-or-failed-payments">
    Separate hard declines from soft declines before scheduling a retry
  </Card>
</CardGroup>

Each guide below covers one engine: how to set it up, how payments flow, and what the engine, your team, and Primer each handle.

## Use other subscription engines

Any subscription engine can work with Primer in the same way if it supports:

* A reference to a payment method stored outside the billing engine
* A notification when a payment is due, including for each scheduled retry
* An API to record payment outcomes against invoices
* A configurable retry schedule, or the option to turn off its own automatic collection

Contact your Primer account team to discuss a subscription engine that isn't listed on this page.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.