Payment.php 1.1 KB

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