Payment Providers

Connect and configure payment processors to start accepting subscriptions through your Zellify funnels

Overview

Zellify integrates seamlessly with leading payment providers to process subscriptions and one-time payments. Currently, we support Stripe and Paddle, each offering unique advantages for different business models and geographic needs.

Why Payment Provider Integration Matters

Your payment provider is the backbone of your monetization infrastructure. Choosing and configuring the right provider ensures:

  • Reliable payment processing with industry-leading uptime

  • Global payment method support including cards, wallets, and local methods

  • Automatic subscription management with billing cycles and retry logic

  • Compliance handling for tax, VAT, and regulatory requirements

  • Real-time synchronization between payments and your application

Supported Payment Providers

💳 Stripe

Best for: Direct control, custom implementations, and lowest fees

Stripe offers:

  • Lower transaction fees (typically 2.9% + $0.30)

  • Direct merchant of record - you handle tax compliance

  • Extensive payment methods - 135+ currencies, 45+ countries

  • Advanced features - custom billing logic, metered billing, prorations

  • Instant payouts - funds directly to your bank account

🚀 Paddle

Best for: Global expansion, hands-off tax compliance

Paddle offers:

  • Merchant of Record service - they handle all tax compliance

  • Global tax handling - VAT, GST, sales tax automatically managed

  • Simplified operations - one invoice from Paddle, not hundreds of customers

  • Localized checkout - prices in local currency, payment methods

  • Built-in fraud protection - advanced fraud detection included

Sandbox Mode: Start Here First

🧪 What is Sandbox Mode?

Sandbox Mode is a testing environment that simulates the entire payment flow without processing real money. It's identical to production but uses test credentials and test card numbers.

Why Always Start with Sandbox

We strongly recommend starting every integration in Sandbox Mode because:

  1. Risk-free testing - No real charges or customer data

  2. Complete workflow validation - Test your entire funnel end-to-end

  3. Webhook verification - Ensure your backend handles events correctly

  4. Error handling - Test declined cards and edge cases

  5. Team training - Let your team familiarize without financial risk

How Sandbox Mode Works

In Sandbox Mode:

  • Use test API keys from your payment provider

  • Process unlimited test transactions

  • Receive real webhook events (marked as test)

  • Create test subscriptions that behave like real ones

  • Test various payment scenarios (success, decline, insufficient funds)

Connecting Stripe

Follow these steps to integrate Stripe with your Zellify account:

Prerequisites

  • Active Stripe account (or create one at stripe.com)

  • Business verification completed (for production)

  • Bank account connected (for payouts)

1

Access Payment Settings

  • Log into your Zellify dashboard

  • Navigate to Settings → Payments

  • Locate the Stripe section

2

Choose Your Environment

  • Toggle between environments:

  • Sandbox - For testing (recommended to start)

  • Production - For live payments

3

Connect Your Stripe Account

  1. Ensure environment toggle is set to "Sandbox"

  2. Click "Connect Stripe"

  3. You'll be redirected to Stripe

  4. Click "Skip this form" for instant sandbox connection

  5. Stripe test mode is now connected

4

Verify Connection

Once connected, you'll see:

  • "Connected" status

  • Your Stripe account ID

  • Environment indicator (Sandbox/Production)

  • Last sync timestamp

5

Configure Stripe Settings

After connection, configure these optional settings:

  • Statement Descriptor - What appears on customer bank statements

  • Automatic Tax - Enable Stripe Tax if configured

  • Payment Methods - Select which payment types to accept

  • Billing Cycles - Default subscription intervals

Testing Stripe Sandbox

Use these test card numbers in Sandbox mode:

  • Success: 4242 4242 4242 4242

  • Decline: 4000 0000 0000 0002

  • Requires Authentication: 4000 0025 0000 3155

  • Insufficient Funds: 4000 0000 0000 9995

Use any future expiry date and any 3-digit CVC.

Connecting Paddle

Follow these steps to integrate Paddle with your Zellify account:

Prerequisites

  • Active Paddle account (or create one at paddle.com)

  • Paddle seller verification completed

  • Products created in Paddle dashboard

1

Gather Paddle Credentials

Log into your Paddle Developer Tools: Navigate to Developer Tools → Authentication Copy your API Key: pdl_live_apikey_*** or pdl_test_apikey_*** Copy your Client-Side Token: live_*** or test_***

2

Access Zellify Payment Settings

Log into your Zellify dashboard Navigate to Settings → Payment Provider Select "Paddle" from the provider dropdown

3

Configure Paddle Integration

Choose your environment:

  • Sandbox – Use test API key (pdl_test_apikey_***)

  • Production – Use live API key (pdl_live_apikey_***)

Enter your credentials:

  • API Key field: Paste your API key

  • Client Token field: Paste your client-side token

Click "Save Changes"

4

Configure Paddle Webhooks

Paddle requires webhook configuration for real-time updates: Go to Paddle Dashboard → Developer Tools → Notifications Add webhook endpoint: https://staging-api.zellify.app/v1/webhook/paddle/:orgId Replace :orgId with your Zellify organization ID

Subscribe to these events:

  • transaction.created

  • transaction.updated

  • subscription.created

  • subscription.updated

Copy and save your webhook secret for verification

Common Integration Patterns

Subscription Funnel Flow

The typical payment flow through Zellify:

  1. Customer enters funnel → Custom domain page loads

  2. Selects plan → Pricing options displayed

  3. Enters payment details → Secure checkout form

  4. Payment processed → Provider handles transaction

  5. Webhook sent → Your backend notified

  6. Customer redirected → Deep link to your app

  7. Access provisioned → Based on webhook data

Webhook Integration Overview

While detailed webhook setup is covered separately, understand that webhooks are essential for:

  • Subscription lifecycle events

  • Real-time updates on payment status

  • Failed payment notifications

  • Customer updates (email, payment method)

Your backend must be ready to receive and process webhook events before going live.

Troubleshooting

Unable to connect to Stripe/Paddle

If you're having trouble connecting to your payment provider, check the following:

  • Valid account: Make sure your account with the payment provider is active and in good standing.

  • Correct environment: Confirm you've selected the right environment (test vs. live).

  • Browser pop-ups: Disable any browser pop-up blockers, as they can interfere with the connection flow.

  • Cookies: Ensure browser cookies are enabled, particularly for the OAuth process.

Invalid API credentials

If you're getting an invalid API credentials error, verify these points:

  • Environment keys: Make sure you are using the correct keys for your selected environment (e.g., live keys for production).

  • No extra spaces: Check for any leading, trailing, or hidden spaces in your credentials.

  • Regenerated keys: Confirm your keys haven't been recently regenerated. If they have, you'll need to update them.

  • Permissions: Ensure the keys have the necessary permissions to perform the required actions.

Payments not appearing in dashboard

If payments are successful but not showing up in your dashboard, check the following:

  • Webhook endpoint: Ensure your webhook endpoint is properly configured to receive notifications.

  • Production keys: For live payments, you must be using your production keys.

  • Firewall: Check if a firewall is blocking incoming webhooks to your server.

  • Organization ID: Verify that the correct organization ID is included in your webhook URL, if applicable.

Customer seeing errors at checkout

If customers are running into errors during checkout, review these items:

  • Account status: Make sure your payment provider account is active.

  • Currency support: Check that the currency being used is supported by your payment provider and your account.

  • Enabled methods: Confirm that the specific payment methods your customers are using are enabled.

  • SSL certificate: Ensure your domain's SSL certificate is valid and correctly installed.

Last updated