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,
Related
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.
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.
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.
How i can create recurring payment, that payments will every 15th month using PP API?
What params i need use?
you can use the IPN service to verify payment and, express checkout to kick off a subscription with paypal. The subscription would be held between your customer and paypal. NOT you and your customer.
i.e.: Your customer would go through PayPal to cancel the subscription, which would notify you and your script.
http://www.micahcarrick.com/php-paypal-ipn-integration-class.html
a quick google search returned that library.
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).