微信支付成功后的回调地址notify_url怎么设?
发布于 5 年前 作者 taoqin 7092 次浏览 来自 问答

哪位大神大哥指点一下关于微信支付后的回调处理啊:

1、setNotify_url,这里的url应该怎么设?

我采用的是腾讯云下载的DEMO,也就是CI框架,现在将回调的notify.php文件放在"控制器controllers“下面,具体路径server/application/controllers

注:我现在将notify.php文件重命名为Notify_store.php

我现在不知道支付成功后的回调地址怎么写:

是  : https://域名/server/application/controllers/Notify_store.php

还是  : https://域名/weapp/notify_store.php(在CI框架设置的路由,小程序前端调用服务端的url地址时用到的)

还是其他的?求助大神,帮忙!!!!

2、关于重写回调处理函数

以下代码都是Notify_store.php文件中的部分代码:

class PayNotifyCallBack extends WxPayNotify

{

//查询订单

public function Queryorder($transaction_id)

{

$input = new WxPayOrderQuery();

$input->SetTransaction_id($transaction_id);

$result = WxPayApi::orderQuery($input);

Log::DEBUG(“query:” . json_encode($result));

if(array_key_exists(“return_code”, $result)

&& array_key_exists(“result_code”, $result)

&& $result[“return_code”] == “SUCCESS”

&& $result[“result_code”] == “SUCCESS”)

{

return true;

}

return false;

}

public function NotifyProcess($data, &$msg){

                //"$data" 是NotifyCallBack函数传进来的含有支付信息的参数

Log::DEBUG(“call back:” . json_encode($data));

$notfiyOutput = array();

// 下面这句判断支付参数中是否含有微信订单号transaction_id

if(!array_key_exists(“transaction_id”, $data)){

$msg = “输入参数不正确”;

return false;

}

//查询订单,判断订单真实性,二重判断

if(!$this->Queryorder($data[“transaction_id”])){

$msg = “订单查询失败”;

return false;

}                

// “这里返回真,证明支付成功了”

                // “我们也可以直接在这里做支付成功后的操作”

                if($data[‘return_code’] ==‘SUCCESS’ && $data[‘result_code’] == ‘SUCCESS’){

//自己的业务逻辑(正常情况下,向数据库中存入$data数据)

$test_store_a_order_info = Notify_store::test_order_info($data);

}

                // 这样写有什么问题吗?

                return true;

        }

}

class Notify_store extends CI_Controller

{

 

public function test_order_info($data)

{

//组装$order_info数组

$order_info = array(

‘appid’ => $data[‘appid’],

‘mch_id’ => $data[‘mch_id’],

‘nonce_str’ => $data[‘nonce_str’],

‘sign’ => $data[‘sign’],

‘result_code’ => $data[‘result_code’],

‘openid’ => $data[‘openid’],

‘trade_type’ => $data[‘trade_type’],

‘bank_type’ => $data[‘bank_type’],

‘total_fee’ => $data[‘total_fee’],

‘cash_fee’ => $data[‘cash_fee’],

‘transaction_id’ => $data[‘transaction_id’],

‘out_trade_no’ =>$data[‘out_trade_no’],

‘time_end’ => $data[‘time_end’],

);

    //加载模型

   $this->load->model(‘store_a_order_info_model’);

   //正常情况下,向数据库中存入的数据。

   $result_store_a_order_info = $this->store_a_order_info_model->store_a_order_info($order_info);

}

}

我眼泪都急出来了!

回到顶部