首页 > 解决方案 > 我对 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) 执行文件中的操作

标签: phplaravel

解决方案


success_url 是客户完成付款后被重定向的地方。Callback_url 也是 CoinGate 发送回调的地方,回调函数必须由 Coingate 的回调触发,而不是完成支付。


推荐阅读