Suggest recurring payment method for paypal - php

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.

Related

Subscription system with Paypal

I'm developing a restaurant catalog in which the restaurant owners pay a monthly fee for having their restaurant appear on the site. I was thinking in using Paypal recurring payments but I don't understand exactly how it works. Would Paypal automatically charge the fee each month? (Like auto-renew) or would the users be able to decide if they pay or not? I need that the users decide if they want to continue with the membership instead of being automatically charged. How can I achieve this with Paypal?
I'm using express checkout with instant payment notifications (IPN).
Recurring Payments would be a subscription that would be charged automatically unless the profile was in a canceled or suspended state. So if your customers signed up, they can indeed choose whether to pay or not if you give them a way to suspend their profile, which you can do via the ManageRecurringPaymentsProfileStatus API.
If you would rather setup a way where users have to click a button to approve the payment each month then you could go with a billing agreement and a reference transaction. In your SetExpressCheckout request you would make sure to include the billing agreement parameters to get a valid token, and then when the order is completed with that billing agreement you can use the transaction ID you get back from it in a DoReferenceTransaction request in the future to process any amount using the previous billing info that PayPal has saved, so no additional login auth would be necessary.

Authorize ARB subscription payment

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.

Reference transaction with Recurring PayPal payment profiles

I want to modify my billing cycle of recurring payment with a different amount before the next billing cycle starts, and I was suggested that I should use reference transaction for that. But as we know recurring payment profile call does not respond with transaction id then how is it possible to make a reference transaction ?
Please help me with this subject.
Thank You,
If you're working with a recurring payments profile created via Payments Pro or Express Checkout then you'll need to update it using UpdateRecurringPaymentsProfile. You could also do it manually via the PayPal account.
If the profile was setup using a credit card there aren't any limitations to updating the amount. Unfortunately, if the profile was setup using a PayPal account you can only increase the amount by 20% every 180 days.
That's probably why reference transactions were recommended. Using reference transactions you can build your own recurring payments system and avoid this limitation.

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.

Several questions about paypal pro subscriptions flow

I have integrated standard paypal with one of sites and it works as follows: user selects which subscription to buy, he is redirected to paypal, paypal sends IPN response, I process it and then every X days PayPal sends a new IPN notifying site that user has been successfully charged for new subscription iteration. Now the problem is that user needs to have paypal account to sign up for such subscription.
The customer contacted PayPal and found out that it is possible to avoid having user to use their PayPal account to buy subscription when seller uses paypal pro account. Is it really so? Will I be able to gather user's card info, then send some request to PayPal API and have the subscription created. If yes, what will happen next? PayPal will be sending me IPN requests every X days notifying site that the card has been successfully charged?
Also, what is the general flow? Do I always have to gather card info and send it to paypal api or can I redirect user to paypal in a similar way as standard paypal functions?
Yes, this is possible. You would need to sign up for PayPal Website Payments Pro and Direct Payment Recurring Payments. You can then use the CreateRecurringPaymentsProfile API and specify the card details directly in a single API call.
This will create a recurring profile, which is billed every X days / months, depending on what you specified as the billing period in CreateRecurringPaymentsProfile.
Alternatively, you can also sign up for PayPal Premium Services (for the UK) or PayPal Enhanced Recurring Payments (for the US). This allows you to accept subscription payments from guest users, using the exact same integration you have at the moment, except a 'guest payment' section will be added to the PayPal checkout screen, so buyers won't be forced to create a PayPal account to sign up for your subscriptions any longer.
(Note: Enhanced Recurring Payments / Premium Services has other benefits as well, such as Installment Plans, but guest subscription payments is definitely the biggest benefit).

Categories