NotifyController.php 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace App\Http\Controllers\Api;
  3. use App\Http\Controllers\ApiController;
  4. use App\Servers\OrderServer;
  5. use App\Servers\WeixinServer;
  6. class NotifyController extends ApiController
  7. {
  8. public function __construct()
  9. {
  10. }
  11. /**
  12. * 订单支付回调
  13. */
  14. function orderWx()
  15. {
  16. $xml = file_get_contents('php://input');
  17. // $xml = request()->rawBody();
  18. $data = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);
  19. // file_put_contents('order_wx_pay.txt', json_encode($data));
  20. $sign = WeixinServer::creatServer()->verifyCer($data);
  21. if ($sign != $data['sign']) {
  22. $xml = '<xml>
  23. <return_code><![CDATA[SUCCESS]]></return_code>
  24. <return_msg><![CDATA[OK]]></return_msg>
  25. </xml>';
  26. // exit($xml);
  27. return $xml;
  28. }
  29. if ($data['result_code'] == 'SUCCESS' && $data['return_code'] == 'SUCCESS') {
  30. OrderServer::creatServer()->NotifyPay(1,$data['out_trade_no'], $data['transaction_id'], $data['total_fee'] / 100, $data);
  31. }
  32. $xml = '<xml>
  33. <return_code><![CDATA[SUCCESS]]></return_code>
  34. <return_msg><![CDATA[OK]]></return_msg>
  35. </xml>';
  36. // exit($xml);
  37. return $xml;
  38. }
  39. }