正在使用 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 发布到控制器,然后呢?请帮忙!!
您需要在应用程序中创建一个新路由以从远程 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
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,以检查交易状态,并在基础上插入。