【问题标题】:How can we get posted data to my url from a third party website in laravel5.6?我们如何从 laravel5.6 中的第三方网站获取发布到我的 url 的数据?
【发布时间】: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


【解决方案1】:

在那个函数上试试这个

public function response(Request $request)
{
    $data = $request->all();

    // then here you should have the parameters received from the payone and process as required in the $data variable

}

【讨论】:

    【解决方案2】:

    没有得到支付网关响应的两个原因。

    1:在支付网关中,响应 url 错误。他们张贴到我错误输入的网址。

    2:我的路由没有公共访问权限,它位于 auth 中间件中。

    现在响应越来越好。

    【讨论】:

      猜你喜欢
      • 2021-04-15
      • 2019-01-30
      • 1970-01-01
      • 2020-06-22
      • 1970-01-01
      • 2021-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多