Is it possible to have a user agree to an amount, then take a deposit up front? - paypal

I'm trying to create a process where a user would agree to a full amount ($100), but only have to pay a 20% deposit up-front ($20) at the time. Then at a later time, trigger the remainder of the full amount ($80) to be billed.
Would this be possible to do with PayPal? I would like to avoid the user having to come back into PayPal to fulfill the final payment.

Oh well,PayPal has this one useful product which they named it as Billing Agreement - Reference Transaction where you can set up an agreement with the buyer using Express Checkout. In this case, you set up an agreement with purchase of $20% (assumed $20)of the full amount, and then after a later time, you billed the customer using the agreement you established to charge the remainder 80% (assumed $80).
This is the link where you can get more understanding what I just suggested above.
Reference Transaction - Billing Agreement : https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECReferenceTxns/

Related

How to charge prorated rate on paypal subscription?

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.

paypal recurring payment - how to create recurring profile without expresscheckout?

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.

PayPal Rest API Capture AUTHORIZATION_AMOUNT_LIMIT_EXCEEDED

For Express checkout, when I create a payment with intent=authorize.
after calculate shipping and tax, if the shipping + tax is greater than 15% of the original payment amount I got the error "AUTHORIZATION_AMOUNT_LIMIT_EXCEEDED".
It is very common that shipping + tax exceeds 15% of the original total especially for smaller and heavy items. What will be the way to go around it?
thanks,
Additional info:
when I look at classic PayPal express checkout's first step, It's not required to set any amount to log in to PayPal in order to retrieve shipping address, how do we do this with REST API?
https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECGettingStarted/#id084RM05055Z
That you may consider the PayPal InstantUpdate API, which allows you to update the tax & shipping calculation on the PayPal order review page (with AJAX).
Or alternatively, the common practice is to make the calculation before your payment request API call, on your website checkout flow (when customer fills in the shipping address and select shipping method), submit the precise amount to PayPal and then make the redirection.
You are not getting this error from DoEc, but later when you are later calling DoCapture on the authorization you generated in DoEC, right?
If so, then you are up against one of PayPal's protections for its consumers, which is that they don't allow merchants to get agreement for one price but then charge the buyer a much higher price. This is to avoid bad buyer experiences.
You basically have three options:
1) You can call PayPal CS and ask them to give you special permission to exceed the 115% limit. If you have enough history & volume with PayPal without generating disputes from users, then they may give you this permission. But this permission is usually only extended to large/trusted brands.
2) You can add an estimated tax, shipping and handling charge to the auth in Express Checkout. You would still tell the user that precise tax and shipping will be calculated when the item is shipped and their exact cost will vary. But your estimated charge should get you within 115% of the total. (Note: you usually should be able to get tax precisely at time of sale....)
3) You can decide on a fixed shipping and handling charge that allows you to cover your costs in aggregate and charge that in the EC flow. Yes, on one item that is larger/heavier than you expect you may loose $5, but on another that is smaller & lighter you will come out $5 ahead. This is what most people do.

PayPal double payment

I need to charge a credit card 50% on booking and the rest of 50% on a later date. Is there any other option beside recurring payment? This is only a two time payment so not like any subscription.
Any suggestions are welcome, I feel like recurring payments option is to complicated for this and as I know a recurring payment has no obligation to be paid.
A reference transaction could do this. It would work like this
You charge your customer the initial booking fee. You record the transaction ID from Paypal.
Within 90 days (not sure if this has changed) you would then call (in the Classic API anyways) DoReferenceTransaction with your original transaction ID. Note that you WILL have to accept that the CVV2 (which neither you nor Paypal can store due to PCI compliance) will not match (at least in my experience). It's not a huge risk since the first transaction likely had to pass that check but it is a caveat.

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.