Clive Portman: code

How Membrr works with Paypal Express Checkout

As long as you don't have an existing subscription, when you complete payment the plan is immediately created and payment taken from Paypal.

If you already have an existing subscription, payment is not taken immediately. Instead, a recurring charge is set up with in Paypal, with the next payment due on the date the subscription would otherwise expire. In the member's Paypal account, the name of the charge is something like "Initial charge: GBP, then GBP5.00 every 1 days until 2013-08-13 (first charge on 2013-08-12)". It's easy to confuse this with a payment setting but in fact it is just a name given to the order by Membrr. The actual payment settings are the Price, the Next Charge Date, and the Last Payment Due (set to indefinite). What this means, then, is that Membrr has set up a recurring charge which starts when the member's subscription expiry date, then continues indefinitely. That's what Paypal sees.

It's important to recognise this indefinite recurring charge is set whatever the number of occurrences in the subscription plan's settings. What Membrr does, though, is cancel the recurring charge when the number of occurrences has occurred. So, if the plan only runs once, the first payment is the last one, because Membrr than cancels the recurring charge. Get it?

Unfortunately, this didn't quite work out for us. It seems Membrr cancelled the recurring charge before the payment had actually been taken. We have the Cron Job for Membrr running at 4am, the default time. The cron job is what checks the subscription status and handles any requests needed that day. My understanding is that payment needs to be taken, that has to go through, then Membrr cancels the recurring charge. Instead, payment didn't go through because the recurring charge hadn't gone through in time. Electric Function, the company behind Membrr have suggested changing that to 11am, so it'll be interesting to see whether that works.

By the way, you can avoid this within Membrr by unchecking the 'When renewing this plan, extend the subscription from the end of the current billing period' option in the subscription plan's settings, and then payment will be taken immediately, but you're shortchanging your members if you do that.