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.
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.
I'm trying to find a payment provider that allows me to process variable subscription payments - I have an SaaS offering which is to be charged for on the usage of it, so the monthly costs will be variable.
E.g I could have to bill:
Jan Fab
User 1 £10 £15
User 2 £25 £20
Initially I thought that paypal would be ok with their automatic payments, but it does not appear you can update the billing amounts via the API - something that is fairly key.
It seems that Authorize.Net would do the trick, or any other processor, but the catch is I dont have an internet merchant account at the minute - and don't really want to have to sort on until things are off the ground.
I have also had a look at Sassy, http://saasy.com/, but this doesn't allow variable monthly billing - only ondemand "top ups".
Any suggestions on providers, or should I look to switch to a "credit" / "topup" model?
I see 2 options:
Use PayPal Recurring Billing and just alter the recurring billing profile before it charges each month. Sort of a pain and there is definitely room for error here. Not the best option IMO.
Use Reference Transactions with PayPal. You would build your own recurring billing logic and essentially just charge the customer what you need to each billing period.
Since you are in UK, you could use PayPal Payments Pro, BraintreePayments or Stripe (in beta) & build your own recurring billing logic on top. Or you could get one of these gateways & use it in a plug-&-play ready recurring solution.
Recurly
ChargeBee
Chargify
Disclosure: I am a Co-founder of ChargeBee.
We'd like to find a payment provider that lets us do something similar to Hailo, ie:
Users sign up and give us their credit card details/authorise us to charge their account. They only need to do this once.
In Hailo's case, users might take a cab journey at any time and be billed any amount (within reason). In our case, users might need a job done at any time, again with an invoice for an arbitrary amount.
So ideally we'd be able to charge users accounts at any time, for any amount, without further authorisation. This is possible because Hailo (and I believe Uber) have it implemented. However, I don't know if they use a third-party payment provider or rolled their own.
Something like BrainTree's recurring payments is close to what we want, but not exactly. We want to be able to bill at arbitrary times, not on a fixed schedule.
The best option we currently have is to use recurring billing, ie save invoices and then charge them all at once at the end of the month. This isn't ideal from a cashflow -perspective, though. Another option is to use GoCardless' variable billing, (you ask customers permission to bill up to £X per month), though from speaking to people it seems they'd be leary of that as it seems like an upfront commitment.
Can we do it our way? How do companies like Hailo and Uber do it?
We're in the UK, by the way.
In PayPal world - we call this kind of functionality as Reference Transactions - here are the 2 how-tos that would give you more info on how to implement reference transactions with PayPal accounts and direct credit cards:
Reference Transactions for PayPal users
Reference Transactions for Credit/Debit cards
You can also use our Preapproval functionality - which would give you delegated access to a PayPal account to make payments on behalf of them. Here is it's how-to.
Full disclosure, I work as a developer for Braintree.
Using Braintree you can create transactions at any time, not just on a recurring basis. In fact Uber is a Braintree customer. You would store the card in the Braintree vault and create a new transaction when you are ready to bill the customers credit card.
Braintree has recently announced an international expansion that will support merchants in the UK and other countries in the next few months.
From your description Authorize.net CIM will do the job - http://www.authorize.net/solutions/merchantsolutions/merchantservices/cim/
It's PCI compliant and let you store your customer credit card details with them and return a token for the customer. Then you can use this token to charge customer credit card whenever you need. Also their recurring billing facility would let you charge a fixed recurring charge if needed - http://www.authorize.net/solutions/merchantsolutions/merchantservices/automatedrecurringbilling/
DataCash will let you do this, amongst many, many other things. You just provide their 16-digit reference number in the XML rather than a card number.
(Note: I'm an ex-DataCash employee, and we use DataCash as a payment gateway at my current work.)
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.