I am looking for the way to setup the PayPal recurring payment using API. As per the requirement, I need to charge the user $100 per month infinite. But need to give free ($0) every fourth month on three consecutive successful payment.
e.g. if the payment starts on January, it should charge $100 for Jan, Feb and March. It should not charge for April. Again it should charge $100 for May, Jun and July. while it should not charge for August. and so on.
So that user will get free subscription for every 4th month.
Please let me know how to implement this.
Related
I have a problem with PayPal recurring payment because my recurring payment is set in MONTHLY but after registration, I encounter double payment. The date of my registration is July 27, 2020, but instead of the next payment will be due next month PayPal. They charge me on the next day of my registration.
Please see the below image for the email from PayPal of my transaction today.
If you set an "Every 1 month" cycle PayPal Subscription to bill immediately, the first payment will bill on the following day.
If you have a setup_fee, it will bill immediately at checkout time.
If both are happening, then you need to get rid of either the setup_fee, or the first cycle of billing.
The way you get rid of the first cycle of billing is to begin with a trial sequence of 1 month that is 1 cycle long (and has no charge)
Then, after the 1 month trial, the regular periods of billing every 1 month can begin.
I used PayPal SDK to create and execute a billing agreement that was supposed to charge the client every 3 months.
However, I used the setup_fee to charge the customer immediately and set the start date to be 1 month in the future instead of 3.
I can see on the customer's profile that the customer next payment due date is in one month and I am not capable of changing the next payment date.
I've already tried using the billing agreement update method, but it doesn't let me change the start_date or next_payment_date.
Any idea how I can change the next payment date for the existing billing agreement that have already been executed?
The answer is not great, but the somewhat solution I found was to suspend the plans.
To give more context, my problem was the following:
User subscribed to quarterly paid plan on September 15th and paid setup_fee
Next payment was incorrectly configured to be on October 15th - because I added a month to the start date*
The actual next payment date should be 3 months after, on December 15h
My "solution":
I paused the subscriptions for those users before October 15th, more specifically on October 10th.
I restarted the solution 2 days after the incorrect next_payment_date, on October 17th.
Once the plan was restarted the next_payment_date was set to 3 months later, so it was set to January 15th.
So as you can observe, I was not able to actually fix it, but rather I accepted to "lose" a month.
Note: Paypal support was LESS than useful. At first their recommendation was to cancel the plan and ask the users to buy again. Then I sugggested the approach of suspending and they INCORRECTLY confirmed to me that the next payment date would be the correct one, and that was not true, it was ONE month later. So be aware of what their support says.
I have a business case where i need to bill the user for a subscription on a yearly basis but starting at a specific date: 1 of april of current or previous year.
Examples:
User registers on March 31st, 2015, gets charged 10$, gets charged 10$ again on the 1st of april 2015 and on each subsequent 1st of april
User registers on 1st of may 2015, gets charged 10$, gets billed again on 1st of april 2016 and each 1st of april after that
Can this be done with paypal recurring payments profiles? I don't see anything regarding this in the doc although i do see that i cannot start a recurring profile in the past:
The profile start date may not be earlier than the profile creation date.
https://developer.paypal.com/docs/classic/paypal-payments-pro/integration-guide/WPRecurringPayments/
Can this be done?
Use the INITAMT field to indicate an immediate charge in addition to the profile charges.
Your values will look something like this, using NVP with CreateRecurringPaymentsProfile
'BILLINGPERIOD'=>'YEAR', // bill on a yearly basis
'BILLINGFREQUENCY'=>1, // bill once ever year
'TOTALBILLINGCYCLES'=>0, // how many periods (in this case, years) 0 = no end
'INITAMT'=>10, // charge this amount right now
'AMT'=>10, // amount to be billed each time
'FAILEDINITAMTACTION'=>'CancelOnFailure', // if the init amount fails, do not create a profile
'PROFILESTARTDATE'=>'2015-04-01T00:00:00Z' // April 1, 2015 -- adjust as needed
... you also need the standard fields like the first name, last name, and card details.
Charging an initial amount has a big advantage -- you get to verify the card right away. Without an initial amount, paypal will establish the recurring payment profile without actually touching the card, as long as all the information is there. It does not make sure the information is right. So, you could be setting up a profile for a card that doesn't actually work. You won't find out about the failure until the first profile billing, and then, you don't get any information about why it failed, just the fact that it did. With INITAMT, you get the detailed feedback you get for a normal one-time charge, eg. the card was declined, the CVV was wrong, etc.
Be sure to carefully explain the bill dates to your user. If this is happening on 3/29/2015, you might not want to do the first billing on 4/1/2015, but wait a month. This really depends on your use-case.
Documentation
CreateRecurringPaymentsProfile - https://developer.paypal.com/docs/classic/api/merchant/CreateRecurringPaymentsProfile_API_Operation_NVP/
I have implemented PayPal Payments Standard regarding processing subscriptions in our website. We have subscription plans for monthly/yearly.
As per the link https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/subscribe_buttons/#id08ADF60L0E6 PayPal says if a monthly billing cycle starts at 30th of January, the next billing cycle will be adjusted to 1st of March. But in live, it is different. I found that PayPal is billing on 28th of February. Is there any updated link of PayPal regarding this billing change? This is because, we need to display an expiration date to our customer for the current billing cycle/subscription.
Now I have doubts about the following:
How PayPal will adjust if the monthly billing cycle starts at 31st of January? Feb 28th or March 1st or March 2nd.
How PayPal will adjust if the yearly billing cycle starts at 29th February of a leap year? February 28th or March 1st.
My concern about billing date is that we are displaying the expiration dates to customers of current subscription. With no clear information of next billing date from PayPal, I am confused which date to display for next billing cycle.
Please let me know if any one is already handling these issues.
Thanks in advance!!!
I was also a bit confused, but found a good reference on their docs:
Recurring payments are collected on the same day of the month. If the
initial recurring payment falls on the 31st, PayPal eventually adjusts
the billing cycle to the 1st of the month. If the initial recurring
payment falls on the 29th or 30th, PayPal adjusts the billing cycle to
the 1st of the month on the following February.
Following what they've specified, I think the right answer to to both of your questions is:
It would be adjusted to March 1st.
For more examples, this reference might help:
https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/subscription_billing_cycles/
I have difficulties to find an answer on Paypal doc or on the web so here I come.
I am not sure of the behavior of suspending and then later reactivating a recurring payment on Paypal. Say I create a recurring payment profile that will credit $10w every month. We are September 1st and the next billing will happen October 1st. If I suspend the recurring profile on September 5th and I reactivate it on September 20th, will the next billing date change or will the user be still billed on October 1st?
They would still be billed on Oct. 1st.