php - 我对 coingate api 有疑问
问题描述
我正在尝试制作一个比特币 API 来在我的网站上接收付款,并且我正在使用 laravel 和 php 7.2。这是我的 coingate api 代码的一部分
$post_params = array(
'order_id' => $transaction->id,
'token' => $transaction->hash,
'price' => $transaction->price,
'currency' => $currency,
'receive_currency' => $receive_currency,
'callback_url' => route('ipn.coingate',['token' => $transaction->hash]),
'cancel_url' => route('billing.fail'),
'success_url' => route('billing.success'),
);
这是回调 url 脚本(ipn 控制器)
$order = Transaction::find($request->input('order_id'));
if ($request->input('token') == $order->hash) {
$savedata = null;
if ($request->input('status') == 'paid') {
if ($request->input('price') >= $order->price) {
$savedata['confirmation'] = $request->input('id');
$savedata['gateway_response'] = json_encode($request->all());
$savedata['status'] = 'paid';
//Update product sales
$this->salesupdate($da->product_id);
//Save order
$this->neworder($order->user_id,$da->product_id,$order->price,$order->hash,$order->id);
//Save user transaction
$this->newusertransaction($da->user_id,$da->price);
//Credit seller
$this->creditseller($da->product_id);
}
这里的问题是,当coingate支付完成时,它返回success_url而不执行回调url(ipn控制器)中的函数
我想在付款完成后返回回调 url(ipn Controller) 执行文件中的操作
解决方案
success_url 是客户完成付款后被重定向的地方。Callback_url 也是 CoinGate 发送回调的地方,回调函数必须由 Coingate 的回调触发,而不是完成支付。
推荐阅读
- node.js - 编辑:为什么学习 Fullstack React 会令人困惑?
- visual-studio - Nuget 包不仅在最初,而且在每个打开的解决方案上都会将已删除的文件静默地添加回项目目录
- sql - SQL SERVER 2017 中对应的 GROUP_CONCAT()
- spring-cloud-config - Spring Cloud Config Server 中 {name}、{profile} 和 {label} 的可用占位符?
- python - 打开和重新分块数据集时在 xarray / dask 中分块的性能
- c# - Microsoft Graph API ASP.NET MVC 获取驱动器项目
- html - 如何将水平线放在两个兄弟姐妹下
标签
- excel - 将 Listview 条目转换为 Excel,然后转换为 PDF
- php - 不在的 Laravel 关系
- php - 删除 utf8 字符的代码在 php 5.3.3 上不起作用