php - 缺少 Paypal 付款操作

标签 php curl paypal

在将 PayPal 集成到我们的商店系统中时,我做了必要的最新可用文档所说的。我刚刚发现 NVP 中好像有 PAYMENTREQUEST_n_PAYMENTACTION 参数。

我使用 SetExpressCheckout 返回的 token 和 PayerID 获取付款详细信息。当我输出返回的 cURL 时,我才发现:

[CHECKOUTSTATUS] => PaymentActionNotInitiated

似乎是什么问题?

我在 cURL 中使用这个查询:

// Prepare PayPal API URL
$url = "https://api-3t.sandbox.paypal.com/nvp";

// $PAYMENTACTION = "Sale"

// Prepare PayPal NVP (Name-Value Pair) payment request
$nvp = "METHOD=" . $SETMETHOD;
$nvp .= "&VERSION=" . $VERSION;
$nvp .= "&USER=" . $USERNAME;
$nvp .= "&PWD=" . $PASSWORD;
$nvp .= "&SIGNATURE=" . $SIGNATURE;
$nvp .= "&PAYMENTREQUEST_0_PAYMENTACTION=" . $PAYMENTACTION;
$nvp .= "&PAYMENTREQUEST_0_CURRENCYCODE=" . $CURRENCY;
$nvp .= "&SOLUTIONTYPE=" . $SOLUTIONTYPE;
$nvp .= "&RETURNURL=" . $RETURNURL;
$nvp .= "&CANCELURL=" . $CANCELURL;
$nvp .= "&L_PAYMENTREQUEST_0_NAME0=" . $PAYMENTNAME0;
$nvp .= "&L_PAYMENTREQUEST_0_DESC0=" . $PAYMENTDESC0;
$nvp .= "&L_PAYMENTREQUEST_0_AMT0=" . $PAYMENTAMT0;
$nvp .= "&L_PAYMENTREQUEST_0_QTY0=" . $PAYMENTQTY0;
$nvp .= "&PAYMENTREQUEST_0_ITEMAMT=" . $PAYMENTITEMAMT;
$nvp .= "&PAYMENTREQUEST_0_AMT=" . $PAYMENTAMT;
$nvp .= "&PAYMENTREQUEST_0_CURRENCYCODE=" . $CURRENCY;
$nvp .= "&LOCALECODE=" . $LOCALECODE;
$nvp .= "&HDRIMG=" . $HEADERLOGO;
$nvp .= "&PAYFLOWCOLOR=" . 262626;

最佳答案

PaymentActionNotInitiated 未引用 PAYMENTREQUEST_0_PAYMENTACTION
这仅表示您尚未将买家引导至 PayPal 页面以确认他/她的付款。

回顾一下,这是 Express Checkout 的工作原理:

  1. SetExpressCheckout 设置支付并返回一个 token
  2. 您将买家重定向到 https://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=TOKEN-HERE ,其中 TOKEN-HERE 是您之前收到的 token
  3. 买家同意付款后,返回您的网站
  4. 您可以调用 GetExpressCheckoutDetails 并提供 token 作为参数以获取买家的 PAYERID。
  5. 使用提供的 token 和 PAYERID 调用 DoExpressCheckoutPayment 以完成支付

关于php - 缺少 Paypal 付款操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9680969/

相关文章:

curl - 使用 curl 通过 SSO 重定向获取 MediaWiki 页面信息

php - 为什么我从 PHP PDO 直接查询获取数据而不是使用准备好的语句时出错?

php - 根据html形式连接特定的MySQL数据库

ruby-on-rails - HTTParty 和通过 token 授权

powershell - 从powershell调用cmd无法正确解析?

api - 从 Paypal API 运行余额

c# - Paypal 快速结帐和 ASP.NET

Paypal 信用卡付款选项

php - mysql全连接查询

php - SELECT * FROM $_POST[] - PHP mySQL 格式化