php - PayPal Express Checkout - 传递字段

Posted

技术标签:

【中文标题】php - PayPal Express Checkout - 传递字段【英文标题】:php - PayPal Express Checkout - Passing fields 【发布时间】:2014-04-11 16:30:24 【问题描述】:

使用 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】:

您的意思是使用“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 版本中引入。 L_NUMBERn 自 63.0 版起已弃用。请改用 L_PAYMENTREQUEST_0_NUMBERm。

【讨论】:

以上是关于php - PayPal Express Checkout - 传递字段的主要内容,如果未能解决你的问题,请参考以下文章

PayPal Express Checkout PHP 没有得到响应

通过 PHP 在 PayPal 上确认 Express Checkout

PHP 支付中的 Paypal API Express Checkout 错误代码 13113

php 更改YITH PayPal Express Checkout for WooCommerce的Set Express Checkout Request参数

Paypal Express 结帐 + php cURL 执行付款不在沙箱上显示付款通知

php [PayPal Express Checkout]删除购物车页面上的“继续结帐”链接