2

我不知道问题出在代码还是贝宝帐户设置中。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

这是正确的吗 ?需要补充吗?

4

2 回答 2

2

您是否在 DoExpressCheckoutPayment 调用以及 SetExpressCheckout 调用中提供了所有变量PAYMENTREQUEST_0_*和变量?L_PAYMENTREQUEST_0_*

SetExpressCheckout 将控制买家在 PayPal 上结账时看到的内容。DoExpressCheckoutPayment 将控制买家实际支付的费用。因此,如果您希望您的运费包含在交易中,您需要确保它包含在两个通话中。

于 2013-01-30T16:41:28.823 回答
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);
于 2013-01-30T22:16:24.550 回答