09-25-2012 09:28 AM
According to the ARB_guide.pdf:
The number of trial occurrences (subscription.paymentSchedule.trialOccurrences)
may only be updated if the subscription has not yet begun or is still in the trial period.
I take this to mean that if the 2AM billing window has not occured more or equal times than the trial occurence value, then the subscription is still in the trial period.
If the subscription is in the trial period, then the trial occurence value may be modified. My belief is that it may not be modified to a value less than the number of billing windows that have already occured. I don't remember where I got that from, because I can't find it again, but I'm pretty sure I read it somewhere.
Staying within those constraints, I am unable to modify the trial occurrences (or the total occurrences for that matter), when I:
1. Create an net.authorize.data.arb.Subscription
2. Create a net.authorize.data.arb.PaymentSchedule, set the trialOccurrence value and pass it to the Subscription
3. use a net.authorize.Merchant to postTransaction
However, using that same process I can update other values for the ARB, like the name, trialAmount, amount, etc.
My question boils down to this: Is this something I should be able to do and it is a bug in the java SDK, or is it working properly and I am violating some sort of parameter restriction that I am unaware of?
09-28-2012 12:21 PM
It's true that the trial occurrences can not be set to less than the number of payments that have already occurred. This is because the trial occurrences that you specify includes any payment that has already occurred. This is important to understand because if you want there to add one more trial occurrence you must know to count from the beginning of the subscription and not simply try to set the number to 1.
Are you getting any error when you try to update the trial occurrences or there is just nothing that is happening at all? The API does allow the trial occurrences to be updated until the first payment is run.