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 тоже не помогли. Благодарю.

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

Понял.

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

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

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

введите описание изображения здесь

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

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

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

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

 [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-значение предмета недействительно».

Однако удаление скидочного продукта и отправка вместо него поля «DISCOUNT» исправили эту проблему и дали новую 🙂 PayPal всегда показывает это поле как «скидка на доставку», в то время как на самом деле это скидка на товары. По крайней мере, это работает …

Пожалуйста, перечислите этот переменный список URL-адресов URL-адреса Paypal

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

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