1. Home
  2. Knowledge Base
  3. Integrations
  4. PayPal Complete Payments Integration with WishList Member
  1. Home
  2. Knowledge Base
  3. Payment Providers Integrations
  4. PayPal Complete Payments Integration with WishList Member

PayPal Complete Payments Integration with WishList Member

PayPal Complete Payments badge with the PayPal logo and a green checkmark above it

PayPal Complete Payments lets WishList Member sell membership levels through PayPal. It handles one-time payments and subscriptions, with or without a trial.

This document explains how to turn on the integration and connect a PayPal account. It also covers products, PayPal buttons, cancellation settings, and common connection problems.

How PayPal Complete Payments Differs From Other PayPal Integrations

Some sites still use the older PayPal Checkout or PayPal Payments Pro integrations. Those integrations rely on PayPal Instant Payment Notifications (IPN).

PayPal Complete Payments uses PayPal webhooks instead. WishList Member checks the signature of each notification with PayPal before acting on it. It rejects any notification that PayPal does not confirm as genuine.

For this reason, PayPal Complete Payments has no PayPal email field. Only the IPN-based integrations need a merchant PayPal email to verify notifications.

Requirements

Before you start, prepare the following items:

  • WishList Member installed and activated on the site;
  • at least one membership level to sell;
  • a PayPal account with access to the PayPal Developer Dashboard;
  • PayPal sandbox accounts, if you plan to test purchases before going live;
  • a site that PayPal can reach over the internet, so payment notifications can arrive.

Turning On the Integration

The PayPal Complete Payments settings stay hidden until you turn on the integration.

  1. Navigate to Dashboard > WishList Member > Setup > Integrations > Payment Providers.
  2. Click the PayPal Complete Payments tile.
  1. Click the toggle next to the PayPal Complete Payments heading to turn on the integration.

The Settings tab appears. The Products and Cancellations tabs appear only after a successful connection.

Tip: The WishList Member Setup Wizard can also turn on the integration in its Integrations step.

Connecting PayPal

The integration connects to PayPal with a Client ID and a Client Secret. PayPal creates these credentials for each REST API app. Live and sandbox apps each have their own credentials.

Getting PayPal API Credentials

  1. On the Settings tab, click Configure.
  1. Click “Click here to get your Live PayPal API credentials” for live payments. For testing, click “Click here to get your Sandbox PayPal API credentials” instead.
  2. Log in to the PayPal Developer Dashboard in the new browser tab.
  3. On the Apps & Credentials page, click Create App.
  1. Enter a name in the App Name field, and keep Merchant selected as the Type.
  2. For a sandbox app, select a business account in the Sandbox Account dropdown. Then click Create App.
  3. Click the ⋮ icon in the row of the new app, and click Edit.
  1. In the API credentials section, click the eye icon next to Secret key 1. Then copy the Client ID and the secret.

Saving the Credentials

  1. Return to the PayPal Complete Payments Configuration window in WishList Member.
  2. For live payments, paste the values into the Client ID and Client Secret fields.
  3. For testing, check Enable Sandbox Testing. Then paste the values into the Sandbox Client ID and Sandbox Client Secret fields that appear.
  4. Click Save & Close.

WishList Member then checks the connection with PayPal. When the connection works, the Settings tab shows “API Status : Connected”.

Important: While Enable Sandbox Testing is checked, the PayPal buttons use the PayPal test environment. To accept real payments, uncheck the option, save live credentials, and click Save & Close.

The Webhook URL Is Set Up Automatically

A webhook lets PayPal tell WishList Member about payments, renewals, refunds, and cancellations.

WishList Member adds the Webhook URL to PayPal each time you save working credentials. The Settings tab shows the URL for reference only, so you do not need to add it in PayPal.

Creating a Product

Membership levels have no price of their own. A PayPal Complete Payments product sets the price and links it to one membership level. Products created here work only with PayPal Complete Payments buttons. Several products can give access to the same level.

The steps below create an example product named Gold Membership. It sells the Gold level for $10 per month, after a $1 seven-day trial. Use your own product name, level, price, and billing settings.

  1. Click the Products tab.
  2. Click Add New Product.
  1. Enter a name in the Product Name field, for example, Gold Membership.
  2. Select the membership level in the Access dropdown, for example, Gold.
  3. Select One-Time Payment or Subscription.
  4. Enter the price in the Amount field, and select the Currency.
  5. For a subscription, set the billing options described below. To add a trial, check Trial Period, and set the Trial Amount and Trial Duration.
  6. Click Save & Close.

