PayPal subscription billing modification not working - paypal

We are using PayPal Payments Standard (aka Website Payments Standard) for our users subscription billing system.
Users want to upgrade their subscription from monthly to yearly for example.
So I generated a new subscription button with the new subscription parameters on my website, then click goto Paypal form, I see the current and new subscription on paypal platform, fine : (the amounts and cycle duration are simple tests values to demonstrate the problem)
Then click on SAVE button but paypal give an error saying :
"Amount can only be increased by 20%"
Paypal think I am only changing the price but it is not true I am also changing the billing duration (from month to year).
Do you know if it is possible with Paypal or the only way is to cancel the current subscription and start a new one ? That would be so bad from paypal.
Thanks in advance for help.

According to the PayPal API documentation, that is built in to their systems https://developer.paypal.com/docs/classic/paypal-payments-pro/integration-guide/WPRecurringPayments/#id086530108PM

Related

Charge Paypal users without letting them enter their password again

We want to offer payments using paypal within our web-app concept. A few days ago i took my first ride using uber in Germany. They provide to add paypal as payment method and after every ride i just can pay using paypal without entering my credentials again.
How to implement a payment process like this?
We want our users to add paypal as payment method and then - X days aftersignup (eg. when we found the right product for him) we want to start the subscription.
The thing is that these X days varies from user to user so we cant use a billing agreement with a fixed start date and due to the fact its a subscription model we cant use just a single payment authorization.
I found the solution: Paypal calls this feature "Adaptive Payments". You can read it here: Adaptive Payments API Reference

configure reoccurring payment and one time payment for paypal using php

I am working on a website which provides the subscription plans like for 1 year, 2 year and 3 year. User can make payment using the one time payment and using the monthly payment. for achieving this functionality I integrated reoccurring payment and one time payment using paypal gateway and I have successfully integrated. But I have some problem below is my scenario.
Suppose customer checkout using one time payment for one year subscription plan and make payment on paypal then paypal will hit at my IPN handler script and I will update the subscription plan for that customer for one year.
Now if customer checkout using the reoccurring payment for one year subscription plan then it will hit at my IPN handler script and i will update the subscription plan.
But here i want to know how i will differentiate with one time payment and reoccurring payment because whenever paypal hit the IPN for monthly payment then it will update my database for that customer and it will update the subscription date with one year. In this way it will update database every month and customer subscription date will update every month with one year.
I hope you can understand what i am trying to say,
Thanks.
The txn_type in your IPN will be different depending on the type of payment, so that's one way to distinguish between the two. Configure your IPN to handle each txn_type different depending on what you need to do for one-time vs subscription payments.
Also, keep in mind that you can add an initial payment in to a recurring payments profile and it will be treated as a one-time payment. Sort of like a setup fee when signing up for cable service or something like that.
Are you using the Recurring Payments API or Standard Subscription buttons or what?

Paypal Overage Pricing

I'm using Paypal website payment subscription. I want to charge overage price from my customers when it's needed. Is that possible? I don't want to use express checkout or double modify existing subscription.
For example, I'm charging $20 each month. For only current month, I want to be able to charge $22. Still my regular payment is $20. Do I need any permission or do I need to take my customers' credit card info and use payflow sdk?
Any solution?
You would just need to modify the amounts you are currently setting in your subscription button. You could set it up so that it has a 1 month trial at $20, then after that it starts its regular recurring amount of $22.
I recently had the same question and had a call with PayPal tech support about this issue and they said there is no way to do this. I too have a normal monthly subscription that I want to be able to charge usage overages when applicable.

Pay Pal Recurring Payment Integration

