php - PayPal Express Checkout - 传递字段

时间:2014-03-08 11:12:49

标签: php api paypal paypal-adaptive-payments express-checkout

使用PayPal自适应服务将信息从“SetExpressCheckout”传递到“DoExpressCheckout”时出现问题。

目前,我这样做:

// Single-item purchase
$nvps["METHOD"] = "SetExpressCheckout";
$nvps["PAYMENTREQUEST_0_NUMBER"] = "itemnumber";
$nvps["PAYMENTREQUEST_0_CUSTOM"] = "customvalue";

然后,我在“DoExpressCheckout”中,我这样做:

$nvps["METHOD"] = "DoExpressCheckoutPayment";
$nvps["PAYMENTREQUEST_0_CUSTOM"] = $response["CUSTOM"];
$nvps["PAYMENTREQUEST_0_NUMBER"] = $response["NUMBER"];

所以,这里奇怪的是PAYMENTREQUEST_0_CUSTOM实际上已传递给DoExpressCheckout:

var_dump($nvps);

给我:

array(9) {
  ["VERSION"]=>
  string(5) "109.0"
  ["METHOD"]=>
  string(24) "DoExpressCheckoutPayment"
  ["PAYMENTREQUEST_0_CUSTOM"]=>
  string(6) "itemnumber"
  ["PAYMENTREQUEST_0_NUMBER"]=>
  NULL
 }

但正如您所看到的,PAYMENTREQUEST_0_NUMBER为NULL。

为什么?它不应该像我设置CUSTOM值那样起作用吗?

1 个答案:

答案 0 :(得分:0)

您的意思是使用“L_PAYMENTREQUEST_n_NUMBERm”吗? 我认为没有PAYMENTREQUEST_0_NUMBER。

L_PAYMENTREQUEST_n_NUMBERm
(可选)项目编号。您最多可以指定10笔付款,其中n是介于0和9之间的数字(包括0和9),m指定付款中的清单项目。这些参数必须从0开始按顺序排序(例如L_PAYMENTREQUEST_n_NUMBER0,L_PAYMENTREQUEST_n_NUMBER1)。
字符长度和限制:127个单字节字符 此字段在版本53.0中引入。自版本63.0起,L_NUMBERn已弃用。请改用L_PAYMENTREQUEST_0_NUMBERm。