PayPal Receipt未使用SetExpressCheckout显示说明信息

时间:2015-03-07 00:41:42

标签: paypal

我使用PayPal的API使用SetExpressCheckout方法处理付款。

$requestParams = array(
   'RETURNURL' => 'SUCCESS_PAGE_URL',
   'CANCELURL' => 'CANCE_PAGE_URL'
);

$orderParams = array(
   'PAYMENTREQUEST_0_AMT' => $price,
   'PAYMENTREQUEST_0_SHIPPINGAMT' => '0',
   'PAYMENTREQUEST_0_CURRENCYCODE' => 'USD',
   'PAYMENTREQUEST_0_ITEMAMT' => $price
);

$item = array(
   'L_PAYMENTREQUEST_0_NAME0' => $item_name,
   'L_PAYMENTREQUEST_0_DESC0' => $item_description,
   'L_PAYMENTREQUEST_0_AMT0' => $price,
   'L_PAYMENTREQUEST_0_QTY0' => '1'
);

$paypal = new Paypal();
$response = $paypal -> request('SetExpressCheckout',$requestParams + $orderParams + $item);

一切都很好,但即使说明显示在PayPal的结帐页面上,我收到的电子邮件收据也缺少描述信息。

有谁知道如何在收据上显示说明?

1 个答案:

答案 0 :(得分:1)

想出来。当SetExpressCheckout完成并返回“Success”时,它会被重定向到PayPal,之后它会返回到指定的RETURNURL。在此RETURNURL页面上,对于DoExpressCheckoutPayment,您需要指定订单详细信息,这是发票中显示的内容。这是代码:

 // Complete the checkout transaction
$requestParams = array(
   'TOKEN' => $_GET['token'],
   'PAYMENTACTION' => 'Sale',
   'PAYERID' => $_GET['PayerID'],
   'PAYMENTREQUEST_0_AMT' => '1', // Same amount as in the original request
   'PAYMENTREQUEST_0_CURRENCYCODE' => 'USD' // Same currency as the original request

);

$item = array(
   'L_PAYMENTREQUEST_0_NAME0' => $name, 
   'L_PAYMENTREQUEST_0_DESC0' => $desc, // <-- this is the description
   'L_PAYMENTREQUEST_0_AMT0' => $price,
   'L_PAYMENTREQUEST_0_QTY0' => '1'
);

$response = $paypal -> request('DoExpressCheckoutPayment',$requestParams + $item);