Skip to main content

Other Languages & Direct REST API

If SolydFlow does not currently offer an official native SDK for your language (such as Python, PHP/Laravel, Go, Java, Ruby, or C# / .NET), you can integrate directly using our standard REST API and signed Webhooks.

[1. Direct REST API Call] ➔ [2. Pass User ID & Package ID] ➔ [3. Receive Hosted Checkout URL] ➔ [4. Fulfill via Webhook]

Complete SDK Status & Roadmap​

Platform / LanguagePackageStatusDocumentation
Flutter (Dart)solydflow_flutter✅ Production ReadyFlutter SDK →
JavaScript / TypeScriptsolydflow-js✅ Production ReadyJavaScript SDK →
React Native@solydflow/react-native🚧 Private PreviewReact Native SDK →
iOS (Swift)SolydFlowSwift🚧 Private BetaSwift SDK →
Android (Kotlin)com.solydflow.android🚧 Private BetaKotlin SDK →
Python / Go / PHP / OtherDirect REST API✅ Production ReadyFollow the REST guide below

Integrating via Direct REST API​

Any backend or client capable of sending HTTPS requests can initiate checkouts directly:

1. Initialize a Checkout Session (cURL Example)​

Send an authenticated POST request to the SolydFlow API using your Secret Key (sf_sk_live_... or sf_sk_test_...):

curl -X POST https://api.solydflow.com/api/v1/checkouts \
-H "Authorization: Bearer sf_sk_live_1982736450192837465019283" \
-H "Content-Type: application/json" \
-d '{
"user_id": "usr_supabase_991823",
"package_id": "pro_monthly_ngn",
"customer_email": "customer@example.com",
"customer_phone": "+2348012345678",
"success_url": "https://yourapp.com/dashboard?success=true",
"cancel_url": "https://yourapp.com/pricing"
}'

2. Sample API Response​

{
"status": "success",
"checkout_url": "https://checkout.solydflow.com/pay/chk_01J8K9B2D7E4F1A0C5E8",
"transaction_id": "txn_01J8K9B2D7E4F1A0C5E8",
"currency": "NGN",
"amount_minor": 500000
}

Redirect your customer to the returned checkout_url. SolydFlow's Smart Router automatically presents the optimal payment rail (Paystack, Monnify, M-Pesa, or Stripe).


2. Fulfilling Purchases on Your Backend​

When the customer completes payment, SolydFlow sends a signed webhook to your server (subscription_started or subscription_renewed):

  • Verify the X-SolydFlow-Signature header using your secret (whsec_...).
  • Grant the user access in your database until expires_at.
  • See Webhook Signature Verification → for complete handlers in Node.js, Python, and Supabase.