快速结账中的即时付款通知订单说明空白

时间:2013-08-25 22:05:31

标签: php email paypal express notifications

我正在尝试整合Paypal Express。订单几乎可以工作,价格和物品的名称显示在paypal的购物车中,所以我认为SetExpresscheckout工作。我的问题是DoExpressCheckoutPayment工作错误,因为在邮件中订单说明是空白的,虽然我提供的信息:

$padata =   '&TOKEN='.urlencode($token).
                        '&PAYERID='.urlencode($playerid).
                        '&PAYMENTACTION='.urlencode("SALE").
                        '&AMT='.urlencode($ItemTotalPrice).
                      '&PAYMENTREQUEST_0_CURRENCYCODE='.urlencode($PayPalCurrencyCode).          
                        '&L_PAYMENTREQUEST_0_NAME0='.urlencode("Name").  
                        '&L_PAYMENTREQUEST_0_DESC0='.urlencode("Description").  
                        '&CURRENCYCODE='.urlencode($PayPalCurrencyCode);

    $paypal= new MyPayPal();
    $httpParsedResponseAr = $paypal->PPHttpPost('DoExpressCheckoutPayment', $padata, $PayPalApiUsername, $PayPalApiPassword, $PayPalApiSignature, $PayPalMode);

以下是同样的问题:Instant Payment Notification order description blank in Express Checkout (NVP)

但解决方案没有帮助。我希望你能帮助我。抱歉我的英语不好。

1 个答案:

答案 0 :(得分:0)

PayPal无法识别您的订单项详情(L_PAYMENTREQUEST_0_NAME0L_PAYMENTREQUEST_0_DESC0),因为您未包含订单项数量或价格,并且未包含商品小计。

理想情况下,您应该传递所售商品的完整详细信息,但如果您只想传递摘要,则需要将以下参数添加到DoExpressCheckoutPayment调用中:

  • L_PAYMENTREQUEST_0_AMT0(将此设置为订单总数)
  • L_PAYMENTREQUEST_0_QTY0(将此设置为1
  • PAYMENTREQUEST_0_ITEMAMT(将此设置为订单总数)