Connecting Stripe
Connect your Stripe account to process international credit cards, Apple Pay, Google Pay, and SEPA debits across global markets (USD, EUR, GBP, CAD).
By integrating Stripe with SolydFlow's Consensus Engine and Sweeper, you eliminate webhook spoofing, resolve state mismatches, and automate subscription recovery.
Step 1: Add Stripe Secret Keys to the Vault
SolydFlow utilizes your Stripe Secret Keys to initialize PaymentIntents and independently verify transaction status directly via the Stripe REST API.
- Log in to your Stripe Dashboard.
- Navigate to Developers → API Keys.
- Copy your Secret Key (
sk_test_...for Sandbox andsk_live_...for Production). - Open the SolydFlow Console.
- Navigate to Project Settings → API Credentials Vault.
- Expand the Stripe section, paste both your Test and Live keys, and click Save Encrypted Configuration.
All gateway credentials stored in the SolydFlow Vault are encrypted at rest using hardware-backed AES-256-GCM. Secret keys are never exposed to client applications.
Step 2: Configure the Inbound Stripe Webhook
Stripe must notify SolydFlow when asynchronous payment activity occurs.
- In the SolydFlow Console, navigate to Project Settings → Inbound Gateway Webhook Configurations.
- Copy your unique Stripe Inbound Webhook URL:
https://api.solydflow.com/api/v1/webhook/stripe/{your_solydflow_api_key}
- In your Stripe Dashboard, go to Developers → Webhooks → Add Endpoint.
- Paste the SolydFlow Webhook URL into the Endpoint URL field.
- Under Select events to listen to, select:
payment_intent.succeededpayment_intent.payment_failedcharge.refundedcharge.dispute.created
- Click Add Endpoint.
How SolydFlow Secures Stripe Transactions
Unlike standard integrations, SolydFlow never grants access based solely on incoming webhook payloads.
When Stripe dispatches a webhook:
- SolydFlow intercepts the incoming
payment_intent.succeededpayload. - Entitlement activation is temporarily paused.
- The Consensus Engine makes an authenticated REST API call to Stripe (
GET /v1/payment_intents/{id}) using your encryptedsk_live_...key. - If the live API confirms that
amount_received,currency, andstatus: succeededmatch, SolydFlow commits aSETTLED_CONSENSUSrecord to your Immutable Ledger. - The user's entitlement (e.g.
pro_access) is instantly unlocked.
This completely eliminates Webhook Replay Attacks and false payment confirmations.
Refunds & Dispute Handling
When a customer initiates a chargeback or you issue a refund in Stripe:
- Stripe dispatches
charge.refundedorcharge.dispute.created. - SolydFlow transitions the transaction state from
SETTLED_CONSENSUStoREVOKED_REFUND. - The customer's entitlement is revoked across all devices, and SolydFlow fires a signed
subscription_revokedwebhook to your backend server.
Sandbox Testing Matrix
When developing with your sf_pk_test_... key, use standard Stripe test cards:
| Test Scenario | Card Number | Expiry | CVC | Expected SolydFlow Outcome |
|---|---|---|---|---|
| Successful Payment | 4242 •••• •••• 4242 | Any future date | 123 | SETTLED_CONSENSUS (Entitlement Granted) |
| 3D-Secure Challenge | 4000 •••• •••• 3063 | Any future date | 123 | Prompts 3DS modal ➔ SETTLED_CONSENSUS |
| Card Declined | 4000 •••• •••• 0002 | Any future date | 123 | FAILED_DECLINED (No Entitlement) |
| Insufficient Funds | 4000 •••• •••• 0996 | Any future date | 123 | FAILED_DECLINED (No Entitlement) |