Payment.php 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <?php
  2. namespace app\admin\controller;
  3. use \think\Db;
  4. use addons\epay\library\Service;
  5. use think\Request;
  6. /*
  7. *处理支付结果 接受服务器和服务器之间的通知
  8. */
  9. class Payment extends \think\Controller
  10. {
  11. public function notify(Request $request){
  12. $data = $request->param();
  13. if (!empty($data['t'])){
  14. $out_trade_no = $data['out_trade_no'];
  15. filePut('[payment][receive]异步回调开始'.$out_trade_no);
  16. //你可以在此编写订单逻辑
  17. $paymentdo = new \app\common\model\Paymentdo();
  18. $rs = $paymentdo->receive($out_trade_no);
  19. if(!$rs){
  20. filePut('[payment][receive]异步回调结果:逻辑false');
  21. exit;
  22. }
  23. filePut('[payment][receive]异步回调结果:Allsuccess');
  24. echo 'success';exit;
  25. }
  26. $paytype = input('paytype','wechat');
  27. $pay = Service::checkNotify($paytype);
  28. filePut('[payment][receive]异步回调开始:'.json_encode($pay));
  29. if (!$pay) {
  30. filePut('[payment][receive]异步回调开始:签名错误');
  31. return;
  32. }
  33. $data = $pay->verify();
  34. $out_trade_no = $data['out_trade_no'];
  35. filePut('[payment][receive]异步回调开始'.$out_trade_no);
  36. //你可以在此编写订单逻辑
  37. $paymentdo = new \app\common\model\Paymentdo();
  38. $rs = $paymentdo->receive($out_trade_no);
  39. if(!$rs){
  40. filePut('[payment][receive]异步回调结果:逻辑false');
  41. exit;
  42. }
  43. filePut('[payment][receive]异步回调结果:Allsuccess');
  44. echo $pay->success();
  45. }
  46. }
  47. ?>