Overview
A Razorpay connection in Flexprice stores encrypted credentials that allow the system to interact with your Razorpay account for:- Creating customers in Razorpay
- Processing payment links via Razorpay Checkout
- Receiving webhook notifications from Razorpay
- Synchronizing customer data between systems
- Syncing invoices to Razorpay for payment collection
Prerequisites
Before setting up your Razorpay connection, ensure you have:- Active Razorpay Account - Sign up at razorpay.com
- API Keys - Available in your Razorpay Dashboard
- Webhook Endpoint - Configured in Razorpay Dashboard
- Flexprice Environment - Valid tenant and environment IDs
Step 1: Gather Razorpay Credentials
Required Credentials
Finding Your Credentials
-
API Keys:
- Go to Razorpay Dashboard → Settings → API Keys
- Copy your
Key ID - Copy your
Secret Key - Use test keys for development
-
Webhook Secret:
- Go to Razorpay Dashboard → Settings → Webhooks
- Create or select your webhook endpoint
- Copy the webhook secret (used for signature verification)
Step 2: Configure Webhook Endpoint in Razorpay
Webhook URL Format
Required Webhook Events
Configure these events in your Razorpay webhook endpoint:The
payment_link.* events are required if you use Flexprice Checkout Sessions. Without them, subscriptions created via Checkout will remain in draft status after payment. If you only use manual invoice payment links (not Checkout Sessions), these three events are optional.Setting Up the Webhook
- Go to Razorpay Dashboard → Settings → Webhooks
- Click + Add New Webhook
- Enter your webhook URL
- Select the required events listed above
- Click Create Webhook
- Copy the Webhook Secret for your connection
Step 3: Create Razorpay Connection
Using Flexprice Dashboard
You can create a Razorpay connection directly from the Flexprice dashboard:
Webhook Configuration
After creating the connection, configure webhooks in the connection settings:
API Request
API Request
Endpoint:POST /api/v1/connections
Headers:
Response
Security Best Practices
Credential Management
- Environment Separation: Use different keys for test/production
- Key Rotation: Regularly rotate your Razorpay API keys
- Access Control: Limit API key permissions in Razorpay
- Encryption: All credentials are encrypted at rest in Flexprice
Webhook Security
- HTTPS Only: Always use HTTPS for webhook endpoints
- Signature Verification: Flexprice verifies all webhook signatures
- Secret Management: Keep webhook secrets secure and rotate regularly
- Rate Limiting: Implement rate limiting on webhook endpoints
Troubleshooting
Common Issues
Debug Steps
- Check Razorpay Dashboard: Verify API keys and webhook configuration
- Test API Keys: Use Razorpay API to test key validity
- Monitor Webhooks: Check webhook delivery logs in Razorpay
- Review Logs: Check Flexprice application logs for errors
Next Steps
After setting up your Razorpay connection:- Test Customer Sync: Create a test customer and sync to Razorpay
- Create Payment Links: Test payment link creation and flow
- Monitor Webhooks: Ensure webhook events are being received
- Go Live: Switch to production keys when ready

