В настоящее время я отправляю регулярную транзакцию в 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 не принимает отрицательную стоимость.