Laravel 5.8 回调 API

问题描述 投票:0回答:2

正在使用 Laravel 5.8 开发 Web 应用程序,但在最后一步之前陷入困境。

完整的场景是:
因为我正在尝试与第三方公司进行移动货币支付服务聚合,当我使用ajax发送带有电话号码的请求并金额达到他们给我的

/requestpayment
API时,我在chrome控制台中收到“pending” JSON响应,其中意味着它工作正常。

但他们说我必须给他们一个 callback URL 才能在我的 Laravel 应用程序中接收 JSON 响应,以便我可以将付款记录保存到数据库中。


现在,文档对于响应是这样说的:

xyz 充当客户端并通过向应用程序发送状态来调用应用程序 通过 HTTP post 进行待处理的事务。这可能是成功的,也可能是失败的。合作伙伴有 需要提供 端点 url(回调 URL),xyz 网关将向其提交请求。
以下是 Python 编程语言的示例:

data = {
'requesttransactionid':''4522233',
'transactionid':'6004994884',
'responsecode' :'01',
'status':'Successfull',
'statusdesc':'Successfully Processed Transaction',
'referenceno':'312333883'
 }

r = requests.post(url, json={'jsonpayload':data},headers={'contenttype':"application/json"},verify=False)


所以,我的问题是:我如何在我的 laravel 5.8 应用程序中捕获上述 JSON 以获得

'responsecode'
'status'
??

我是否要创建一个 API 发布到控制器,然后呢?请帮忙!!

php ajax laravel
2个回答
2
投票

您需要在应用程序中创建一个新路由以从远程 API 接受此数据。

 Route::post('/endpoint', function (Request $request) {
    dd($request->all());
    /*
    [
        'requesttransactionid' => '4522233',
        'transactionid' => '6004994884',
        'responsecode' => '01',
        'status' => 'Successfull',
        'statusdesc' => 'Successfully Processed Transaction',
        'referenceno' => '312333883'
    ]
    */
});       

不要忘记在您的 VerifyCsrfToken 中间件

中添加 POST 异常
class VerifyCsrfToken extends Middleware
{
    /**
     * The URIs that should be excluded from CSRF verification.
     *
     * @var array
     */
    protected $except = [
        '/endpoint',
    ];
}

完成此操作后,将路线的 URL 提供给您的提供商:

https://myapp.com/endpoint


-1
投票

Bonjour les devs j'ai une petite defection, j'utilise un api de paiement mobile, monproblème c'est au niveau de l'url decallback renvoyé, j'ai du mal à l'exploiter pour me permettre de faire une插入 dans la base de donnée。

voici en quoi ressemble ma requête de paiement

$响应 = Http::withHeaders([

        'Content-Type' => 'application/json',
        'Accept'        => 'application/json'

    ])->withToken($token)->POST($api_url, [
        "merchant" => "DIN_CONCEPT",
        "type" => 1,
        "phone" => $telephone,
        "reference" => 'peimentMembre',
        "amount" => 100,
        "currency" => $currency,
        "callbackUrl" => $callback,
    ]);

我的评论是我的请求,请参阅部分回调 URL,以检查交易状态,并在基础上插入。

© www.soinside.com 2019 - 2024. All rights reserved.