Payment Gateways
Integrating Payment Gateways
ProShot supports four payment gateways out of the box:
You can enable one or all of them depending on your target audience and region.
Stripe
Get Your Stripe Keys
Log in to your Stripe Dashboard and navigate to the API keys section. Make sure you are in Live mode (not test mode). You will need your Publishable Key and Secret Key.
Set Up Webhook
Create a new webhook endpoint in Stripe Webhooks pointing to:
https://your-domain.com/api/payment-gateways/stripe/subscription-webhookReplace your-domain.com with your actual server domain. Add the following events to the webhook:
checkout.session.completed— processes credit purchases (primary event)charge.succeededpayment_intent.succeededpayment_intent.createdcharge.updatedproduct.createdprice.created
Copy the webhook signing secret after creating the endpoint.
Update Your .env File
NEXT_PUBLIC_STRIPE_IS_ENABLED=true
STRIPE_PUBLISHABLE_KEY=your-stripe-publishable-key
STRIPE_SECRET_KEY=your-stripe-secret-key
STRIPE_WEBHOOK_SECRET=your-stripe-webhook-secretPricing packages and credit amounts are fully configurable from the Admin Panel. No need to manually create Stripe products or price IDs.
PayPal
Create a PayPal App
Log in to the PayPal Developer Dashboard and select Apps & Credentials. Make sure you are in Live mode. Create a new app to get your Client ID and Client Secret.
Update Your .env File
PAYPAL_API_URL=https://api-m.paypal.com
NEXT_PUBLIC_PAYPAL_CLIENT_ID=your-paypal-client-id
PAYPAL_CLIENT_SECRET=your-paypal-client-secretFor production, use https://api-m.paypal.com. If you need to test first, use https://api-m.sandbox.paypal.com and switch to the production URL before going live.
Razorpay
Get Your Razorpay Keys
Log in to your Razorpay Dashboard and navigate to Account & Settings then API Keys under Website and App Settings. Make sure Live mode is enabled. Generate a new key pair.
Update Your .env File
NEXT_PUBLIC_RAZORPAY_KEY_ID=your-razorpay-key-id
RAZORPAY_KEY_SECRET=your-razorpay-key-secretFlutterwave
Get Your Flutterwave Keys
Log in to your Flutterwave Dashboard and make sure you are in Live mode. Navigate to Settings then API Keys. You will need your Public Key, Secret Key, and Encryption Key.
Update Your .env File
NEXT_PUBLIC_FLUTTERWAVE_PUBLIC_KEY=your-flutterwave-public-key
FLUTTERWAVE_SECRET_KEY=your-flutterwave-secret-key
FLUTTERWAVE_ENCRYPTION_KEY=your-flutterwave-encryption-key