FAQ

Here are the most common questions that we get asked of SubscriptionBoss. If your question isn't listed here, or if you want to speak with either Liz or Russell, please visit the contact page and request a Skype call to get your questions answered.

What Version of PHP Is Required?

PHP 5.6 as a minimum

As PHP 5.5 has reach end of life in July 2016 the minimum supported version of PHP is PHP 5.6.

Option One: Ask Your Host

Your web host should be able to tell what version of PHP is running on the server.

Option Two: Find Out Yourself

Also you can find out yourself as follows:

1) Create a new file phpversion.php

2) Add a single line of code: <?php echo phpversion(); ?>

3) Upload the file to the your web site

4) View the file in a browser at http://www.yoursite.com/phpversion.php

5) Once you have the version number you may delete the phpversion.php file from your web site.

How Easy Is It To Set Up MultiCurrency Support On SubscriptionBoss?

Let’s consider a scenario where the vendor’s Infusionsoft is set in the local currency of NZD (New Zealand Dollar). However the vendor wants products and subscriptions in various currencies eg. NZD, EUR, GBP and USD where the payment method is PayPal.

How Multicurrency Works

Firstly, note that each ​Infusionsoft application only supports a single currency so all orders/invoice in Infusionsoft for this vendor will be in NZD.

What SubscriptionBoss does is allow payment to be taken in another currency but the order to be translated into NZD for Infusionsoft.

Custom fields in Infusionsoft are created to hold the original currency amount and the effective FX rate. SB will also calculate a notional FX loss/gain.

Benefits Of Multicurrency

​What SB does is allow the client to pay in their local currency which is good for the client for several reasons:

  • they do not get charged the 4% foreign exchange charge by PayPal to convert their currency to NZD
  • ​they understand prices better in their own currency and hence are more likely to buy (true for some buyers)
  • they like the fact that the supplier is selling to them in their own currency

Having a USD/AUD balances in their PayPal account is good for the vendor too if they have expenses (such as hosting for example) which can be paid directly from their USD/AUD PayPal account. This saves them 4% FX charges​.

That is the upside.

Overheads Of Multicurrency

​There is a downside too: a bit more administration and some custom development:

​​

Extra Subscription Setup

The vendor needs to set up a subscription in SubscriptionBoss for each subscription/currency combination.

For this, there is a “clone subscription” feature so this should only take a few minutes as the NZD subscription can be cloned and then it is a simple matter of changing 4 fields:

  1. the currency,
  2. the initial amount,
  3. the recurring amount​
  4. the description

​​

Some Custom Development To Internationalize The Checkout Process

The checkout process needs to enable people to choose their currency or country. This needs some custom development.

​The custom development can be trivial or significant depending on the vendor requirements.

​The reason for this is there are several possible solutions depending on:

  • ​the sales funnel
  • whether potential buyers are registered as contacts prior to any sale
  • whether the vendor is running an affiliate program and needs to handle cookies
  • whether the sales funnel ends with an Infusionsoft hosted order forms
  • whether the sales funnel ends with an Infusionsoft checkout/cart
  • whether the sales funnel ends with a self-hosted order form
  • whether the vendor takes payment with credit card as well as PayPal
  • how many products the vendor wants to do this for
  • whether the vendor is selling individual products or bundles of products
  • whether the vendor has access to any programming resource

Simple Checkout Scenario

The simplest solution is one where a multi-stage sales funnel offers just payment via PayPal. It would operate as follows:

  1. Have the potential buyer register first – this allows their country and any affiliate cookie to be captured
  2. Direct them to a self hosted order page passing their contact id and country
  3. Install a snippet of custom code that uses the country to derive what currency to use and hence which SB subscription prices to show
  4. The buyer chooses a subscription and clicks the button to purchase
  5. SB will take the payment through PayPal in the ‘local currency’ and register the sale in Infusionsoft in NZD, run any actions sets required and send the buyer to a thank you page

Complex Development Scenario

At the other end of the scale would be using Javascript to customize a single Infusionsoft-hosted order form where the country or currency is not known in advance, and the order form offers several payment plans and payment by both credit card and PayPal.

How Does SubscriptionBoss Handle An Upsell From One Tier To Another?

PayPal Recurring Agreement Limitations

If a monthly subscriber decides to upgrade their membership tier SubscriptionBoss cannot just tweak the monthly agreement to reflect the new amount. This is because SubscriptionBoss is limited by PayPal’s rules for PayPal Express Checkout API so you cannot significantly change an existing agreement. (unless the increase in the amount is less than 20% in a six month period). PayPal Express Checkout does not offer a one-click ability to change recurring amount to full flexibility.

