html支付宝支付成功后回调,微信和支付宝支付成功以后的回调方法

//微信回调地址

public function actionNotify(){

// $msg = array();

$postStr = file_get_contents('php://input');

//$postStr = $GLOBALS["HTTP_RAW_POST_DATA"];

$msg = (array)simplexml_load_string($postStr, 'SimpleXMLElement', LIBXML_NOCDATA);

$out_trade_no = $msg['out_trade_no'];//订单号

if (empty($msg['out_trade_no'])) {

return Helper::format_data(PARAM_ERROR,['data'=>'1']);

}

$order = new Orders();

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

$data = $order->find()->where(['order_sn'=>$out_trade_no])->one();

$data->status = 2;

$data->pay_time = time();

if($data->save()){

$wxpay = new Wxpay();

$str = $wxpay->find()->where(['order_sn'=>$msg['out_trade_no']])->one();

if(empty($str)){

$wxpay->user_id = $data->user_id;

$wxpay->total_fee = $msg['total_fee']/100;

$wxpay->order_sn = $msg['out_trade_no'];

$wxpay->time_end = $msg['time_end'];

$wxpay->create_time = time();

if($wxpay->save(false)){

return Helper::format_data(SUCC,$data->orders_id);

}

}

}

} else {

return Helper::format_data(PARAM_ERROR, $msg);

}

}

//支付宝回调

public function actionNotifys(){

$out_trade_no = $_POST['out_trade_no'];

if (empty($_POST['out_trade_no'])) {

return Helper::format_data(PARAM_ERROR,['id'=>'修改充值记录没有获取POST']);

}

if(!empty($_POST['trade_status'])){ //状态值不为空

//检查该账单是否已支付.....

if($_POST['trade_status'] == 'TRADE_FINISHED' OR $_POST['trade_status'] == 'TRADE_SUCCESS') {

$order = new Orders();

$data = $order->find()->where(['order_sn'=>$_POST['out_trade_no']])->one();

if(empty($data)){

return Helper::format_data(PARAM_ERROR,['id'=>'无效的订单号']);

}

$data->status = 2;

$data->pay_time = time();

$zfbpay = new Zfbpay();

$str = $zfbpay->find()->where(['order_sn'=>$_POST['out_trade_no']])->one();

if(!empty($str)){

return Helper::format_data(PARAM_ERROR,['id'=>'已经存在']);

}

$zfbpay->user_id = $data->user_id;

$zfbpay->total_fee = $_POST['invoice_amount'];

$zfbpay->order_sn = $_POST['out_trade_no'];

$zfbpay->create_time = time();

if($data->save() && $zfbpay->save(false)){

return Helper::format_data(SUCC,$data->orders_id);

}

}else {

return Helper::format_data(PARAM_ERROR, $_POST);

}

}

}

//将XML转为array

public function actionxmlToArray($xml)

{

//禁止引用外部xml实体

libxml_disable_entity_loader(true);

$array = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);

return $array;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值