We have a physical product that is shipped every 2, 3, or 4 months depending upon customer preference. In between shipments the user may elect to modify their choices.
Before anyone suggests it - I'm pretty sure a recurring billing system (such as Paypal) is not suited to our needs. For two reasons a system like Paypal's does not seem to be ideal .
- They only let you do monthly, quarterly, annually. Not every 2 or 3 months. [Paypal API document here]
- We want the customer to be able to 'ship now' if they want their products early or later than the normal schedule.
- Since its a physical product we cant split it to be a prorated monthly amount.
I think therefore we will have to rebill using the same mechanism as we do when the initial order is created - with the CC numebr and CVV2 code. But obviously we cant store the CVV2 code for PCI compliance!!
I recently came across 'BrainTrees' payment services - which allow you to create an initial transaction and retrieve a 'token' that represents that credit card number. That token is safe to store because it is useless to a thief. It helps minimize the work needed for PCI compliance.
I'm completely fine using BrainTree's solution. It seems to be perfect for what we need - yet it leaves me confused about Paypal's offering. How would I achieve what i am trying to do with any system other than BrainTree without having to store the CVV2 code ?