Connect a Payment Provider
This page is for sellers in the Licensr admin (Organization → General). You do not write code here. After a provider is connected, create a product and plan, then wire license checks with the quick start or an SDK.
Licensr never touches your money. Every charge, refund, and payout settles to your account. An organization uses one payment provider at a time.
Pick the guide for the provider you're setting up — each section below is complete on its own; you don't need to read the others:
| Provider | Best for | Connection model |
|---|---|---|
| Stripe | North America, Europe, and most global markets | OAuth (Stripe Connect) — authorize from Stripe's consent screen |
| Mercado Pago | Argentina, Brazil, and Mexico (subscriptions) | Paste your application's credentials |
| PayPal | Worldwide buyer trust, plus markets Stripe can't onboard | Paste your REST app's credentials (Business account required) |
| Razorpay | India, where Stripe has no general merchant onboarding | Paste your API keys |
All providers are configured from Organization → General in the admin panel (/admin/organization).
When you pick a provider — here or during sign-up — Licensr shows the options that fit your region and marks a Recommended default. If the auto-detected country is wrong, use the Selling from dropdown to correct it. You won't see providers that don't apply to your market.
Connect Stripe
Stripe connects through Stripe Connect. You authorize Licensr from Stripe's consent screen — no API keys to copy. Open Organization → General → Stripe (/admin/organization).
What Licensr will do with your connected account:
- Create Checkout Sessions when a buyer clicks "Buy" on your storefront.
- Read your product and price catalog to render the buy page.
- Listen to payment and subscription webhook events so it can issue and sync licenses.
- Open a Customer Portal session when a buyer manages their own subscription.
What Licensr will never do:
- Issue a refund without an explicit click in your admin panel.
- Edit, archive, or delete products and prices you already have in Stripe.
- Charge cards outside the Stripe Checkout flow.
- Read or modify your payout schedule, bank account, or business details.
Steps
- Click Connect Stripe in Organization → General (or follow the Setup wizard on first sign-in — it walks through these same steps with inline links).
- Review the trust summary, then continue to Stripe's consent screen.
- Sign in to an existing Stripe account or create a new one, and approve the connection.
- You're redirected back to Licensr, now showing as connected with your business name, country, and account ID.
You can revoke access at any time from your Stripe Dashboard under Settings → Connected applications, or click Disconnect in Licensr. Disconnect is blocked while subscriptions are still active on that account.
Activate payouts (Stripe KYC)
Stripe won't release real payments until it verifies your business. This step happens entirely in the Stripe Dashboard — have ready:
- Legal entity name and tax ID (EIN, VAT, or local equivalent)
- Bank account number for payouts
- A business website (your storefront URL works)
- A support email customers can reach you at
Once Stripe approves your account (charges_enabled: true), the step turns green automatically — click Retry status check in the wizard if you just finished. See Stripe's Connect onboarding guide for details on the verification flow.
Connect Mercado Pago
Connect with credentials from your own Mercado Pago developer application. You paste an access token, public key, and webhook signing secret into Licensr; checkout and subscriptions run on your Mercado Pago account in your local currency (ARS, BRL, or MXN — locked to your account country).
Open Organization → General → Mercado Pago (/admin/organization).
Steps
- Create (or open) an application in the Mercado Pago developer dashboard.
- Copy the application's production access token and public key from its credentials page.
- Set up the webhook (below) before connecting, so you have the signing secret ready.
- Paste the access token, public key, and webhook signing secret into the Mercado Pago panel. Licensr validates the token and switches your organization's active provider to Mercado Pago.
Webhook setup (required for subscriptions and chargebacks)
-
In Organization → General → Mercado Pago, expand How to set up your Mercado Pago webhook and copy the pre-filled notification URL — it already includes your organization ID in the
group_id=parameter. (Your organization ID is also shown at the top of Organization → General; it is a UUID and is not the same as your storefront slug.) -
In the Mercado Pago developer dashboard, open Your integrations → [Your app] → Webhooks and paste that URL as the notification URL.
If you cannot open the dashboard, the URL format is:
https://api.licensr.app/v1/webhooks/mercadopago?group_id=<your-organization-id>&source_news=webhooks -
Generate a signing secret on that page — paste it into the Mercado Pago panel alongside your token and public key.
-
Subscribe to: Plans and subscriptions, Payments (legacy), Chargebacks.
Important: do not select Order (Mercado Pago). Licensr processes the classic Payments event; the Orders API is not consumed and no license will be issued for payments sent via that event type.
Disconnect is blocked while subscriptions are still active on this account. After disconnecting, Mercado Pago is no longer your active provider — connect a provider again before accepting new sales.
Connect PayPal
Connect with credentials from your own PayPal REST app. You paste a Client ID, Client secret, and Webhook ID into Licensr; checkout and subscriptions run on your PayPal account.
You'll need a PayPal Business account — personal accounts cannot create merchant REST apps or receive customer payments. (Upgrade or create a Business account.)
Open Organization → General → PayPal (/admin/organization).
Steps
- Set up the webhook (below) first — PayPal doesn't create it automatically, and you need the Webhook ID it generates before you can connect.
- In the PayPal Developer dashboard, create (or open) a REST app and copy its Client ID and Client secret.
- Paste the Client ID, Client secret, and Webhook ID into the PayPal panel, and pick Live or Sandbox. Licensr validates the credentials and switches your organization's active provider to PayPal.
Webhook setup (required, not created automatically)
-
In Organization → General → PayPal, expand How to set up your PayPal webhook and copy the pre-filled notification URL — it already includes your organization ID in the
group_id=parameter. (Your organization ID is also shown at the top of Organization → General; it is a UUID and is not the same as your storefront slug.) -
In the PayPal Developer dashboard, open your REST app, scroll to Webhooks → Add Webhook, and paste that URL as the notification URL.
If you cannot open the dashboard, the URL format is:
https://api.licensr.app/v1/webhooks/paypal?group_id=<your-organization-id> -
Subscribe to these event types: PAYMENT.SALE.COMPLETED, PAYMENT.CAPTURE.REFUNDED, CHECKOUT.ORDER.APPROVED, BILLING.SUBSCRIPTION.SUSPENDED, BILLING.SUBSCRIPTION.PAYMENT.FAILED, BILLING.SUBSCRIPTION.EXPIRED, BILLING.SUBSCRIPTION.CANCELLED, BILLING.SUBSCRIPTION.ACTIVATED.
-
Save the webhook, then copy the generated Webhook ID exactly as PayPal shows it in the table — an alphanumeric string, e.g.
7UC62530S74913114. Don't add aWH-prefix; that prefix is used on webhook event IDs inside payloads, not on this subscription ID.
Sandbox vs. live: use Sandbox credentials with a sandbox app's webhook while testing, and Live credentials with a live app's webhook in production — the Webhook ID differs between the two.
Disconnect is blocked while subscriptions are still active on this account. After disconnecting, PayPal is no longer your active provider — connect a provider again before accepting new sales.
Connect Razorpay
Connect with API keys from your own Razorpay Dashboard. You paste a Key ID, Key secret, and webhook signing secret into Licensr; checkout and subscriptions run on your Razorpay account, settled in INR.
Open Organization → General → Razorpay (/admin/organization).
Steps
- In the Razorpay Dashboard, open Settings → API Keys and generate a Key ID and Key secret (use Live keys for real payments, Test keys for sandbox testing).
- Set up the webhook (below) before connecting, so you have the signing secret ready.
- Paste the Key ID, Key secret, and webhook secret into the Razorpay panel. Licensr validates the keys and switches your organization's active provider to Razorpay.
Webhook setup (required for subscriptions and refunds)
-
In Organization → General → Razorpay, expand How to set up your Razorpay webhook and copy the pre-filled webhook URL — it already includes your organization ID in the
group_id=parameter. (Your organization ID is also shown at the top of Organization → General; it is a UUID and is not the same as your storefront slug.) -
In the Razorpay Dashboard, open Settings → Webhooks → Add New Webhook and paste that URL as the webhook URL.
If you cannot open the dashboard, the URL format is:
https://api.licensr.app/v1/webhooks/razorpay?group_id=<your-organization-id> -
Subscribe to these active events: payment_link.paid, subscription.activated, subscription.charged, subscription.pending, subscription.halted, subscription.cancelled, subscription.completed, refund.processed, payment.dispute.created.
-
Set a secret for the webhook — paste it into the Razorpay panel alongside your keys.
Disconnect is blocked while subscriptions are still active on this account. After disconnecting, Razorpay is no longer your active provider — connect a provider again before accepting new sales.
Questions about connecting a provider? Reach us via the Contact us link in the footer at licensr.app.