Paypal Express - Add Discount Paypal Express - Add Discount php php

Paypal Express - Add Discount


Got it.

It turns out that you can pass a negative amount through as a line item and label it as a discount yourself. I had to add the above code:

$params['L_NAME1'] = 'Discount Coupon';$params['L_AMT1'] = -$discountCodeAmount;$params['L_QTY1'] = 1;$params['ITEMAMT'] -= $discountCodeAmount;$params['AMT'] -= $discountCodeAmount;

This had the following effect:

enter image description here

I found my answer in this PDF:

https://cms.paypal.com/cms_content/CA/en_US/files/developer/PP_ExpressCheckout_IntegrationGuide.pdf

For some reason, that information was not given in several other official PayPal express articles/documents I had read.


I've used the negative price line item technique to achieve the discount, but have faced with a problem - if a discount value is equal to product price, e.g. line items like:

[L_NAME0] => Product #1[L_COST0] => 18.99[L_QTY0] => 1[L_NAME1] => Discount[L_COST1] => -18.99[L_QTY1] => 1[ITEMAMT] => 0.00[FREIGHTAMT] => 15.00[HANDLINGAMT] => 0.00

Then it produces the PayPal error "Field format error: 10431-Item amount is invalid.".

However, removing the discount product and sending instead of it "DISCOUNT" field fixed this issue and gave new one :-)PayPal always shows this field as "Shipping discount", while it is actually item discount.At least, it works...


Please refer this Paypal URLHTML Variable List

<input type="hidden" name="discount_amount_cart" id="discount_amount_cart"  value="3.00">

You can send Cart wide Discount (discount_amount_cart), Product wide Discount (discount_amount) using this parameters. You can find more in provide link. Make sure to pass Positive Integer value. PayPal Does not accept Negative Value.