Paypal Express - Добавить скидку - PullRequest
12 голосов
/ 15 марта 2012

В настоящее время я отправляю обычную транзакцию в Paypal Express и без ошибок достигаю шлюза.

Теперь я хочу настроить свою корзину для отправки скидки на шлюз.Моей первой мыслью было изменить значение «AMT», которое отправляется на шлюз.Тем не менее, похоже, что Paypal проверяет поле 'AMT', вычисляя сумму полей ITEMAMT, TAXAMT и SHIPPINGAMT, чтобы убедиться, что сумма не изменилась:

[L_AMT0] => 49.99
[L_NUMBER0] => 3706{3}8
[L_QTY0] => 1
[L_TAXAMT0] => 0.00
[ITEMAMT] => 49.99
[TAXAMT] => 0
[SHIPPINGAMT] => 14.95
[AMT] => 64.94

Сколько я отправляюскидка для Paypal?Я посмотрел, какую документацию я могу найти, но не повезло;Подобные вопросы здесь о SO тоже не помогли.Спасибо.

Редактировать : Я заметил, что могу пройти через поле SHIPDISCAMT.Я не знаю, позволит ли это мне сделать то, что мне нужно, хотя - я все еще получаю ошибки, которые указывают, что что-то «не соответствует».

Ответы [ 3 ]

22 голосов
/ 15 марта 2012

Понял.

Оказывается, вы можете пропустить отрицательную сумму в качестве позиции и пометить ее как скидку самостоятельно. Мне пришлось добавить вышеуказанный код:

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

Это имело следующий эффект:

enter image description here

Я нашел свой ответ в этом PDF:

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

По какой-то причине эта информация не была предоставлена ​​в нескольких других официальных статьях / документах PayPal, которые я читал.

0 голосов
/ 01 июля 2016

Пожалуйста, обратитесь этот URL Paypal Список переменных HTML

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

Используя эти параметры, вы можете отправить скидку на всю корзину (discount_amount_cart), скидку на весь продукт (discount_amount). Вы можете найти больше в предоставить ссылку. Обязательно передайте положительное целочисленное значение. PayPal не принимает отрицательное значение.

0 голосов
/ 15 ноября 2013

Я использовал метод позиции с отрицательной ценой для получения скидки, но столкнулся с проблемой - если значение скидки равно цене товара, например, такие позиции как:

[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

Тогдавыдает ошибку PayPal «Ошибка формата поля: 10431-Недопустимая сумма элемента».

Однако удаление продукта со скидкой и отправка вместо него поля «СКИДКА» устранили эту проблему и дали новую :-)PayPal всегда показывает это поле как «Скидка при доставке», тогда как на самом деле это скидка на товар.По крайней мере, это работает ...

...