PayPal Recurring Payments Item Purhcase - paypal

I am developing a payment system using PayPal Recurring Payments (SOAP API).
I am Creating a Recurring Profile and setting up the monthly billing amt, period etc. Now when the user wants to upgrade his plan, I would like to Bill the buyer for the difference amount by using the same Credit card info which is associated with his recurring profile. How can we achieve this? Shall we do a complete separate transaction? Or DoReferenceTransaction API?
If I do a separate Transaction will PayPal allow me to do another transaction if the monthly recurring day falls in the next 72 hours?
Please share your thoughts.
Thanks

I would go with reference transactions like you mentioned. That would be separate from the profile, so yeah, if the recurring payment comes soon after it would process like normal.

Related

Website subscriptions via Express Checkout Recurring Payments

I'm trying to implement a recurring subscription to a website using PayPal Express Checkout Recurring Payments. One requirement is that creating the initial subscription should be as quick as possible: once the customer confirms the purchase, the merchant should receive the money and activate the subscription in a couple of minutes tops.
As far as I understand, I have the following options to go with:
use CreateRecurringPaymentsProfile only, with billing starting now
use CreateRecurringPaymentsProfile with initial payment, starting now
use DoExpressCheckoutPayment followed by CreateRecurringPaymentsProfile starting now + 1 billing period
Initial testing in the sandbox has shown that plain CreateRecurringPaymentsProfile schedules payments once a day, which rules this option out. Option 2 (Recurring Payments Profile with an initial payment) looked promising -- payments usually went through in a couple of seconds -- until the initial payments started being delayed by half an hour or more.
So, a couple of questions:
What is the intented way to implement on-line recurring payments via PayPal?
Does the sandbox share payment scheduling behavior with the live site?
What is the intented way to implement on-line recurring payments via PayPal?
Answer:The recurring payment via Express Checkout is a good way.
The subscription button via Website Payments Standard is also a good way which is more easy to implement.
Does the sandbox share payment scheduling behavior with the live site?
Answer:yes, sandbox has the same payment scheduling behavior as live.
BTW, if you want initial payment be charged right away, you should use Option 3, initial payment will be changed right away after DoExpressCheckoutPayment.
Option 2 only guarantee initial payment be charged in 24 hours.

Irregularly recurring payments with PayPal

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.

Variable monthly recurring payments in UK

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.

Do Paypal recurring payments have unique txn_ids?

I'm using the Paypal "Subscription" button. I have an IPN handler and overall I think I've got it all figured out. My last problem is that apparently there's no good way to test a recurring payment (except to wait for the cycle to occur). This issue is discussed here: [question]: Testing Paypal subscription IPN
I don't really need to test this recurring payment but I do need to know if every recurring payment will have it's own txn_id or if every payment in a subscription shares the same ID.
Thanks!
Yes, each recurring payment cycle will create a new transaction with its own transaction ID.
You'd link these transactions together via their recurring payments profile ID.

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.