Magento 2 Multi Vendor Recurring Payments & SubscriptionMagento 2 Multi Vendor Recurring Payments & Subscription
Live Demo
Buy Now
Support
Live Demo
Buy Now
Support
  • Getting Started

    • Introduction
    • Requirements
    • Installation
  • Configuration

    • Admin Configuration
    • Gateway Credentials & Webhooks
    • Multilingual & i18n
  • Admin Management

    • Manage Duration Types
    • Manage All Subscriptions
    • Subscription Reports
    • Admin Subscription Products
    • PayPal Mass Payment
  • Seller Management

    • Seller Workflow Overview
    • Connect with Stripe
    • Manage PayPal Details
    • Seller Subscription Products
    • Manage Subscriptions
  • Storefront & Customer View

    • Browsing & Product Page
    • Cart Rules & Checkout
    • Customer Subscription Portal
  • Help

    • Troubleshooting
    • FAQ

Gateway Credentials & Webhook Setup

Automated recurring subscriptions rely on webhook callbacks from payment processors (PayPal and Stripe) to trigger renewal orders, capture installment payments, and handle subscription lifecycle events.


Part 1: PayPal Express & REST API Setup

Step 1: Obtain Classic API Credentials (Username, Password, Signature)

  1. Log in to your PayPal Business Account.
  2. Go to Account Settings > API Access.
  3. Under NVP/SOAP API integration (Classic), click Manage API credentials.

Manage API Credentials

  1. Select Request API signature and click Agree and Submit.
  2. Copy the generated API Username, API Password, and Signature.

API Signature Details


Step 2: Configure PayPal IPN (Instant Payment Notification)

PayPal uses IPN messages to inform Magento when recurring profile payments are completed or failed.

  1. In your PayPal account, click the Settings (gear) icon and navigate to Account Settings > Notifications.
  2. Find Instant payment notifications and click Update.

PayPal Activation

  1. Click Choose IPN Settings.
  2. In the Notification URL field, enter your store's IPN endpoint:
https://[your-magento-domain]/recurring/paypal/notify
  1. Select Receive IPN messages (Enabled) and click Save.

HTTPS Requirement

PayPal requires valid SSL (HTTPS) for notification URLs. If testing locally or on a staging server, ensure the URL is publicly reachable via a secure domain.


Step 3: Obtain PayPal REST App Client ID & Secret for Mass Payouts

For processing mass payouts to marketplace sellers:

  1. Navigate to the PayPal Developer Dashboard.
  2. Under My Apps & Credentials, select Sandbox or Live mode.

PayPal My Apps & Credentials

  1. Click Create App, give your application a name, and choose the associated account.

Create Sandbox App

  1. Copy the generated Client ID and Secret Key, and paste them into the Magento admin payment configuration.

Sandbox Credentials


Part 2: Stripe Connect & Webhooks Setup

Step 1: Retrieve Stripe API Keys

  1. Log in to the Stripe Dashboard.

Stripe Login

  1. Use the Test mode toggle in the top navigation bar to switch between test and live modes.

Enable View Test Data

  1. Navigate to Developers > API keys.
  2. Copy the Publishable key (pk_test_... or pk_live_...).
  3. Click Reveal secret key to obtain the Secret key (sk_test_... or sk_live_...).

Stripe API Keys


Step 2: Configure Stripe Connect Settings

To allow marketplace sellers to connect their Stripe accounts:

  1. In Stripe Dashboard, navigate to Connect > Settings.
  2. Under Integration, locate your Client ID (ca_...).
  3. Set the Redirect URIs:
https://[your-magento-domain]/mprecurring/connect/stripe/
  1. Retrieve your platform Account ID from the upper right profile icon:

Stripe Account ID


Step 3: Set Webhook Endpoint in Stripe

  1. In Stripe Dashboard, navigate to Developers > Webhooks.
  2. Click Add destination (or Add endpoint).

Add Stripe Webhook Endpoint

  1. Enter the endpoint URL:
https://[your-magento-domain]/recurring/stripe/notify/
  1. Select the events to listen to:
    • customer.subscription.created
    • customer.subscription.updated
    • customer.subscription.deleted
    • invoice.payment_succeeded
    • invoice.payment_failed
    • charge.succeeded

Stripe Webhook Configuration

  1. Click Add endpoint.
  2. You can test the endpoint using the Send test event utility.

Send Test Webhook

Prev
Admin Configuration
Next
Multilingual & i18n