Stripe
Keep your Stripe integration as‑is and change only the base URL. Optional enhancements are available when you’re ready.
Overview
Modo transposes the Stripe API: your requests, headers, and authentication remain unchanged while we route through Modo.
Frontend Integration
Option A: Minimal change
Replace the Stripe.js script tag only. Your usage of the global Stripe
object remains unchanged.
Replace:
<script src="https://js.stripe.com/v3"></script>
With:
<script src="https://js.api.modopayments.io/stripe.js"></script>
Option B: Use Modo Elements
- Cross‑processor input components
- Unified UI and styling
Backend Integration
Change the base API URL only.
Replace:
https://api.stripe.com/v1/
With:
https://stripe.api.modopayments.io/
All payloads, headers, authentication tokens, and object behavior remain consistent with Stripe’s REST API.
Authentication
Continue using your existing Stripe API keys (sk_test_…
, sk_live_…
). Modo supports:
- Direct passthrough
- Centralized key management
- Environment or vault injection
Supported Endpoints
Representative endpoints work out of the box.
Endpoint | Support |
---|---|
/v1/charges | Full passthrough |
/v1/payment_intents | Full support |
/v1/customers | Transparent proxy/remapped IDs |
/v1/webhooks | Proxy or standardized handling |
For a complete compatibility table, contact your implementation team.
Versioning
We mirror your current Stripe API version. Stripe.js v3 is fully supported; named versions are routed accordingly.
Compatibility Notes
- Stripe.js versioning preserved
- Webhooks can be proxied/standardized
- Optional smart retry
- Error codes preserved unless normalization is enabled
Examples
Tokenize a Card
curl https://stripe.api.modopayments.io/v1/tokens \
-u sk_test_123456: \
-d "card[number]"=4242424242424242 \
-d "card[exp_month]"=12 \
-d "card[exp_year]"=2025 \
-d "card[cvc]"=123
Create a Payment Intent
curl https://stripe.api.modopayments.io/v1/payment_intents \
-u sk_test_123456: \
-d amount=1000 \
-d currency=usd \
-d "payment_method_types[]"=card
FAQ
Do I need to change token or customer ID storage? No—unless you opt into unified profiles.
Are my existing API keys compatible? Yes—same format.
What if I add another processor later? Expansion is seamless via routing abstractions.
How are errors handled? By default, the same errors Stripe returns. Normalized errors are optional.