Handing An Upsell

Right now ​SubscriptionBoss would handle the new sale and then the old agreement would need to be cancelled manually or suspended on PayPal. SubscriptionBoss could fire an action set that sends an email to the administrator giving them the instruction to login to PayPal and cancel or suspend the original agreement.

​I did not implement anything in SB to cancel agreements automatically. I believe cancellation is someone that requires proper oversight – we do not want a rogue employee being able to cancel every single subscription via WordPress admin before leaving the building. Not Good!

Possible New Feature To Suspend/Reactivate Payment Profiles

That said, I could put something in the plugin to suspend the old agreement as this makes more sense to me as it is reversible. This​ would make it easy to revert to the original payment profile if the member tries the upsold tier for a month and then decides she does not want to stick with it and to downgrade to the original membership tier.

​The PayPal API supports Suspend and Reactivate functions so it would be feasible to link the upsell and main product in SB subscription settings so SB could suspend the old profile agreement AFTER the new profile had been created. Similarly, if the user downgrades then SB could suspend the upsell agreement and reactivate the original agreement.

​Right now I do not know how long you can leave PayPal profiles as suspended and still be able to reactivate them – there might be a limit on this before they become stale. Something for me to research further before implementing.

Does Changing A Member’s Email Address On Infusionsoft Cause Problems?

There is usually no impact of changing a person’s email address. The full answer depends on whether you collect the person’s email address during ordering.

Let’s consider the 2 main options:

Option A: When Using An Order Form Or Shopping Cart

Orders are matched to a Infusionsoft contact and hence the email address can be changed independently. There will not be any issue with payments on existing orders or new orders.

It is normal practice to set up SubscriptionBoss using either you own self hosted order form or an Infusionsoft order form or shopping cart which collects the email and name before sending the member to PayPal to pay. This means they are set up using their preferred email address and not their PayPal email address.

Option B – When Using A Buy Button With No Form

SubscriptionBoss only uses the PayPal email address and name if you do not collect their details on an order form or shopping cart. This means you have a buy button and nothing else.

The only issue with changing an email could arise was if:

1) You do not collect their details on the order form
2) A member buys with PayPal email address bill@mail.com and the contact is set up with bill@mail.com
3) At some point later you change their email address in Infusionsoft to fred@mail.com
4) Later they make a second purchase using PayPal email bill@mail.com using just a buy button. This would create new contact for bill@mail.com

You could get around this by passing in their email address in a hidden field if the person was logged in to a membership site. But if they were on a public site they would present as a new user and hence you would need to move the order manually on to the other account

Therefore this is just one of many reasons why it is better to use an order form/shopping cart so the buyer can use an email address other than their PayPal address.

Problems Logging In To The Members Support Forum

Question:

I can login to the /members/wp-login.php but when I click on the support forum, it looks like I’m not logged in. It recognizes me as guest.

Answer:

The support forum is implemented as a plugin so if you can log in to WordPress you are also logged into the forum.

It is most likely a caching issue in your browser. Your browser is remembering you once tried to access the forum when not logged in and is just serving that page

​If you login first at http://www.subscriptionboss.com/members/wp-login.php BEFORE visiting the forum this guest access will not happen

​Also easy tip to break the cache (other than clearing all your browsing history) is to add ?x=something to the URL

​So try http://www.subscriptionboss.com/members/forum/support/?x=y where x or y can be anything – this is a new page to the browser and hence it will access the web server and hence show you the logged-in version of the page or not the version from the cache

What Are PayPal Skipped Payments?

Question:

I get a lot of “Payment skipped” emails, looking in Subscription Boss I see customers who have Notifications of Payment skipped, payment failed, payment skipped etc, can you tell me exactly what causes a payment to be SKIPPED and why?

Answer:

Payment Failures

PayPal tries to take payment 3 times; the first time is says Payment Skipped; 5 days later it tries again and if it fails it is another Payment Skipped; then, after a further 5 days, it tries a third and final time, and if this fails then the message is Payment Failed. – for more see What happens on a PayPal payment failure?

Why Does Payment Fail?

PayPal does not indicate the reason for failure. It can be one of the following

  • there are insufficient funds in the PayPal account
  • there are insufficient funds in the bank account that backs the PayPal account
  • the credit card that funds the PayPal account has expired

In my experience it is typically the third scenario and after the member is alerted of the issue , they add a new card to their PayPal account the next payment attempt succeeds.

