Migrating existing customers
Current details:
All current subscriptions are in my data, they subscribed via
non-recurring paypal business transactions. I simply have an
expiration date and have them re-up every time their subscription
expires. I'm going to start off with the CG paypal hosted solution
for the time being.
So, I'm working on the code to migrate my billing to Cheddar Getter. I currently have about 200 paying subscribers and my initial thought was to create their CG customer records on next login. However, that kind of throws me for a loop on handling their current subscriptions which could be as much as a year out. So. . .
1) Is there a way I can replicate their current subscriptions in CG (and if so, any pointers?). This would definitely be the optimal solution from my side then just have CG take over when their subscription is up (realizing of course they'll have to go through the PayPal approval process, etc - not that different than what they have to do now).
or
2) Should I just keep them away from CG until their current subscription expires then pass them to CG for new subscription?
or
3) Any other alternative/additional suggestions?
Thanks!
Gerald
Discussions are closed to public comments.
If you need help with Cheddar please
start a new discussion.
Keyboard shortcuts
Generic
? | Show this help |
---|---|
ESC | Blurs the current field |
Comment Form
r | Focus the comment reply box |
---|---|
^ + ↩ | Submit the comment |
You can use Command ⌘
instead of Control ^
on Mac
Support Staff 1 Posted by Marc Guyer on 19 May, 2011 04:37 PM
Hi there -- It sounds like option (1) is the way to go. It's pretty simple. The key is to change the initial bill date to whatever their existing next bill date is when you put them in CG. Also, use the Bill Reminder email template to send a reminder to the customer to head to your site to update their billing info before their bill is due. If they do not update their billing info prior to the billingDatetime, their account will be auto-canceled.
2 Posted by Anderson, Geral... on 20 May, 2011 09:19 PM
Got it, however if you create a paypal user with an initialBillDate in the
future it creates the user as cancelled. I'm guessing this is accurate, I
haven't actually gone through to paypal yet. Please see attached screenshot
(see current status, and bill dates)
Gerald
P.S. You're a busy guy Marc, and doing outstanding work keeping up with
everything.
On Thu, May 19, 2011 at 11:37 AM, Marc Guyer <
[email blocked]> wrote:
Support Staff 3 Posted by Marc Guyer on 22 May, 2011 02:40 PM
Hi Gerald -- That's expected behavior. When setting up a customer with a paypal payment method, the customer must be redirected to paypal to approve the preapproval. Have you seen this article?
http://support.cheddargetter.com/kb/api-8/using-paypal-with-the-api
I suggest setting up the customers without payment methods, then use the Bill Reminder email to remind customers to come to your site to update their payment method. When they visit your site, then update their subscription to pay by PayPal to do the redirect process.
4 Posted by Anderson, Geral... on 22 May, 2011 04:44 PM
Hrm, Yeah, I've read the article, but still don't seem to be grasping what
you're saying.
As I understand it there are only two possible options for method: :paypal
and :cc. The system defaults to :cc so there's no way I know of to specify
no billing method.
If I specify paypal I get the problem we're already talking about and if I
specify anything else I'm expected to have valid cc details. Which can be
easily faked but then it expects a valid cc gateway to be configured which
of course is a whole other problem.
I would be perfectly happy to be able to specify that I'm JUST creating a
customer with plan X with a billing date on Y and since Y > today just
pretty much ignore it all. But I can't seem to figure out how to get it to
do that.
I'll keep plugging away and will post again if I come up with something
different.
Thanks again Marc!
Gerald
On Sun, May 22, 2011 at 9:40 AM, Marc Guyer <
[email blocked]> wrote:
5 Posted by Anderson, Geral... on 22 May, 2011 05:07 PM
Ok, I think I may have found it. I needed to create free legacy plans that
mirror the real subscription plans then when those come due they get sent
through the paypal machine.
Is that the current way of thinking? A little kludgy, but seems at the
moment as if it'll work.
Thanks!
Gerald
Support Staff 6 Posted by Marc Guyer on 22 May, 2011 10:30 PM
No need to use free plans. Just don't pass in a payment method at all. Sorry if the documentation isn't especially clear on that. Payment method used to be required on paid plans but hasn't been for several months.
Strange. Are you getting an error message? The only required bit of the
subscription
post isplanCode
.7 Posted by Anderson, Geral... on 23 May, 2011 01:19 PM
Hrm, if I don't specify paypal as method it's requiring firstName, lastName,
CC#, and Expiration date. If I do submit that information I get an error
that there's no gateway configured.
All of that's from the top of my head but pretty sure it's accurate. You
know what it might be? The ExpectedBehavior Gem may be enforcing those
requirements when you no longer are. That's a 3rd party gem that you guys
just advocate, right? Or is it in-house work?
Thanks!
Gerald
On Sun, May 22, 2011 at 5:31 PM, Marc Guyer <
[email blocked]> wrote:
8 Posted by Anderson, Geral... on 23 May, 2011 01:31 PM
Curiouser and curiouser just took a quick (very) look at the EB Gem and
don't see anything enforcing those limitations. Also verified that the
credit card requirements were not checked in my CG product configuration.
G
Support Staff 9 Posted by Marc Guyer on 23 May, 2011 01:34 PM
Which account (product code) are you using for development? I'll turn
on some verbose logging and then have you issue a request. Then, I'll
be able to provide more info.
10 Posted by Anderson, Geral... on 26 May, 2011 01:05 PM
Marc,
Sorry, have been swamped the last couple days. I'm using product
SWEEPSU_DEV for testing.
It does cross my mind that it might be because I have it set to bill
immediately (I historically bill up-front). It does seem to me, though,
that it's still legit to have a plan set to bill immediately but be able to
set a initialBillDate in the future.
Anyway, if you want to configure the logging and let me know I'll try a few
transactions for you.
Thanks!
Gerald
On Mon, May 23, 2011 at 8:34 AM, Marc Guyer <
[email blocked]> wrote:
11 Posted by Anderson, Geral... on 26 May, 2011 01:44 PM
Ok, confirmed that if I set to bill after the period this works. However,
it's not any better than creating the previously mentioned legacy plans for
the folks because it's still not the way a 'normal' subscription works for
my app.
Maybe it's me, I'm having a very difficult time grasping how to recreate my
billing process, maybe I'm just missing something. Let me outline what I've
historically done and where I'm at and see if you can see a better way out:
1. All non-free plans bill up-front
2. All new accounts are created with an automatic 7-day free trial (number
of days being talked about if that makes any difference). This grants
access to all premium features for that period. It's important to note, and
a marketing point to us that we do not require billing information to create
account/free trial.
3. At the end of the trial access to the application (though not community,
etc parts of the website) are denied
4. User purchases a subscription (1mo, 6mo, 12mo)
5. At the end of the purchased subscription goto #4 or revert to NONE
subscription
[other interesting things]
1. We have lifetime users which have been granted perpetual subscriptions
for one reason or another (typically a sweepstake win or close
friend/family)
2. Administrative users (employees, etc) have perpetual subscription
(current system doesn't even look at subscriptions for these guys).
[migration]
1. All existing users, upon first login after transition will have an
account created on CG that should include the remaining time on their legacy
subscription. I'd prefer to not have to write a lot of custom code to
handle old vs new customers.
2. All new users will be created with normal CG plans and shouldn't be a
problem (except how to handle free trial, etc).
The one feature that my system has that might be something you guys may want
to think about in the future is that when a subscription expires, it
automatically transitions to a different subscription plan (ie. SUB1MO
expires, customer now has NONE subscription)
As part of the current re-factor (but not an issue for the initial
migration) is we will begin offering a FREE plan that allows access to
portions of the application. Customers should be able to move between this
and paid subscriptions as needed. I don't see this as much of a concern,
but trying to be thorough ; )
I assume what I'm doing isn't that unusual and my brain's just not taking it
in, for some reason, how to accomplish this. Any insite would be seriously
appreciated.
Thanks!
Gerald
Support Staff 12 Posted by Marc Guyer on 26 May, 2011 01:56 PM
That all makes sense. You should be able to set the
initialBillDate
when creating a customer. That should work the same for both the migration and for new customers on the free trial.I've enabled logging on your dev account. Please try again and we'll take a look.
13 Posted by Anderson, Geral... on 26 May, 2011 02:14 PM
Ok product SWEEPSU_DEV:
at: 09:07 (CDT) I deleted the customer
(code: 63a244beb7648aa396a00daa922677b0)
at: 09:08 I made 4 consecutive attempts to create customer billing bill
immediately plan and received: A value is required:
subscription[ccFirstName]
Here is the data that was sent (using EB/cheddargetter_client_ruby):
{:code=>"63a244beb7648aa396a00daa922677b0",
:firstName=>"Gerald",
:lastName=>"Anderson",
:email=>"[email blocked]",
:subscription=>{:planCode=>"SUB1MO", :initialBillDate=>Fri, 27 May 2011}}
Thanks!
Gerald
Support Staff 14 Posted by Marc Guyer on 26 May, 2011 02:31 PM
Ok, good, we can replicate that. It seems that there might be a bug when setting the initialBillDate on a paid plan without payment data. We intend for this to be possible. The team is looking into this now.
Support Staff 15 Posted by Marc Guyer on 26 May, 2011 03:39 PM
Fixed and deployed. Thanks for reporting the issue.
16 Posted by Anderson, Geral... on 26 May, 2011 03:49 PM
Damn! That was quick. Nicely done and. . .
Confirmed.
Thanks Marc,
Gerald
On Thu, May 26, 2011 at 10:39 AM, Marc Guyer <
[email blocked]> wrote:
Marc Guyer closed this discussion on 26 May, 2011 04:02 PM.