Skip to content

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

ProviderPayment TypesSubscriptionsRegions
StripeCards, Wallets (Apple Pay, Google Pay)✅ YesGlobal (135+ currencies)
PayPalPayPal, Cards, Venmo✅ YesGlobal (25+ currencies)
Authorize.netCards, eCheck✅ Yes (ARB)US, Canada, UK, Europe, Australia

Configuration via Pubflow Dashboard

1. Access Provider Settings

  1. Log in to Pubflow Platform
  2. Navigate to your Bridge Payments instance
  3. Go to SettingsPayment Providers

2. Enable Providers

Toggle providers on/off and configure credentials:

Stripe:

bash
STRIPE_SECRET_KEY=sk_test_... # or sk_live_...
STRIPE_PUBLISHABLE_KEY=pk_test_... # or pk_live_...
STRIPE_WEBHOOK_SECRET=whsec_... # Optional

PayPal:

bash
PAYPAL_CLIENT_ID=your_client_id
PAYPAL_CLIENT_SECRET=your_client_secret
PAYPAL_MODE=sandbox # or "live"
PAYPAL_WEBHOOK_ID=your_webhook_id # Optional

Authorize.net:

bash
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_key

3. Test Configuration

After configuring providers, test the connection:

bash
curl -X GET "https://your-instance.pubflow.com/bridge-payment/providers/test" \
  -H "X-Session-ID: session_abc123"

Response:

json
{
  "stripe": {
    "status": "connected",
    "mode": "test"
  },
  "paypal": {
    "status": "connected",
    "mode": "sandbox"
  },
  "authorize_net": {
    "status": "connected",
    "mode": "sandbox"
  }
}

Provider-Specific Setup

Stripe Setup

  1. Get API Keys:

    • Sign up at stripe.com
    • Navigate to DevelopersAPI Keys
    • Copy Publishable Key and Secret Key
  2. Configure Webhooks:

    • Go to DevelopersWebhooks
    • 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
  3. Enable Payment Methods:

    • Go to SettingsPayment Methods
    • Enable: Cards, Apple Pay, Google Pay

PayPal Setup

  1. Get API Credentials:

  2. 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
  3. Enable Payment Options:

    • Enable: PayPal, Cards, Venmo (US only)

Authorize.net Setup

  1. Get API Credentials:

    • Sign up at authorize.net
    • Navigate to AccountSettingsAPI Credentials & Keys
    • Copy API Login ID and Transaction Key
  2. Get Public Client Key:

    • Go to AccountSettingsManage Public Client Key
    • Generate and copy Public Client Key
  3. Configure Webhooks:

    • Go to AccountSettingsWebhooks
    • 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:

  1. Customer preference (if specified)
  2. Currency support
  3. Regional availability

Manual Selection

Specify provider in API requests:

bash
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:

bash
STRIPE_SECRET_KEY=sk_test_...
STRIPE_PUBLISHABLE_KEY=pk_test_...

PayPal:

bash
PAYPAL_MODE=sandbox

Authorize.net:

bash
AUTHORIZE_NET_ENVIRONMENT=sandbox

Production Mode

Switch to live credentials for production:

Stripe:

bash
STRIPE_SECRET_KEY=sk_live_...
STRIPE_PUBLISHABLE_KEY=pk_live_...

PayPal:

bash
PAYPAL_MODE=live

Authorize.net:

bash
AUTHORIZE_NET_ENVIRONMENT=production

Important

Never commit API keys to version control. Use environment variables managed through Pubflow dashboard.

Provider Comparison

Fees

ProviderTransaction FeeAdditional Fees
Stripe2.9% + $0.30International: +1%
PayPal2.9% + $0.30International: +1.5%
Authorize.netGateway: $25/moProcessor fees vary

Features

FeatureStripePayPalAuthorize.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:

  1. Verify credentials in Pubflow dashboard
  2. Test connection with /providers/test endpoint
  3. Check environment (test vs production)

"Webhook signature verification failed"

Cause: Webhook secret mismatch

Solution:

  1. Copy webhook secret from provider dashboard
  2. Update in Pubflow dashboard
  3. Restart Bridge Payments instance

"Currency not supported"

Cause: Provider doesn't support requested currency

Solution:

  1. Check provider currency support
  2. Use different provider
  3. Convert currency before payment

Best Practices

  1. Start with One Provider - Add more as needed
  2. Use Test Mode - Thoroughly test before going live
  3. Enable Webhooks - Critical for async events
  4. Monitor Dashboards - Check provider dashboards regularly
  5. Keep Credentials Secure - Never expose API keys
  6. Update Regularly - Keep provider SDKs up to date

Next Steps