Authorize ARB subscription payment - php

I am creating a subscription using Authorize.net ARB API. I can see in my account, where the subscription is created.
Its a very simple subscription, where a user would be paying $100 every month. I would like to know, if the user would be billed at the time of creation of the subscription ?
My understanding is that, he would be billed only from next month ? Any idea, how to bill the customer from the time the subscription is created ?
Thanks

ARBCreateSubscriptionRequest has parameter "startDate" where you can set date the subscription begins.
If first price should be different from monthly payments you can also set parameter "trialAmount" for first payment
All information you can find here
http://www.authorize.net/support/ARB_guide.pdf

You should always charge the first subscription payment using the AIM API. The AIM API will process immediately and act as a verification for the credit card. You will know immediately if a card is invalid and before you create the subscription. If you schedule a payment to process the same day the subscription is created it does not process immediately. That process later that night. If the credit card is invalid you lose the opportunity to have the user correct it because they are no longer present at your website.

Related

Recurring billing in Authorize.Net

I am using the below feature to create recurring ARB at Authorize.Net
https://developer.authorize.net/api/reference/index.html#recurring-billing-create-a-subscription
We have implemented it in PHP but it is also accepting the test credit card details at time of ARB creation in live mode. It is not validating the credit card at time of ARB creation.
So is there anyway to validate the card at time of ARB creation not at time of amount deduction. I know it will validate when the first amount will deduct but I want validation at time of ARB creation.
Please suggest some solution if someone faced it before or anyone have any idea how to do it.
You can validate the card at the time of subscription payment by doing a $0.00 or $0.01 AUTH_ONLY transaction before you create the subscription. If the card is approved you can be sure the card is valid.
Keep in this mind that this does not validate that the card will be valid at the time the first subscription payment is processed or that the funds will be available (i.e. the transaction will be approved) as there is no way to know this until the card is actually processed at that time. But this will validate the credit card is otherwise valid.
Assuming you want to charge the credit card immediately and then have a recurring payment afterwards, you should do an AUTH_CAPTURE for the first payment and then future payments should be done using the ARB API. That way you are sure to capture your first payment, and validate the card, before you create the subscription.

How to change the next cycle billing date in Authorize.Net recurring payment

I have used https://github.com/stymiee/Authorize.Net-XML/ library for implement recurring payment for my website.
Is there an option to change the next cycle billing date? For example, initially I have subscribed for one plan on 04-03-2018 for every month. But I need to change Next cycle subscription to start on 06-04-2018 . Is it possible in authorize.net recurring payment?
You cannot change the date of a recurring billing subscription. If you need to change the date you need to cancel the current subscription and create a new one with a starting date of 06-04-2018. If the billing dates are going to not be consistent then you would want to switch from using the ARB API to the CIM API which allows you to create payment accounts and charge against them at a future date. Then you can build your own billing engine to charge users when necessary.

PayPal & Stripe recurring billing get last user payment date

I use Stripe and Paypal REST PHP apis for recurring billing subscriptions. When subscription is cancelled I have webhooks which removes user account.
So, If user doesn't have money on bank account - Stripe & PayPal cancels their subscription, and then my webhook removes this user's account.
I have a question: how to get customers last payment date within Stripe & PayPal apis?
I need that because, If user pays for 1 month forward and then cancels the subscription their account would be canceled right away and they will lose access for the month which he already payed for.
I want to let them use website service for 1 month and then cancel the subscription.
I searched last payment date in subscription details - https://stripe.com/docs/api?lang=php#retrieve_subscription
But I can't find that, please, help me to find this for stripe and paypal if possible
Thanks,

Suggest recurring payment method for paypal

We have specific requirement list for recurring payment method which are as follow:
After registration process user can select plan for recurring payment which is like 7$/month.
While registering user can enter coupon code and if he/she choose recurring plan then user will get discount on first month only and rest of the month he has to pay decided amount (7$/month) for recurring.
User can cancel his/her recurring plan and switch to free account.
User's account (premium/free) is depend on the received payment. So i have to check that user's payment is received and if not then i have to update my database and make user as free user.
There is a scenario that user signed up with recurring payment method after some month he switched to free account. Now again he wants to sign up with recurring plan. how can i achieve above scenario.
I know there are two options (subscription and recurring payment) but i am confuse which is suitable for this scenario. If there is another solution available then please suggest it.
PayPal doesn't have a coupon code feature so that is something you would need to handle on your own.
You can set up a trial period for a Recurring Profile that lasts a month and would be charged at the lower rate. After that trial period the Recurring Profile would start billing the normal amount of $7.
A buyer will always be able to change their Recurring Profiles within PayPal. You can't have a Recurring Profile open with PayPal for free. We require that a positive amount is provided. You can still track the users on your own but there wouldn't be an active Profile for them within PayPal you can check.
An existing Recurring Profile can be updated but the amount charged cannot be changed more than 20%.
Either a Subscription button through Payments Standard or Recurring Payment API's through Express Checkout will allow you to do this. Express Checkout Recurring Payments can be handled entirely through API calls.

Using Paypal API's to process conditional rental payments using PHP

I am building an eCommerce site which gives a user the ability to rent
an item for a designated amount of time. If the item is not returned
within that time, the customer is billed automatically for another rent
cycle. If the item is returned the customer will stop getting billed
for additional rent cycles. If the item is bought the customer will be
billed and an additional amount different from the rent price will be
billed to the customer and the customer will no longer be billed for
additional rent. Most of the billing is ongoing and has too many
variables going on to just have a simple subscription payment method.
I think the sequence of transactions can be initiated with a simple PayPal button form which sends information about my IPN script location, Cancel Payment script location and recurring payment script location.
I find that there are some limitations of what PayPal's API's can do. It seems that the recurring payments API is set up for an amount of set payments set over a specified billing period over a set number of times a customer would be billed. I am not 100% sure on this but I think PayPal only accesses the recurring payment API for a customer once for the initial transaction and executes the continuous transactions without checking my websites internal database which might give data to influence parts of the recurring payment script to cancel continuous payments. An example of when this condition should occur is when a customer returns a product or purchases a product which was already being rented out. PayPal has been terrible at getting back to me about technical problems like this. Another problem with PayPal's recurring payments API is a recurring payment subscription cannot be longer than a year so if a customer is renting an item for 2 years then they would only be charged for the first year.
Any advice on how I can implement a payment system like this using PayPal, if it is even possible would be greatly appreciated. I don't want to have make my own payment gateway if PayPal can do this.

Categories