我不知道问题是在代码还是paypal帐户设置中。 Paypal正确显示运费,它显示正确的总数(商品价格+运费), 但实际上,交易仅包括物品价格,而不包括运费。 我一直无法找出问题所在。如果paypal可以正确显示,为什么它不能在交易中正确包含它?
这是发送给paypal的请求:
$padata = '&CURRENCYCODE='.urlencode($PayPalCurrencyCode).
'&PAYMENTACTION=Sale'.
'&ALLOWNOTE=1'.
'&PAYMENTREQUEST_0_CURRENCYCODE='.urlencode($PayPalCurrencyCode).
'&PAYMENTREQUEST_0_AMT='.urlencode($TotalPrice).
'&PAYMENTREQUEST_0_ITEMAMT='.urlencode($ItemTotalPrice).
'&L_PAYMENTREQUEST_0_QTY0='. urlencode($ItemQty).
'&L_PAYMENTREQUEST_0_AMT0='.urlencode($ItemPrice).
'&PAYMENTREQUEST_0_SHIPPINGAMT='.urlencode($deliveryCost).
'&L_PAYMENTREQUEST_0_NAME0='.urlencode($ItemName).
'&L_PAYMENTREQUEST_0_NUMBER0='.urlencode($ItemNumber).
'&AMT='.urlencode($ItemTotalPrice).
'&RETURNURL='.urlencode($PayPalReturnURL ).
'&CANCELURL='.urlencode($PayPalCancelURL);
我使用的运输参数是:
PAYMENTREQUEST_0_SHIPPINGAMT
是对的吗?是需要的补充吗?
答案 0 :(得分:2)
您是否在DoExpressCheckoutPayment电话以及SetExpressCheckout电话中提供了所有PAYMENTREQUEST_0_*
和L_PAYMENTREQUEST_0_*
个变量?
SetExpressCheckout将控制买家在结账时看到的PayPal。 DoExpressCheckoutPayment将控制买方实际收取的费用。因此,如果您希望将运费包含在交易中,则需要确保它包含在两次通话中。
答案 1 :(得分:0)
记录,更正DoExpressCheckoutPayment的参数:
$padata = '&TOKEN='.urlencode($token).
'&PAYERID='.urlencode($playerid).
'&PAYMENTACTION='.urlencode("SALE").
'&PAYMENTREQUEST_0_CURRENCYCODE='.urlencode($PayPalCurrencyCode).
'&PAYMENTREQUEST_0_SHIPPINGAMT='.urlencode($deliveryCost).
'&PAYMENTREQUEST_0_AMT='.urlencode($TotalPrice).
'&PAYMENTREQUEST_0_ITEMAMT='.urlencode($ItemTotalPrice).
'&CURRENCYCODE='.urlencode($PayPalCurrencyCode);