我正在尝试整合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)
但解决方案没有帮助。我希望你能帮助我。抱歉我的英语不好。
答案 0 :(得分:0)
PayPal无法识别您的订单项详情(L_PAYMENTREQUEST_0_NAME0
或L_PAYMENTREQUEST_0_DESC0
),因为您未包含订单项数量或价格,并且未包含商品小计。
理想情况下,您应该传递所售商品的完整详细信息,但如果您只想传递摘要,则需要将以下参数添加到DoExpressCheckoutPayment调用中:
L_PAYMENTREQUEST_0_AMT0
(将此设置为订单总数)L_PAYMENTREQUEST_0_QTY0
(将此设置为1
)PAYMENTREQUEST_0_ITEMAMT
(将此设置为订单总数)