Payment Gateway Configuration
How to connect Stripe, PayPal, and cryptocurrency payment gateways to start accepting payments in your IPTVbp store.
Payment Gateway Configuration
IPTVbp supports three payment gateway families. You should enable at least one before going live, but enabling all three maximises your conversion rate by letting customers pay the way they prefer.
Supported Gateways
| Gateway | Payment Methods | Recurring Billing | Fees |
|---|---|---|---|
| Stripe | Cards, Google Pay, Apple Pay, SEPA, iDEAL | Yes (automatic) | ~2.9% + EUR 0.25 |
| PayPal | PayPal balance, cards, bank | Yes (subscriptions) | ~3.49% + EUR 0.39 |
| Crypto (NOWPayments / BTCPay) | BTC, ETH, USDT, 200+ coins | Manual renewal | ~1% |
Stripe Setup
Stripe is the recommended gateway for most vendors because it supports automatic recurring billing and has excellent fraud protection.
1. Create a Stripe Account
Visit stripe.com and register. Complete the business verification process (business details, bank account, identity).
2. Obtain API Keys
In the Stripe Dashboard go to Developers > API Keys. You need:
- Publishable key -- starts with
pk_live_(orpk_test_for sandbox). - Secret key -- starts with
sk_live_(orsk_test_).
3. Configure Webhooks
Go to Developers > Webhooks > Add Endpoint.
- Endpoint URL:
https://yourdomain.com/api/webhooks/stripe - Events to listen for:
payment_intent.succeededpayment_intent.payment_failedcustomer.subscription.createdcustomer.subscription.updatedcustomer.subscription.deletedinvoice.payment_succeededinvoice.payment_failed
- Copy the Webhook Signing Secret (
whsec_...).
4. Enter Keys in IPTVbp
Go to Settings > Payment Gateways > Stripe and paste:
- Publishable Key
- Secret Key
- Webhook Signing Secret
Toggle Test Mode on while testing. Switch to live when ready.
5. Test a Payment
Use Stripe test card 4242 4242 4242 4242, any future expiry, any CVC. Complete a checkout and verify the subscription is created.
PayPal Setup
1. Business Account
You need a PayPal Business account. Register at paypal.com/business.
2. REST API Credentials
In the PayPal Developer Dashboard, create a new app under My Apps & Credentials. Copy the Client ID and Client Secret for both sandbox and live environments.
3. Webhook Configuration
Add a webhook endpoint:
- URL:
https://yourdomain.com/api/webhooks/paypal - Events: All payment and subscription events.
4. Enter in IPTVbp
Go to Settings > Payment Gateways > PayPal, paste your Client ID and Secret, and select the environment (Sandbox or Live).
Cryptocurrency Setup
IPTVbp supports two crypto processors: NOWPayments and BTCPay Server.
NOWPayments
- Register at nowpayments.io.
- Generate an API key under Settings > API.
- Set the IPN callback URL to
https://yourdomain.com/api/webhooks/nowpayments. - Copy the IPN secret.
- In IPTVbp, go to Settings > Payment Gateways > NOWPayments and enter API Key and IPN Secret.
BTCPay Server
- Self-host or use a hosted BTCPay instance.
- Create a store in BTCPay and generate an API key with invoice permissions.
- Set the webhook URL to
https://yourdomain.com/api/webhooks/btcpay. - Enter the BTCPay Server URL, API Key, and Store ID in IPTVbp settings.
Currency Considerations
IPTVbp stores all prices in EUR internally. When using Stripe, amounts are converted to cents (multiplied by 100) for the Stripe API. PayPal and crypto gateways receive amounts in EUR directly.
If your customers are global, Stripe will handle currency conversion automatically based on the customer's card currency. For PayPal, ensure your account can receive EUR.
Going Live Checklist
Before accepting real money:
- Stripe: Switch from test keys (
pk_test_) to live keys (pk_live_). - PayPal: Switch from Sandbox to Live environment.
- Crypto: Verify payout wallet addresses are correct.
- Webhook endpoints use your production domain (HTTPS).
- Place a small real transaction and verify the full flow.
- Check that invoices are generated correctly with the right amounts.
Troubleshooting
Payments succeed in Stripe but subscription is not created: Check that webhooks are configured and the signing secret matches. Look at Developers > Webhooks > Recent Deliveries in Stripe for errors.
PayPal shows "Payment Pending": This usually means the customer paid via eCheck, which takes 3-5 business days. Wait for the IPN notification or ask the customer to use instant funding.
Crypto payment shows "Waiting": The customer may have sent the wrong amount or the transaction has not reached the required number of confirmations yet. Check the blockchain explorer link in NOWPayments.
Related Articles
Creating and Configuring IPTV Products
Learn how to create IPTV subscription products with proper pricing, billing cycles, and panel configuration.
How to Integrate Xtream UI Panel
Complete guide to connecting and configuring Xtream UI / XUI panels with automated provisioning.
Getting Started with IPTVbp Platform
Complete guide to setting up your vendor account and getting started with the IPTV billing platform.