【发布时间】:2018-05-10 09:12:53
【问题描述】:
我有一个网站。它是使用 laravel 5.6 创建的。我集成了一个运行良好的支付网关(payone)。我可以做测试交易。但我不知道如何捕获支付网关发布到我的 url (https://demo.project.de/payment/response) 的帖子数据。我尝试了一些功能但无法正常工作。这是我的代码。任何帮助将不胜感激。
routes->web.php
从支付网关(payone)获取帖子的路径
Route::post('/payment/response', 'PaymentController@response')->name('payment.response');
PaymentController.php
public function response()
{
// you'll need to include the $defaults array somehow, or at least get the key from a secret configuration file
if ($_POST["key"] == hash("md5", env('KEY'))) {
// key is valid, this notification is for us
echo "TSOK";
if ($_POST["txaction"] == "appointed") {
dd($_POST);
// a freshly created transaction has been marked successfully initiated
// update that transaction accordingly, e.g. by $_POST["reference"]
}
if ($_POST["txaction"] == "paid") {
dd($_POST);
// update your transaction accordingly, e.g. by $_POST["reference"]
}
}
}
Payone 回应
response of your webserver:
<!DOCTYPE HTML> <HTML LANG="EN"> <HEAD> <META CHARSET="UTF-8"> <META HTTP-EQUIV="X-UA-COMPATIBLE" CONTENT="IE=EDGE"> <META NAME="VIEWPORT" CONTENT="WIDTH=DEVICE-WIDTH, INITIAL-SCALE=1"> <TITLE>PAGE EXPIRED</TITLE> <!-- FONTS --> <LINK HREF="HTTPS://FONTS.GOOGLEAPIS.COM/CSS?FAMILY =RALEWAY:100,600" REL="STYLESHEET" TYPE="TEXT/CSS"> <!-- STYLES --> <STYLE> HTML, BODY { BACKGROUND-COLOR: #FFF; COLOR: #636B6F; FONT-FAMILY: 'RALEWAY', SANS-SERIF; FONT-WEIGHT: 100; HEIGHT: 100VH; MARGIN: 0; } .FULL-HEIGHT { HEIGHT: 100VH; } .FLEX-CENTER { ALIGN-ITEMS: CENTER; DISPLAY: FLEX; JUSTIFY-CONTENT: CENTER; } .POSITION-REF { POSITION: RELATIVE; } .CONTENT {
【问题讨论】:
-
尝试获取请求输入的函数,类似于
-
显示你的响应输出
-
代码看起来没问题。您的 URL 是否公开,以便第 3 方服务能够找到它?
-
通常这些服务有一些测试后请求。你能试一试看看会发生什么吗?
-
@sam,我添加了请求输入。但不工作
标签: php laravel laravel-5 laravel-5.6