Setting Up Payment Failure Handling

The standard approach is to set up Infusionsoft action sets to send out emails after each failure – see screenshot and payment failure handling instructions here.

Typical Payment Handling Campaign

It is common practice to cancel their subscription if they do not resolve the payment issue after 3 emails. However, other clients using membership software may give limited or no access after the first or second failure – it really depends on how you want to set up the IS action sets to handle this.

What If You Want To Allow Them Longer Than A Month To Pay?

If you want to allow your member to go into more than 1 month in arrears then PayPal has an option to allow the debt to be carried through to the next month and then PayPal will try and collect 2 months money at the same time – for more on this see and the section called Automatically Bill Outstanding Amount

Paid Service Available

It you are proficient at IS it is pretty easy to set this up yourself. However, as a time saving measure, I often help people set up their PayPal payment handling by “doing the plumbing” of the creating the Action Sets, tags and campaign to handle the payment failure processing. This typically takes 30 to 60 minutes and is charged at $180 per hour. This leaves the client the job of tweaking the content of the emails to get the right tone of language for their user base.

Infusionsoft And PayPal Subscriptions

The Infusionsoft implementation for PayPal Subscriptions requires PayPal “Reference Transactions” which allows the vendor to take any amount of money at any time from an buyer’s account (up to USD10,000 per transaction).

​There are a couple of major problems with this:

​1) PayPal don’t grant the Reference Transactions capability without a lot of scrutiny of the applicant. There is a lengthy compliance process that considers the age of the account, the reputation, the niche, the refund rate, the value of the customer to PayPal and in what country it is operating.. So the majority of PayPal vendors are not actually eligible for this feature

​2) Buyers may not want to use PayPal in this way as it gives up control over their PayPal account. One of reasons precisely why users choose PayPal is because they can control every new agreement. By buying via a reference transaction they need to give up that control.

​SubscriptionBoss uses normal PayPal Recurring Payments and hence it is available to all Business and Premium PayPal users.

Other Advantages Of SubscriptionBoss

SubscriptionBoss has better support for payment failures, cancellation and refunds​.

It now has multi-currency support which can save up to 4% of sales on PayPal FX fees (and the buyer can save up to 4% as well too)

​Support for Stripe, 2Checkout and Braintree Payments is in the pipeline.

PayPal Payment Option Has Disappeared After The Spring Update

After the Infusionsoft Spring 2014 update the PayPal payment option may disappear from your order forms.

There are 2 ways to put it back. You will need to use the second method if you are using a PayPal certificate instead of a PayPal signature for your Express Checkout API.

  • Set up PayPal Express Checkout in Infusionsoft
  • Enable addition of PayPal option on SubscriptionBoss

Setting Up PayPal Express Checkout On Infusionsoft

This is just a matter of fetching your PayPal API username, password and signature and saving them under E-commerce Setup > Payment Types

Screenshot of Infusionsoft E-Commerce Payment Types

Enabling The PayPal Button On SubscriptionBoss

Go to SubscriptionBoss Settings and in the Infusionsoft Form Settings section click the Add PayPal checkbox then Save Settings

Screenshot of SubscriptionBoss Settings for Infusionsoft Forms

What Are These PayPal Notification Emails?

Damian asked:

I joined Subscription Boss & set it up, looks to be working correctly, but what is this email?

Array ([paypal_ipn] => a:32:{
s:19:"transaction_subject";s:0:"";
s:12:"payment_date";s:25:"00:21:58 Feb 22, 2014 PST";
s:8:"txn_type";s:16:"express_checkout";s:9:"last_name";s:3:"Doe";
s:17:"residence_country";s:2:"US";
s:9:"item_name";s:32:"Setup Charge for Test Membership";
s:13:"payment_gross";s:4:"0.25";s:11:"mc_currency";s:3:"USD";
s:12:"payment_type";s:7:"instant";
s:22:"protection_eligibility";s:10:"Ineligible";
s:11:"verify_sign";s:56:"AFd.erwt7Voes2Mr85yut0RloHozAkJHPfCa2lg4u3m6Y5IcLKQuileb";
s:12:"payer_status";s:8:"verified";s:3:"tax";s:4:"0.00";
s:11:"payer_email";s:18:"john.doe@gmail.com";
s:6:"txn_id";s:17:"9R38147904376032U";s:8:"quantity";s:1:"1";
s:14:"receiver_email";s:20:"seller@somewhere.com";
s:10:"first_name";s:6:"John";s:8:"payer_id";s:13:"CJDGDQKUM9E6A";
s:11:"receiver_id";s:13:"C82923HX5D2";s:11:"item_number";s:0:"";
s:19:"payer_business_name";s:15:"Cool Stuff";
s:15:"handling_amount";s:4:"0.00";
s:14:"payment_status";s:9:"Completed";
s:11:"payment_fee";s:4:"0.25";s:6:"mc_fee";s:4:"0.25";
s:8:"shipping";s:4:"0.00";s:8:"mc_gross";s:4:"0.25";
s:6:"custom";s:7:"p8:test"; s:7:"charset";s:12:"windows-1252";
s:14:"notify_version";s:3:"3.7";
s:12:"ipn_track_id";s:13:"ddcd458abf12d2";}
    [txn_id] => 67D3904376032U
    [txn_type] => express_checkout
    [txn_time] => 2014-02-22 08:21:58
    [mc_currency] => USD
    [mc_gross] => 0.25
    [payment_status] => Completed
    [recurring_payment_id] =>
    [custom] => p8:test
    [product_name] => Setup Charge for Test Membership
    [payer_email] => john.doe@gmail.com
    [receiver_email] => seller@somewhere.com
    [id] => 1
)

