Подтвердить что ты не робот

Paypal Express - добавьте скидку

В настоящее время я отправляю регулярную транзакцию в 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. Я не знаю, позволит ли это мне сделать то, что мне нужно, хотя я все еще получаю ошибки, указывающие на то, что "несовместимо".

4b9b3361

Ответ 1

Получил это.

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

$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, которые я прочитал.

Ответ 2

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

[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 всегда показывает это поле как "Скидка на доставку", в то время как на самом деле это скидка на товары. По крайней мере, он работает...

Ответ 3

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

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

С помощью этих параметров вы можете отправить Широкую скидку на корзину (discount_amount_cart), Скидка на скидку (discount_amount). Вы можете найти более подробную ссылку. Не забудьте передать значение "Положительное целое". PayPal Не принимает отрицательное значение.