100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 微信支付回调API php 微信支付回调页面源码

微信支付回调API php 微信支付回调页面源码

时间:2021-08-16 18:58:19

相关推荐

微信支付回调API php 微信支付回调页面源码

## 微信支付回调页面源码

~~~

public function wxPayCallBackUrl(){

// 获取返回的post数据包

$post_str = $GLOBALS["HTTP_RAW_POST_DATA"] ;

if(!empty($post_str)){

libxml_disable_entity_loader(true);

$post_obj = (array)simplexml_load_string($post_str, 'SimpleXMLElement', LIBXML_NOCDATA);

if($post_obj['result_code']=='SUCCESS') {

$order_no = $post_obj['out_trade_no'];

$open_id=$post_obj['openid'];

$order_wx = Loader::model('base/OrdersWxpay')->where(['order_no' => $order_no,'payer_openid'=>$open_id,])->find();

if($order_wx){

// Db::table('my_errs')->insert(['content'=>json_encode($order_wx)]);

//更新订单数据

$this->updateOrderIsPay($order_no);

$order_amount=(int)$post_obj['total_fee']/100;

//发送客服消息

$this->sendPayOkMessage($order_no,$order_amount,$open_id);

//保存支付记录

$save_data=[

'order_no'=> $order_no,

'pay_type'=> 'WxPay',

'openid'=>$open_id,

'total_fee' => $post_obj['total_fee'],

'trade_type'=> $post_obj['trade_type'] , //JSAPI、NATIVE、APP

'bank_type'=>$post_obj['bank_type'] ,

'result_code'=>$post_obj['result_code'],

'transaction_id'=>$post_obj['transaction_id'],

'time_end'=>$post_obj['time_end'],

];

// Db::table('my_errs')->insert(['content'=>json_encode($save_data)]);

Loader::model('base/OrdersStatus')->editData($save_data);

$this->echoCallBack(true);

}else{

$this->echoCallBack();

}

}else{

$this->echoCallBack();

}

}else{

$this->echoCallBack();

}

}

protected function updateOrderIsPay($order_no,$pay_type='WxPay'){

$update_data=[

'is_pay'=>1,

'order_state'=>1,

'pay_time'=>time(),

'pay_type'=>$pay_type,

];

Loader::model('base/Orders')->save($update_data,['order_no'=>$order_no]);

$update_data=[

'is_pay'=>1,

];

Loader::model('base/OrdersAccess')->save($update_data,['order_no'=>$order_no]);

}

protected function sendPayOkMessage($order_no,$order_amount,$open_id){

$add_message = [

'title' => '订单支付成功通知',

'template_id' => 'NlBWOshEjRxoRtpodi-_Tt2XVfe5TNh-uAbDXkkJ4vw',

'url' =>$this->request->domain().'/index/WC_html_1/mainContainer.html#order/order_orderInfo.html||orderId='.$order_no,

'data' => [

'first' => ['value' => '您好,您的订单已支付成功,我们会尽快为您发货(callBack)',],

'keyword1' => ['value' => $order_no,],

'keyword2' => ['value' =>$order_amount.'元',],

'remark' => ['value' => '我们已经收到你的货款请耐心等待收货。',],

],

];

$reg = controller('base/WxApi')->sendTemplateMessage($add_message,$open_id);

return $reg ? true : false ;

}

protected function echoCallBack($status = false){

if (!$status){

$result = "

";

}else{

$result = "

";

}

echo $result;

}

~~~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。