PayPal快速结帐提供全部项目折扣

问题描述:

我在PayPal中使用Express Checkout并试图将折扣作为单独项目(根据手册支持)。PayPal快速结帐提供全部项目折扣

我通过以下部分(在项目全额贴息,但需要支付运费):

&NOSHIPPING=0 
&PAYMENTREQUEST_0_SHIPPINGAMT=2.00 
&PAYMENTREQUEST_0_SHIPDISCAMT=0.00 
&L_PAYMENTREQUEST_0_NAME0=Item1 
&L_PAYMENTREQUEST_0_QTY0=1 
&L_PAYMENTREQUEST_0_AMT0=25.90 
&L_PAYMENTREQUEST_0_NAME1=Discount 
&L_PAYMENTREQUEST_0_QTY1=1 
&L_PAYMENTREQUEST_0_AMT1=-25.90 
&PAYMENTREQUEST_0_ITEMAMT=0.00 
&PAYMENTREQUEST_0_AMT=2.00 

,但我得到“购物车中物品的量的总数不符的订单金额。” 我检查了很多案例,似乎所有其他问题的人已经在我的例子中解决,但它仍然无法正常工作。

任何提示? 谢谢!

据我所知,“ITEMAMT”不应该为零。它必须大于零。所以,如果你使用这样的,它应该工作:

&NOSHIPPING=0 

&PAYMENTREQUEST_0_SHIPPINGAMT=2.00 

&PAYMENTREQUEST_0_SHIPDISCAMT=0.00 

&L_PAYMENTREQUEST_0_NAME0=Item1 

&L_PAYMENTREQUEST_0_QTY0=1 

&L_PAYMENTREQUEST_0_AMT0=25.91 

&L_PAYMENTREQUEST_0_NAME1=Discount 

&L_PAYMENTREQUEST_0_QTY1=1 

&L_PAYMENTREQUEST_0_AMT1=-25.90 

&PAYMENTREQUEST_0_ITEMAMT=0.01 

&PAYMENTREQUEST_0_AMT=2.01 
+0

是的,我只是进行了一些测试,并即将与此相同的答案回应。如果ITEMAMT为0这将让你不管这个错误当我做了一个小的调整,以便ITEMAMT实际上有一个值,那么它运行良好。 – 2014-11-14 22:18:00

+0

@AndrewAngell但是有没有任何标准的方式给客户一个完整的折扣和请求只支付我认为这是非常简单的商业案例,很多商家都可以要求,对于ITEMATM这个0不是被PayPal手册禁止的,但是AMT(总共包含运费)不能是0,这很有道理。有真实生活中的那些人为限制:( – Volder 2014-11-15 09:43:02

+0

这对我来说有点令人惊讶,他们也不允许。似乎我以前做过,但我猜不是。我唯一能想到的就是将项目放在请求之外,因此不需要发送ITEMAMT。 – 2014-11-15 19:04:55

我收到了来自官方的支持贝宝的一个答案:

PAYMENTREQUEST_0_ITEMAMT - 不能为零。

两种选择: 将主要商品部分的折扣降低0.01,使商品的总价值ITEMAMT为0.01,然后额外地使运输折扣为0.01(平衡最终总和)。

PAYMENTREQUEST_0_PAYMENTACTION=Sale 
<!-- Item 1--> 
L_PAYMENTREQUEST_0_NAME0=Item1 
L_PAYMENTREQUEST_0_QTY0=1 
L_PAYMENTREQUEST_0_AMT0=25.90 

<!-- Iteam 2--> 
L_PAYMENTREQUEST_0_NAME1=Discount 
L_PAYMENTREQUEST_0_QTY1=1 
L_PAYMENTREQUEST_0_AMT1=-25.89 
<!--Total of items amount--> 
PAYMENTREQUEST_0_ITEMAMT=0.01 

<!-- Shipping/tax/handling etc--> 
PAYMENTREQUEST_0_SHIPPINGAMT=2.00 
PAYMENTREQUEST_0_SHIPDISCAMT= -0.01 
<!-- Total amount --> 
PAYMENTREQUEST_0_AMT=2.00 

另一种选择是将运费到项目部分:

L_PAYMENTREQUEST_0_NAME0=Item1 
L_PAYMENTREQUEST_0_QTY0=1 
L_PAYMENTREQUEST_0_AMT0=0.00 
<!-- Iteam 2--> 
L_PAYMENTREQUEST_0_NAME1=shipping cost 
L_PAYMENTREQUEST_0_QTY1=1 
L_PAYMENTREQUEST_0_AMT1=2.00 
<!--Total of items amount--> 
PAYMENTREQUEST_0_ITEMAMT=2.00 
PAYMENTREQUEST_0_AMT=2.00 

对于我的问题 - 他们为什么不正确实现它,我没有回应。

所以我们还是要利用这个疯狂的解决方法之一((