Magento - PayPal Plus and Zero Subtotal Checkout - paypal

I'm having problems with Zero Subtotal checkout and Paypal Plus. I have some products with Zero cost, and when I try to buy it the button "Place Order" is disabled.
But when I disable Paypal Plus, it works normally.
I'm using Magento 2.1.5 and this module: https://github.com/i-ways/magento2-paypal-plus
Someone already suffered with this issue?

Amount is always requested to more than zero. You can set 0.01 (or the equivalent minimum amount for other currency) if you want to show your customer free payment. Or, you can refund.

Related

PayPal Adaptive Payment - multiple currency issues

I'm having a real headache with these damn Adaptive Payments for PayPal! So far, I've got it working - but now I'm trying to resolve some issues with it.
Why on earth don't they just let you request a payment in the sellers currency? I'm acting as a 3rd party system for people- so they list on my site, and then the buyer purchases from our site - but the money gets sent direct to them (via our account, with Adaptive payments - so we can do IPN requests). The problem here, is that not everyone will use the same currency.
To get around this, I've been using the ConvertCurrency feature ( https://developer.paypal.com/docs/classic/api/adaptive-payments/ConvertCurrency_API_Operation/ ). This works OK - as I can then give the prices to the buyer in their desired currency.
However, when I then send to paypal to make the payment - it requires multiple payments (at once) to be done in just 1 currency. So for example, I have:
Seller 1- $50 US
Seller 2- 10 EUR
I convert those into GBP, which gives me say £30 and £8 - so a total of £38. This payment goes through, but the problem arises when the IPN gets run. If the person receiving the funds hasn't already setup the account to accept in that currency, the get a message about "accepting" the funds, as seen here:
https://www.paypal.com/uk/cgi-bin/webscr?cmd=p/sell/mc/mc_receive-outside
Until they have decided on what to do there, I can't do squat with the payment - as it comes back with the status:
'transaction[0].pending_reason' => 'MULTI_CURRENCY',
I know for a fact the buyers are not going to like having to wait for a confirmation of their order. Why can't I just get it to accept in that currency, and convert automatically into their primary currency?
The other bad thing about this, is that I doubt the seller is going to be the amount they expect. PayPal are going to take their commission when doing the conversion 1 way, and then again when the person receiving it goes to convert it into their own currency.
How does eBay, etsy and other large sites that offer multiple purchases handle this? Its driving me up the wall!
Ok, well its not really a "solution", but its the route I'm going to have to go down - as I can't see any other option.
Now, I'm storing the converted amounts into my DB, and then showing those to the buyers (these numbers are updated via a cron, 2 times a day).
The buyer then gets shown the prices in their own currency, but when they go to paypal it actually asks for the money in the sellers currency. This means that the artist will always have the correct incoming currency, and I will not get that annoying issue.
If all goes to plan, the price the buyer see's on our site, should be the same as the amount they get charged,as I'm using the ConvertCurrency API to convert the amounts into the most up to date prices.
Hopefully this helps someone else, if they come across this post.

Discount with PayPal REST API

When submitting a payment via PayPal's REST API a collection of Items must be provided where the price * quantity = total.
The following screen grab from Fiddler illustrates my problem:
The value for the "price" element must be in the format "0.00". However, in the case above I started with a price for loose photos of "£0.08" then added 20% VAT to give "£0.096". 300 * £0.096 is £28.80, so the total cost of the order is given correctly. Problem is, I have no way to present the unit cost to PayPal. Could anyone please advise how to solve this problem?
I had similar issues with shipping options and chose to write my own shopping cart code which displays individual items selected plus tax and shipping options. A 'pay using PayPal' button on the form simply submits the total price to PayPal. This gives me total flexibility - I recently switched to free shipping on orders over $x. Also the shopping cart is much faster and responsive than using Paypal for every item selected - so I get more orders going through to completion - always a good thing!

Total amount in service order to be asked on paypal as well? How?

Sorry for the confusing title. Here's my problem -- I am using contact form 7 and I have added paypal in my checkout option but how will it able to record the total amount of the service ordered and be asked for payment? Because it just redirects to paypal with a fixed rate that I put upon creating the button. Can anyone help? Thanks.
PS: This is an example.
If someone wants to avail the service on my site and they want an additional service, they select that service and it will add to the total charge and upon clicking the pay now button, it will charge the total amount on paypal then they pay.
You could have your page dynamically populate the amount prior to redirecting the buyer over to PayPal. To be able to do this, you would need to create a non hosted clear text button. Another option would be to create a buy now button and enter in the amount as 0.00, this would prompt the buyer to update the amount before they proceed to make the payment on the payPal page.

PayPal IPN discount variable

I am using PayPal IPN to process payments on my website. I would like the user to be able to enter a discount code and the value (amount or percentage) passed through to PayPal and calculated.
I have been looking around the web but can only seem to find the following:
Use discount_amount_cart to charge a single discount amount for the entire cart.
Use discount_amount_x to set a discount amount associated with item x
Use discount_rate_cart to charge a single discount percentage for the entire cart.
discount_rate_cart - Applies to entire cart however, this variable will only work with the "Upload" Method. Not the standard Add to Cart variables.
After testing these out in my request string:
...&discount_amount_cart=10&...
PayPal doesn't seem to recognise this discount. Does this actually exist any more in PayPal IPN?
thanks for your help!
Yes you can!!!
Here is a full list of Paypal Variables, and the associated documentation.
Ive just used discount_amount_cart myself!
https://developer.paypal.com/webapps/developer/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/#id08A6HH0D0TA
No ! PayPal doesnt offer any discounts, you need to manually calculate discount in your application & send it to paypal. I have developed a Ruby on Rails application that calculates Billing information using Stripe & PayPal. By the way which language are you programming in ? So that i can help you more on how to go for it.

iOS - PayPal integration - "Invalid parameter Subtotal" error

I tried to integrate PayPal in my iPhone app. But when I tap the "pay with paypal" button for the sandbox enviornment, if the total amount is greater than $10,000 an alert showing "Invalid parameter subTotal" is displaying.
If the total amount is less than $10,000 the app displaying the view of PayPal correctly.
Can anyone please suggest the reason of this issue?
PayPal will reject any transaction of $10,000 USD. The limit varies country by country and also depends on if the user is "verified." Apparently you can't even use PayPal for transactions over $10,000 on eBay.