I have a site which will receive money from customers in a regular period(Say once in a week). I am storing my clients details in my database and i want withdraw money form my customers account with out prompting them for authentication every time.The amount will be vary with respect to the customers. How can i do this with pay pal?Do i need to buy pay pal pro for implementing this.I read some docs related to recurring payments and reference payment services of pay pal, but i don't know how it will work when my business pay pal account registered in Australia.
Thanks in advance.
We recently (Jan 2013) implemented a recurring payment integration with PalPal for an Australian site (paypal account).
We used;
PayFlow Pro (doc:
https://www.x.com/sites/default/files/payflowgateway_guide.pdf)
Recurring Payments module (doc: https://www.x.com/sites/default/files/pp_payflowpro_recurringbilling_guide.pdf)
I can't say the experience was a pleasant one, a lot of reading, phone calls to support, and hair-pulling - but we got there in the end.
Depending on your situation I would suggest looking at Pin Payment Gateway (https://pin.net.au/) as an alternative.
You can use PayPal Recurring Payment method for this.
As you said you do not want you want to withdraw money from there account without authenticating them again, you have to create a subscription profile of customer on paypal via an NVP API (CreateRecurringPaymentsProfile).
After you get the Subscription ID of the customer with a success message you need not to store customers details (card details), which is also illegal to do so.
While calling the
CreateRecurringPaymentsProfile method of API
You need to set the following fields.
BILLINGPERIOD = MONTH or DAY (according to your need)
BILLINGFREQUENCY = 2 (means after 2 BILLINGPERIOD )
TOTALBILLINGCYCLES = 10
For Example : if BILLINGPERIOD = MONTH & BILLINGFREQUENCY = 2 & TOTALBILLINGCYCLES = 10 then automatic payment will occur after every 2 months till 10 payment cycles are completed.
You can also find the example code here :
http://paypal.github.io/sample-apps/

Changing the Amount of a PayPal Subscription

We are using PayPal subscriptions to automatically make ongoing monthly donations. The user initially creates a subscription with some pre-determined monthly donation amount (e.g., say $50/month). This creates a recurring subscription which we process by way of IPN. All good there. But, our interface allows the user to come in and change their monthly donation amount, say from $50/month to $100/month. I am wondering how I can change the PayPal subscription to reflect this new amount?
There is a method in PayPal's NVP API called "UpdateRecurringPaymentsProfile" which says I can update the subscription amount, but unfortunately it says:
For recurring payments with Express Checkout, the payment amount can be increased by no more than 20% every 180 days (starting when the profile is created).
(reference: https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_UpdateRecurringPaymentsProfile)
To be honest, PayPal's API's are quite confusing so I'm not sure if I am using the Express Checkout or not. (We are creating Subscription buttons using the simple Website Payment Standard API).
Will this work? If not, is there an alternative to achieve what we need?
Thanks!
I'm not sure if I am using the Express Checkout or not. (We are creating Subscription buttons using the simple Website Payment Standard API).
I hope rereading the above, you will realize that you answered your own question: You are using Website Payments Standard (WPS) not Express Checkout (EC).
With WPS, you can create a subscription modify button but this is super inflexible and I would not recommend it.
With EC, you can modify subscriptions as well (page 99):
Use the UpdateRecurringPaymentsProfile API to modify a recurring payments profile.
NOTE: You can also modify recurring payments profiles from the PayPal website.
You can only modify the following specific information about an active or suspended profile:
Subscriber name or address
Past due or outstanding amount
Whether to bill the outstanding amount with the next billing cycle
Maximum number of failed payments allowed
Profile description and reference
Number of additional billing cycles
Billing amount, tax amount, or shipping amount
NOTE: You cannot modify the billing frequency or billing period of a profile. You can
modify the number of billing cycles in the profile.
NOTE: For recurring payments with Express Checkout, certain updates, such as billing
amount, are not allowed within 3 days of the scheduled billing date, and an error is
returned.
You can modify the following profile information during the trial period or regular payment
period:
Billing amount (excluding tax and shipping)
Number of billing cycles
With that information out of the way... For the most flexibility:
Look at creating Billing Agreement IDs through Express Checkout. You will need to get Reference Transactions enabled on your PayPal account (talk to merchant support to get this done).
With a BAID, you control when your customers are charged, how much they are charged, and pretty much anything else having to do with the transaction. The drawback is the same as the benefit.. you (see 'have to') control it all.