PayNotifyCallBack.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * 配置账号信息
  4. */
  5. namespace common\library\Pay\lib;
  6. use common\models\AppointOrder;
  7. use common\models\OpenMember;
  8. use yii;
  9. class PayNotifyCallBack extends WxPayNotify
  10. {
  11. //查询订单
  12. public function Queryorder($out_trade_no)
  13. {
  14. $input = new WxPayOrderQuery();
  15. $input->SetAppid(Yii::$app->params['wechatapi']['appidUser']);
  16. $input->SetMch_id(Yii::$app->params['wechat']['mchid']);
  17. $input->key = Yii::$app->params['wechat']['key'];
  18. // $input->SetTransaction_id($transaction_id);
  19. $input->SetOut_trade_no($out_trade_no);
  20. $result = WxPayApi::orderQuery($input);
  21. Log::DEBUG("query:" . json_encode($result));
  22. if(array_key_exists("return_code", $result)
  23. && array_key_exists("result_code", $result)
  24. && $result["return_code"] == "SUCCESS"
  25. && $result["result_code"] == "SUCCESS")
  26. {
  27. return true;
  28. }
  29. return false;
  30. }
  31. //重写回调处理函数
  32. public function NotifyProcess($data, &$msg)
  33. {
  34. Log::DEBUG("call back:" . json_encode($data));
  35. $notfiyOutput = array();
  36. if(empty($data))
  37. return false;
  38. if(!array_key_exists("out_trade_no", $data)){
  39. $msg = "输入参数不正确";
  40. return false;
  41. }
  42. //查询订单,判断订单真实性
  43. if(!$this->Queryorder($data["out_trade_no"])){
  44. $msg = "订单查询失败";
  45. return false;
  46. }
  47. $out_trade_no = $data['out_trade_no'];//订单号
  48. // $order = new AppointOrder();
  49. // if(stripos($out_trade_no,'openorder') !== false)//设计师开通接单功能
  50. // $result = $order->paynotify($out_trade_no);
  51. // else //用户订单
  52. // $result = $order->notify($out_trade_no);
  53. Log::DEBUG("out_trade_no:" .$out_trade_no );
  54. $order = new OpenMember();
  55. $result = $order->notify($out_trade_no);
  56. if($result==false)
  57. {
  58. return false;
  59. }else{
  60. return true;
  61. }
  62. }
  63. }