A one-time payment product needs no other settings. A subscription product shows the following billing options:

  • Billing Cycle sets how often PayPal charges the buyer, in days, weeks, months, or years;
  • Stop After sets how many billing cycles the subscription runs. Select Never for an ongoing subscription, or from 2 to 52 cycles;
  • Max Failed Cycles sets how many billing cycles can fail before PayPal stops the subscription. The default is 2;
  • Trial Period adds a trial with its own Trial Amount and Trial Duration. The trial uses the product currency.

The new product shows up in the products table. For a subscription product, WishList Member also creates a billing plan in PayPal. A check mark next to YES in the Subscription column confirms the plan. The check mark can take a few seconds to appear.

Adding the PayPal Button to a Page

Each product has its own shortcode. The shortcode displays the PayPal buttons for that product on any page or post.

Copying the Shortcode

  1. On the Products tab, click the code icon (<>) in the product row. The Copy Shortcode pop-up opens.
  2. Press Ctrl+C (Cmd+C on a Mac) to copy the selected shortcode.

The shortcode looks similar to the following example:

[wlm_paypalppcp_btn sku=123 product_id=456]

Adding the Shortcode to a Page

  1. Open the page in the block editor, and add a Shortcode block.
  2. Paste the shortcode into the block.
  3. Click Publish or Update.

What the Buyer Sees

PayPal handles the payment in its own window. WishList Member then creates the member account. PayPal decides which payment buttons appear to each buyer.

  1. The buyer clicks a PayPal button, and a PayPal window opens.
  2. The buyer logs in to PayPal and reviews the payment details.
  3. The buyer approves the payment. The PayPal window closes, and the page processes the payment.
  4. A registration form for the membership level opens. PayPal fills in the first name, last name, and email.
  5. The buyer enters a username and password, and clicks Submit Registration.
  6. The member welcome page opens, and the new member is logged in.

The buyer can change the email on the registration form. The after registration page settings control which welcome page opens.

To confirm a purchase, open the member’s record under Dashboard > WishList Member > Members > Manage. On the Levels tab, the transaction ID starts with PPCP-.

Configuring Cancellations

Cancellations and refunds start in PayPal, not in WishList Member. PayPal sends cancellations to WishList Member through the webhook. The Cancellations tab decides when a member loses the level.

The tab has two toggles for each membership level:

  • Cancel Membership Immediately After Subscription is Cancelled removes the level as soon as the subscription is cancelled in PayPal. This toggle is on by default;
  • Cancel Membership at End of Subscription removes the level after the last billing cycle set in Stop After. This toggle is off by default.
  1. Click the Cancellations tab.
  2. Click the toggles in the row of the membership level. WishList Member saves each change automatically.

Troubleshooting

The Connection Fails

When the connection fails, the status line shows Not Connected with a reason. The Products and Cancellations tabs stay hidden until the connection works.

  • “Please enter both Client ID and Client Secret.” means a credential field is empty. Copy the values again from the API credentials section of the app’s Edit page;
  • “Connection failed. Please check your credentials.” means PayPal rejected the credentials. Copy them again from the PayPal Developer Dashboard.

Also check that the credentials match the mode. Sandbox credentials work only while Enable Sandbox Testing is checked.

Payments or Renewals Not Processing

Without a working webhook, renewals, refunds, and cancellations never reach the site. This happens when the webhook setup did not finish.

  1. Navigate to Dashboard > WishList Member > Setup > Integrations > Payment Providers, and click PayPal Complete Payments.
  2. Confirm that the status line shows “API Status : Connected”.
  3. Click Configure, and confirm the Enable Sandbox Testing setting matches the type of payments.
  4. Click Save & Close to register the webhook again.

Summary

PayPal Complete Payments connects WishList Member to PayPal with a Client ID and a Client Secret. WishList Member sets up the webhook on its own. Each product links a one-time or subscription price to one membership level. A shortcode places the PayPal buttons on any page.

Cancellations and refunds start in PayPal. The Cancellations tab decides when a cancelled member loses the level.

Was this article helpful?

Related Articles