Paypal PHP SDK REST没有返回任何“成功”变量

时间:2017-05-30 16:13:06

标签: php paypal paypal-sandbox paypal-adaptive-payments paypal-rest-sdk

我按照官方样本的说明在沙箱上进行基本的PayPal付款:

当我的执行服务从paypal服务器收到请求时,会出现问题。转储$ _GET变量后,我可以看到类似的内容:

array:3 [▼
  "paymentId" => "PAY-9HM25571EF136871GLEWZM6A"
  "token" => "EC-6VX65808WU776334M"
  "PayerID" => "2ADP8W2S9ST8Z"
]

因此没有名为“成功”的变量。如果付款没有成功,我应该“成功”:假。我不知道发生了什么,我该如何解决它。

请求帮助,

亚瑟。

2 个答案:

答案 0 :(得分:0)

您正在寻找的变量是州。三个可能的值:createdapprovedfailedHere是原始json的样子。

{
    "id": "PAY-XXXXXXXXXXXXXXXXXXXXXXXX",
    "intent": "sale",
    "payer": {},
    "cart": "",
    "transactions": [{}],
    "state": "approved",
    "create_time": "2017-08-14T15:38:12Z",
    "links": [{}]
}

如果您要创建付款,要发送买方授权付款,您需要创建状态。如果您正在执行付款,则希望州获得批准。

$ payment和$ result对象将json响应表示为对象。运行$result->getStatus()应该返回状态字符串。

答案 1 :(得分:0)

“成功”不会自动产生。当您进行初始POST v1 / Payments呼叫(创建付款)时,您需要包含以下

$baseUrl = getBaseUrl();
$redirectUrls = new RedirectUrls();
$redirectUrls->setReturnUrl("$baseUrl/ExecutePayment.php?success=true")
    ->setCancelUrl("$baseUrl/ExecutePayment.php?success=false");

查看[http://paypal.github.io/PayPal-PHP-SDK/sample/doc/payments/CreatePaymentUsingPayPal.html][1]

基本上只需确保将您的成功返回网址指定为www.mysite.com/successpage.html?success=true。 PYPL将附加paymentId = PAY67S97196TG1078736LIKMI4Q& token = EC37412549V2519404X& PayerID = DNZQ8C57C7P6Q