YetAnotherForum
Welcome Guest Search | Active Topics | Log In | Register

Subscription schedule questions Options
leha2000
#1 Posted : Wednesday, May 12, 2010 4:26:02 AM
Rank: Starting Member

Groups: Registered

Joined: 5/12/2010
Posts: 6
Location: Kharkov, Ukraine
I create a subscription through Express Checkout API calls (call CreateRecurringPaymentsProfile after SetCheckout, DoExpressCheckoutPayment)

1. The customer account is charged twice if the subscrition start date is today: first on checkout time, then later by subscription (same date).
Is it expected behaviour? Should I add the subscription period to the subscription start date to prevent charging by subscription today (during chechout date)?

2. Is the next billing time same (10:00 London), and this time doesn't depend from the profile creation date?

3. How can I test recurring billing now (not waiting several days)?
The setting billing period to Day doesn't help: billing time isn't descreased to minutes.
Sponsor  
 
nds_webdesign
#2 Posted : Wednesday, May 12, 2010 5:01:14 AM
Rank: Junior Member

Groups: Registered

Joined: 10/15/2009
Posts: 159
Location: Omaha, NE USA
The reason they are charged twice is because you are starting the profile today and passing an "INITAMT" in the CreateRecurringPaymentsProfile API Call. If you want an immediate response to find out if the transaction succeeded you would need to pass an INITAMT then start the profile at the normal duration:

my subscription is 20.00 per month

I pass an INITAMT of 20.00, and set the profile start date to 1 month from today.

The recurring profiles bill in batches I have 3 or 4 recurring profiles and they all bill at different times sometimes, not sure if they run them through the batch based on creation date, or if it's done by the previous transaction id.

In the sandbox you need to turn "test mode" on. Login to https://developer.paypal.com then on the "test accounts" Page you will see the column for "Test mode" make sure that is enabled on the sellers account.
leha2000
#3 Posted : Wednesday, May 12, 2010 5:58:44 AM
Rank: Starting Member

Groups: Registered

Joined: 5/12/2010
Posts: 6
Location: Kharkov, Ukraine
nds_webdesign wrote:
The reason they are charged twice is because you are starting the profile today and passing an "INITAMT" in the CreateRecurringPaymentsProfile API Call. If you want an immediate response to find out if the transaction succeeded you would need to pass an INITAMT then start the profile at the normal duration:

my subscription is 20.00 per month

I pass an INITAMT of 20.00, and set the profile start date to 1 month from today.

Seems, a subscription always charged at the start date, and it doesn't depend from the amount types and values (I use AMT only).
So workarounds are: increase the start date by subscription period, or use free trial period with duration equal to the subscription period.

nds_webdesign wrote:

The recurring profiles bill in batches I have 3 or 4 recurring profiles and they all bill at different times sometimes, not sure if they run them through the batch based on creation date, or if it's done by the previous transaction id.

There is the GetRecurringPaymentsProfileDetails call that returns next billing date / time. The time is 10:00Z always.
Can I expect than next billing will be near the next billing time returned from the GetRecurringPaymentsProfileDetails call?

I update my database when get the payment to provide access to paid feature during some period.
So it can be a problem if the payment is charged too late - users can't access the feature.
I'm thinking how to fix this: maybe provide the feature acess for a longer period until charge (10:00Z or 11:00Z)
leha2000
#4 Posted : Wednesday, May 12, 2010 12:23:48 PM
Rank: Starting Member

Groups: Registered

Joined: 5/12/2010
Posts: 6
Location: Kharkov, Ukraine
Can PayPal stuff answer the questions above?

Is customer PayPal account always charged at start date (by subscription, no trial period)?
So I should add the subscription period to the subscription start date to charge the customer account only once during checkout date
(it's charged first on checkout immediately - as result of the DoExpressCheckoutPayment call).

What's next charge time (next billing time)? 10:00Z (next billing time returned from the GetRecurringPaymentsProfileDetails call)?
nds_webdesign
#5 Posted : Thursday, May 13, 2010 5:29:17 AM
Rank: Junior Member

Groups: Registered

Joined: 10/15/2009
Posts: 159
Location: Omaha, NE USA
If you're doing a "DoExpressCheckoutPayment" API Call then doing the "CreateRecurringPaymentsProfile" API Call, you would want to set the Create Start Date to add on or use the trial period. The easiest way would be to skip the DoExpressCheckoutPayment, and just do a Create with an INITAMT and the duration set in the future or with a "trial period" starting today.

I would suggest checking the payment status at the end of the day 23:59:59, just run a cron or something to check the status. I would have to do some further testing for the time returned in the GetRecurringPaymentsProfileDetails to confirm if that is accurate. I guess I'm going off of when my IPN posts for the recurring payments, and IPN can be a bit off schedule sometimes. or you could just run through a loop and do a "GetRecurringPaymentsProfileDetails" and check the "next payment date" and see if that is in the future to determine if the profile already billed.
leha2000
#6 Posted : Thursday, May 13, 2010 6:33:24 AM
Rank: Starting Member

Groups: Registered

Joined: 5/12/2010
Posts: 6
Location: Kharkov, Ukraine
nds_webdesign wrote:
I would suggest checking the payment status at the end of the day 23:59:59, just run a cron or something to check the status. I would have to do some further testing for the time returned in the GetRecurringPaymentsProfileDetails to confirm if that is accurate. I guess I'm going off of when my IPN posts for the recurring payments, and IPN can be a bit off schedule sometimes. or you could just run through a loop and do a "GetRecurringPaymentsProfileDetails" and check the "next payment date" and see if that is in the future to determine if the profile already billed.


I think that I can rely to the billing date only (not time): a customer account should be charged until the billing date ends.
For example, if the next billing date is 25 May and now is 25 May 24:00 then IPN has notified about payment or customer has canceled subscription (or the subscription has finished).

Seems, the recurring billing is about dates only: time doesn't matter.

leha2000
#7 Posted : Thursday, May 13, 2010 8:58:15 AM
Rank: Starting Member

Groups: Registered

Joined: 5/12/2010
Posts: 6
Location: Kharkov, Ukraine
nds_webdesign wrote:
If you're doing a "DoExpressCheckoutPayment" API Call then doing the "CreateRecurringPaymentsProfile" API Call, you would want to set the Create Start Date to add on or use the trial period. The easiest way would be to skip the DoExpressCheckoutPayment, and just do a Create with an INITAMT and the duration set in the future or with a "trial period" starting today.


Yes. I added the period to the subscription start date (like the subscription starts later) and call the DoExpressCheckoutPayment to charge first payment immediately (initial payment is charged on profile activation in 24 hours).
I pass one item to the SetExpressCheckout (L_BILLINGTYPE = 'RecurringPayments') then call the DoExpressCheckoutPayment, CreateRecurringPaymentsProfile.
Is it ok that I charge by 'RecurringPayments' item (DoExpressCheckoutPayment call)? Maybe need 2 items?
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

YAFVision Theme by Jaben Cargman (Tiny Gecko)
Powered by YAF | YAF © 2003-2009, Yet Another Forum.NET
This page was generated in 0.214 seconds.