Payment Providers Configuration
Configure payment providers (Stripe, PayPal, Authorize.net) in your Bridge Payments instance via the Pubflow Platform dashboard.
Overview
Bridge Payments supports multiple payment providers simultaneously. You can enable one or more providers based on your business needs.
Supported Providers
| Provider | Payment Types | Subscriptions | Regions |
|---|---|---|---|
| Stripe | Cards, Wallets (Apple Pay, Google Pay) | ✅ Yes | Global (135+ currencies) |
| PayPal | PayPal, Cards, Venmo | ✅ Yes | Global (25+ currencies) |
| Authorize.net | Cards, eCheck | ✅ Yes (ARB) | US, Canada, UK, Europe, Australia |
Configuration via Pubflow Dashboard
1. Access Provider Settings
- Log in to Pubflow Platform
- Navigate to your Bridge Payments instance
- Go to Settings → Payment Providers
2. Enable Providers
Toggle providers on/off and configure credentials:
Stripe:
STRIPE_SECRET_KEY=sk_test_... # or sk_live_...
STRIPE_PUBLISHABLE_KEY=pk_test_... # or pk_live_...
STRIPE_WEBHOOK_SECRET=whsec_... # OptionalPayPal:
PAYPAL_CLIENT_ID=your_client_id
PAYPAL_CLIENT_SECRET=your_client_secret
PAYPAL_MODE=sandbox # or "live"
PAYPAL_WEBHOOK_ID=your_webhook_id # OptionalAuthorize.net:
AUTHORIZE_NET_API_LOGIN_ID=your_api_login_id
AUTHORIZE_NET_TRANSACTION_KEY=your_transaction_key
AUTHORIZE_NET_ENVIRONMENT=sandbox # or "production"
AUTHORIZE_NET_PUBLIC_CLIENT_KEY=your_public_client_key3. Test Configuration
After configuring providers, test the connection:
curl -X GET "https://your-instance.pubflow.com/bridge-payment/providers/test" \
-H "X-Session-ID: session_abc123"Response:
{
"stripe": {
"status": "connected",
"mode": "test"
},
"paypal": {
"status": "connected",
"mode": "sandbox"
},
"authorize_net": {
"status": "connected",
"mode": "sandbox"
}
}Provider-Specific Setup
Stripe Setup
Get API Keys:
- Sign up at stripe.com
- Navigate to Developers → API Keys
- Copy Publishable Key and Secret Key
Configure Webhooks:
- Go to Developers → Webhooks
- Add endpoint:
https://your-instance.pubflow.com/bridge-payment/webhooks/stripe - Select events:
payment_intent.*,customer.subscription.*,invoice.* - Copy Signing Secret to
STRIPE_WEBHOOK_SECRET
Enable Payment Methods:
- Go to Settings → Payment Methods
- Enable: Cards, Apple Pay, Google Pay
PayPal Setup
Get API Credentials:
- Sign up at developer.paypal.com
- Create a REST API app
- Copy Client ID and Secret
Configure Webhooks:
- Go to Webhooks in your app
- Add webhook:
https://your-instance.pubflow.com/bridge-payment/webhooks/paypal - Select events:
PAYMENT.*,BILLING.SUBSCRIPTION.* - Copy Webhook ID to
PAYPAL_WEBHOOK_ID
Enable Payment Options:
- Enable: PayPal, Cards, Venmo (US only)
Authorize.net Setup
Get API Credentials:
- Sign up at authorize.net
- Navigate to Account → Settings → API Credentials & Keys
- Copy API Login ID and Transaction Key
Get Public Client Key:
- Go to Account → Settings → Manage Public Client Key
- Generate and copy Public Client Key
Configure Webhooks:
- Go to Account → Settings → Webhooks
- Add endpoint:
https://your-instance.pubflow.com/bridge-payment/webhooks/authorize-net - Select events:
net.authorize.payment.*,net.authorize.customer.subscription.*
Multi-Provider Strategy
Use Cases
Single Provider:
- Simple setup
- Lower maintenance
- Recommended for startups
Multiple Providers:
- Redundancy (fallback if one fails)
- Regional optimization (Stripe for US, PayPal for EU)
- Customer preference (some prefer PayPal)
Provider Selection
Automatic Selection
Bridge Payments automatically selects provider based on:
- Customer preference (if specified)
- Currency support
- Regional availability
Manual Selection
Specify provider in API requests:
curl -X POST "/bridge-payment/payments/intents" \
-d '{
"total_cents": 2000,
"currency": "USD",
"provider_id": "stripe" # or "paypal", "authorize_net"
}'Testing vs Production
Test Mode
Use test credentials during development:
Stripe:
STRIPE_SECRET_KEY=sk_test_...
STRIPE_PUBLISHABLE_KEY=pk_test_...PayPal:
PAYPAL_MODE=sandboxAuthorize.net:
AUTHORIZE_NET_ENVIRONMENT=sandboxProduction Mode
Switch to live credentials for production:
Stripe:
STRIPE_SECRET_KEY=sk_live_...
STRIPE_PUBLISHABLE_KEY=pk_live_...PayPal:
PAYPAL_MODE=liveAuthorize.net:
AUTHORIZE_NET_ENVIRONMENT=productionImportant
Never commit API keys to version control. Use environment variables managed through Pubflow dashboard.
Provider Comparison
Fees
| Provider | Transaction Fee | Additional Fees |
|---|---|---|
| Stripe | 2.9% + $0.30 | International: +1% |
| PayPal | 2.9% + $0.30 | International: +1.5% |
| Authorize.net | Gateway: $25/mo | Processor fees vary |
Features
| Feature | Stripe | PayPal | Authorize.net |
|---|---|---|---|
| Cards | ✅ | ✅ | ✅ |
| Digital Wallets | ✅ (Apple Pay, Google Pay) | ✅ (PayPal, Venmo) | ❌ |
| Bank Transfers | ✅ (ACH) | ✅ | ✅ (eCheck) |
| Subscriptions | ✅ | ✅ | ✅ (ARB) |
| 3D Secure | ✅ | ✅ | ✅ |
| Fraud Detection | ✅ (Radar) | ✅ | ✅ (FDS) |
Troubleshooting
"Provider not configured"
Cause: Provider credentials not set or invalid
Solution:
- Verify credentials in Pubflow dashboard
- Test connection with
/providers/testendpoint - Check environment (test vs production)
"Webhook signature verification failed"
Cause: Webhook secret mismatch
Solution:
- Copy webhook secret from provider dashboard
- Update in Pubflow dashboard
- Restart Bridge Payments instance
"Currency not supported"
Cause: Provider doesn't support requested currency
Solution:
- Check provider currency support
- Use different provider
- Convert currency before payment
Best Practices
- Start with One Provider - Add more as needed
- Use Test Mode - Thoroughly test before going live
- Enable Webhooks - Critical for async events
- Monitor Dashboards - Check provider dashboards regularly
- Keep Credentials Secure - Never expose API keys
- Update Regularly - Keep provider SDKs up to date
Next Steps
- Stripe Integration - Detailed Stripe setup
- PayPal Integration - Detailed PayPal setup
- Authorize.net Integration - Detailed Authorize.net setup
- Environment Configuration - All environment variables