PayPal ($)

This is a premium plugin offering ($129 a year), but is free for paying subscribers.

Accept PayPal payments for digital purchases and recurring subscriptions with our PayPal market plugin! We're offering this through Braintree (a PayPal owned company), which we've been using for many years across different applications.

Once setup, you can accept both credit card through Stripe, and PayPal payments through Braintree.

Simply put, Braintree makes it easier for platforms like ours to offer you PayPal as a payment gateway do to its developer friendly API.

You will need a Braintree account and a PayPal business account to accept PayPal payments. Visit the link below for more information:

https://articles.braintreepayments.com/guides/payment-methods/paypal/setup-guide

Once you have a Braintree account created, you will active the PayPal plugin from the Maven Market, then add your Merchant ID, Public Key, and Secret Key to the plugins settings. So what does all this mean?!

Braintree (and most over the web software services) use what are called API keys to securely transmit data from our application to your Braintree account. It may sound scary but it's not! It takes a single click of a button to "generate" the keys in your Braintree account. Then you'll just add them to the plugin settings! Easy peasy!

Get API Keys

Let's first generate those API keys, then we'll save them into the plugins settings in Mavenseed.

  1. Log into your Braintree account, and under the gear icon menu, select "API."

2. Click the button that says "Generate New API Key". BTW these keys are secret! Do not share them.

3. View the keys that you just created, and notice that there's a Merchant ID, Public Key, and Private Key. Copy each key and paste it into the appropriate settings field under the PayPal plugin settings in Mavenseed, then update the settings to save!

You did it! Your site is now configured to accept PayPal payments!

But there's just one more thing that you will have to do if you would like to utilize PayPal for recurring subscriptions.

If you are not using the subscription feature of Mavenseed then your setup is completed.

Setup Webhooks

A webhook is a notification sent to a URL that has some data attached to it. For example, when a new subscription payment is received, we have to record that payment inside your Mavenseed site, and we also update the users expiration date to the next billing date.

With Stripe this happens automatically due to the uniqueness of Stripe Connect.

However with Braintree, these "webhooks" have to be created within your Braintree account.

But don't fret! This process is as simple as the process to generate API Keys.

Let's go!

  1. Log back into your Braintree account, and again under the gear icon menu, select "API."

  2. This time, select "Webhooks", then click the button to "Create New Webhook."

  3. Braintree offers types of Notifications to send. Select all of the Subscription Notification events.

  4. The most important part! Add the correct webhook URL as shown in the screenshot below. Note: replace "yoursite.mavenseed.com" with your mavenseed URL! Here's the URL below for you to copy and paste (replacing yoursite with your subdomain).

https://yoursite.mavenseed.com/tenant_webhooks/process_bt

You freakin did it!

You are all done with the setup of PayPal for your Mavenseed site.

PayPal Gotchas

Braintree treats recurring subscriptions a little bit different than Stripe does. If you aren't using PayPal for recurring subscriptions, then you can skip this section completely. We've made every attempt to smooth out the workflow in the areas where Braintree lacks, but we still want you to be aware of the limitations.

To be clear, these are restrictions within Braintree and as soon as they improve things, we will as well. But we're not holding our breath, as these limitations have been present for many years.

Braintree does not support subscription upgrades or downgrades.

Well, they do, but they don't actually change the price of the subscription. Weird right? Your customers will need to first cancel their subscription, then create a new one. We've created a workflow in Mavenseed that minimizes the support that you would normally need to offer to make that happen.

We also attempt to educate your customers on the limitations and how they can work to overcome them. Note: you can also perform these actions yourself within your Mavenseed admin by viewing the subscription.

Braintree does not support reactivating a subscription.

Unlike Stripe, Braintree does not support reactivating a subscription. For example, if your customer cancels their subscription before the end of their billing period, there is no way to reactivate the subscription. Instead, it must be recreated.

We've created a workflow in Mavenseed that will educate your customer, and guide them through the resubscribing process.

Braintree API does not support creating coupons, nor do they support percentage based coupons.

This one is a big pain for us because when you create a coupon in Mavenseed, and you select it to be offered for subscriptions, we can't call out to Braintree and create that coupon. We've searched high and low with multiple trips to the Himalayas to search for the secret, but we've come up empty handed each time.

What does this mean for you?

This means that subscription coupons must be created manually on Braintree, then created in Mavenseed and ensuring the coupon code is the same in both areas.

We totally realize that this can be a big inconvenience, but there's not much we can do here until Braintree updates their API to allow these basic operations.

Last updated