我按照官方样本的说明在沙箱上进行基本的PayPal付款:
当我的执行服务从paypal服务器收到请求时,会出现问题。转储$ _GET变量后,我可以看到类似的内容:
array:3 [▼
"paymentId" => "PAY-9HM25571EF136871GLEWZM6A"
"token" => "EC-6VX65808WU776334M"
"PayerID" => "2ADP8W2S9ST8Z"
]
因此没有名为“成功”的变量。如果付款没有成功,我应该“成功”:假。我不知道发生了什么,我该如何解决它。
请求帮助,
亚瑟。
答案 0 :(得分:0)
您正在寻找的变量是州。三个可能的值:created
,approved
,failed
。 Here是原始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