I'd need to get and store users auth to bill them via PayPal in the future, the auth shouldn't expire.
The normal auth & capture lasts 29 days. So I looked into subscription and/or recurring payments but here you need to specify how many times, how often and for how long you want to charge.
What I need is the possibility to charge user's PayPal account when something happen (never, tomorrow, in 3 months, once or twice etc) without asking the user to login/auth it again.
Many sites do this (for example godaddy charges me when one of my domains expire or when I buy a new one) but can't find the documentation.
As said in the comments, this is called billing agreement:
A Billing Agreement allows a seller to charge your PayPal account when you purchase goods from them or use their service.
An example of this would be an agreement to pay eBay seller fees for listing items on eBay
Billing Agreements are different from subscriptions. With subscriptions, a fixed amount is charged for a specified period, but with Billing Agreements, the amount and time period aren't fixed.
This feature probably must be activated in your merchant Paypal account.
Here is a related question: Can I create a Billing Agreement with credit card (without paypal account)
Related
I need to create one agreement with user where user need to pay amount for example "75$" (it will dynamic) . User create recurring profile with one time in the future.
Do you mean the amount of charge will be differ on each cycle? If that is the case, you might need to use Billing Agreement with Reference Transaction.
No specific amount on each charge, no expiry date and also you can charge your buyer in future without having them login to their PayPal account.
Read here.
Starbucks has the option to auto-refill your store card via PayPal.
I authorize them only once and they charge my card each time my card balance drops below $15 or whatever amount I specify.
I thought this was just normal 'subscription' functionality I could leverage for my own site, but it seems to me that the normal functionality of 'subscriptions' or 'recurring payments' only supports regularly recurring payments in intervals of weeks, months, or years.
Basically, I need to be able to obtain authorization for future payments that'll allow me to charge the PayPal account whenever a billing trigger (e.g. the user attended an event) occurs, without the user having to approve it each time.
How can I do this?
I've since discorvered that PayPal Vault would be the way to do this in PayPal: https://developer.paypal.com/docs/integration/direct/rest-vault-overview/
Other (perhaps better) options are Stripe or WePay and probably other payment providers that let you store credit cards on their servers and charge them later on.
I have a sandbox paypal account configured for reference transactions, and creating the billing agreement is fine.
Does paypal offer a way for us to prevent the same paypal customer account from being used for multiple billing agreements?
The reason for this is two fold. For any given customer on our side, we only want to have one paypal billing agreement. Also, no two customers on our side should link to the same paypal customer account.
Cheers,
Damian
If you set the BILLINGAGREEMENTDESCRIPTION to be the same for all the transactions a buyer shouldn't be able to sign up twice.
If you have a system where buyers sign into your site you can do a GetBillingAgreementCustomerDetails to see if the buyer already has a billing agreement with you. If they do, you submit a Reference Transaction. If they don't, you create a new billing agreement.
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.
I am trying to use the Recurring payment API offered by PayPal.
I have a scenario which I am not able to address directly. It goes like this.
We have a website where we sell some services. Now the services are charged per user license. A user can buy/cancel user license in between. We want to offer the customer a recurring billing option. We have to notice here that the amount may vary each billing cycle based on the number of user licenses the customer uses during that cycle.
Is there any way I can achieve this using PayPal recurring Payment API's.
I realize this is a very old post, but it still shows up for Google searches, so I thought I'd add:
Paypal does allow you to do this now, using their new adaptive payments api.
Authorize.net also has a service that might work called Customer Information Manager.
The recurring payment option is a fixed amount that the customer pre-agrees to pay each month (or period). To do what you're trying to do, a customer would have to pre-agree to pay whatever amount you decide to charge at a later time. This means pre-authorizing an unknown payment amount, which will not be allowed by any payment service.
Your only options are:
Bill the variable amount each month (i.e. no subscription).
Set up a subscription where the monthly amount is the maximum that could potentially be billed, and then refund the difference each month.
Good luck with #2 - I would never agree to such a thing as a customer, personally.
What you're looking for is covered in the UK by the Direct Debit system, however given the potential for abuse it's very tightly controlled and there are a lot of restrictions and regulations governing it.
I'd strongly suggest you just set up a monthly invoicing system that just bills the client each month.
I don't know its meaning full or not as it is a very old post.
Instead of creating recurring profile on PayPal Server, You can store the customer's credit card on the PayPal using REST API: https://developer.paypal.com/docs/api/#vault then every month you can fetch it and charge it like recurring Payment Or When client is no longer with the services then just remove its card from PayPal.
I suppose Authorize.net SIM method also does the same.
Hope this make sense.