Russell answered:

This is a notification of an order for Test Membership.

These emails are generated whenever anyone pays, fails to pay, cancels or get refunded.

There are a “heartbeat” to let you know the system is working.

I recommend you use a forwarded email address to a gmail account where you can apply filters so the email can be automatically marked as “skip the inbox” and “read” then archive.

The filters rules can be based on the Email Subject so you can use different archive folders for sales (new orders), regular payments, payment failures, cancellations and refunds.

Over 99% of these you do not need to look at, however very occasionally the email will tell you about a failure to process an order.

The scenario is one where the order has gone through on PayPal but SubscriptionBoss cannot make the order on Infusionsoft because:

  • your Infusionsoft API key is wrong or has been changed
  • your Infusionsoft application is not responding
  • your firewall has blocked the outbound connection to Infusionsoft
  • the ProductId or SubscriptionPlanId defined in SubscriptionBoss does not exist or no longer exists, or is no longer active in Infusionsoft and therefore Subscription cannot make an order because it cannot identify the product

The steps to resolve the issue are to add the order (and possibly the contact) manually. There is sufficient information in the email to do this.

What If We Already Using The IPN Notification URL?

Question:

I would like to know if SB require the IPN notification URL to be set in Paypal located an: My Account/Profile/Selling preferences/Instant Payment Notification preferences

Because we already have an integration using the IPN notification URL,
and because there is only 1 possible URL/account, our concern is that we would need a second PayPal account to test this setup out?

Answer:

There are three possible approaches:

Option One: Use AN PayPal IPN Forwarder

There are a number of free or premium plugins and services that forward IPNs and send them to multiple destinations. I personally have not used any to cannot make a recommendation. All I can say is that the information is highly sensitive so make sure you apply due diligence in whatever decision you make.

The plain forwarding feature is one that we will add to the plugin in the future. Right now the plugin has a feature than acknowledges and saves the IPN before forwarding which is used in option two.

Option Two: Set Up A Secondary Listener

SubscriptionBoss supports the concept of a PayPal IPN secondary listener. SubscriptionBoss will acknowledge receipt of IPNs back to PayPal then forward them on to the secondary listener URL.

Screenshot of SubscriptionBoss PayPal Notification Settings

Here, you can copy the existing PayPal IPN URL into the secondary listener URL on SubscriptionBoss Settings and then specify the SubscriptionBoss URL as the IPN listener on PayPal: http://www.yousite.com/wp-content/plugins/subscriptionboss/subb-ipn.php.

Option Three: Use The PayPal Sandbox

If your main purpose is to run an extensive test then use the PayPal Sandbox. You can set up a vendor account in the PayPal Sandbox just for testing SubscriptionBoss which has the SubscriptionBoss URL, http://www.yousite.com/wp-content/plugins/subscriptionboss/subb-ipn.php, as the IPN listener in the PayPal Sandbox.

Then in SubscriptionBoss click the checkbox so SubscriptionBoss will run dummy transactions in the sandbox instead of real transactions. You will also store your PayPal Sandbox API Username, password and signature in SB settings.

Screenshot of SubscriptionBoss PayPal Authentication Settings

When you have tested to your satisfaction, you can switch into “live” mode by clearing the checkbox and replacing the PayPal Sandbox API keys by the real PayPal API keys , then set up the secondary listener, run a final test with real money then go live.