Hi everyone,
I have a little flow/integration challenge.
On my subscription page, users are able to seamlessly upgrade their plans. What I am trying to do is when they choose a new plan, if there is an active plan, I cancel that and refund the remaining amount. I have no problem cancelling the ARB or calculating the prorated refund amount. However, the challenge I hit is a way to make sure the last ARB payment went through. If it didn't happen then I dont want to issue a refund. Since I am using the "Unlinked Credit" type to issue the refund, I want to make sure I'm not just giving out money. I have the subscription ID stored in our DB.
If getting that info is impossible, what is a good way to refund a correct amount? I read somewhere that the refund is better to be applied to the next first payment but that also runs into the same issue. How can I make sure that the payment for the current billing cycle has been paid? The system im writing is automated and impossible for someone to monitor all transactions on authorize.net or anywhere else for that matter. It will be checked once in a while to make sure correct operation but that cant be done always.
Thank and any response will be appreciated.
01-26-2015 01:09 PM - edited 01-26-2015 01:12 PM
Hi mandah0520 ,
You can use the Transaction Details API to retrieve transaction information and run this every night to track all your subscriptions since there is no way to only query subscription payments. With the scenarion you presented there is no reason that you should be using an unlinked credit. We strongly recommend processing this as linked refund because of the potential security and liability concerns with this process.
Thanks,
Joy
01-29-2015 02:50 PM
Hi Joy,
Thanks for the info. It does seem that way. I plan on writing a script that queries authnet daily with a cron or something. If I do that, is there a limit to how many requests I can make? Also, I'm thinking I can query transactions based on a date range. If I do that, what is a good range to use? Transaction settlement wise.
The reason why I chose the unlinked refund is because of the 120 day limit. If that limit is placed on the transaction and not the subscription then you are right. I am fairly new to authorize.net API as I have only used it a couple of times many years ago.
Thanks for your reply. I appreciate it really
01-30-2015 03:00 PM