I have this monthly subscription and I will be making use of the Paypal Rest API SDKs available in this link:
http://paypal.github.io/PayPal-PHP-SDK/sample/#billing
My question is that, If I updated the billing plan amount, what happens to the users(or billing agreements) subscribing to the old billing plan? Do they pay the updated plan amount in the next billing cycle?
thanks.
Related
Trying to set up a subscription via paypal rest API. I am looking on a solution on how to modify the subscription and charge the specific fee in 1 checkout. I found a way to change the quantity on the subscription, but the problem paypal does not prorate.
So for example, if user subscribes today with 10x of product and then changes the subscription to 20x of product, the paypal will not charge the prorated fee. So how to handle that?
This is an official msg from paypal:
The new price is effective starting on the next billing cycle. Proration and one-time fees aren't automatically supported. If you want to prorate the difference at the time the plan changes or charge one-time fees, you need to do these manually. https://developer.paypal.com/docs/subscriptions/customize/revise-subscriptions/
How do I charge it manually?
How do I charge it manually?
Use setup_fee to simply add an additional fee, or use a 1 cycle trial period to modify the amount of the first payment, which can be lower or higher.
what happens when you delete a paypal billing plan, with users who are already subscribed to this plan? does the subscription plan gets cancelled? and one more question would be - let's say a user has moved from a plan to an other one, do they get automatically refunded? or do I need to refund them somehow? thank you!
Let's say I have a service where a user can subscribe for:
$10/Month
$25/Month
$50/Year
Am I correct that to set this up properly with PayPal's API, I should:
Create three Billing Plans - one Billing Plan for each payment tier
Activate each Billing Plan
When a customer subscribes, they create a Billing Agreement under one of the preexisting Billing Plans and go through the authorization process? Thus, multiple customers would have agreements under say the $10/Month Billing Plan?
I'm further confused because, astonishingly, there is no way to use the API to list all of the Agreements: https://github.com/paypal/PayPal-REST-API-issues/issues/5
When a customer subscribes, they create a Billing Agreement under one of the preexisting Billing Plans and go through the authorization process? Thus, multiple customers would have agreements under say the $10/Month Billing Plan?
Yeah, that's right.
Because there is no API to list all of the agreements, so you could create a billing plan every time a customer subscribes. Then you would be able to list all of the billing plans you created.
GET /v1/payments/billing-plans
https://developer.paypal.com/docs/api/payments.billing-plans/v1/#billing-plans_list
Is there a way to create postpaid subscription with paypal ? Basically what I want is to charge some amount at the end of the month from user paypal account.
That amount of money depends on how much minutes he spend on our service during that month...
With Payments Standard Subscriptions you can't change the amount billed. Using Recurring Payments through Express Checkout you're able to change the amount but only by 20%.
If you set up a billing agreement through Express Checkout you can use the Reference Transaction API calls to bill a customer whatever amount you need to. There are additional features that need to be enabled on an account to allow you to use Reference Transactions.
In the SetExpressCheckout call you define the billing agreement terms and when you submit the DoExpressCheckoutPayment API call you define the exact same billing terms that you included in the first API call.
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.