query.php 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. /**
  3. * 订单单个查询
  4. * @date 2019年6月13日
  5. * @copyright 重庆迅虎网络有限公司
  6. */
  7. require_once 'api.php';
  8. $out_trade_order = '20190622011452';//商户网站订单号
  9. $appid = '2147483647';//测试账户,
  10. $appsecret = '160130736b1ac0d54ed7abe51e44840b';//测试账户,
  11. //out_trade_order,open_order_id 二选一
  12. $request=array(
  13. 'appid' => $appid, //必须的,APPID
  14. 'out_trade_order'=> $out_trade_order, //网站订单号(out_trade_order,open_order_id 二选一)
  15. //'open_order_id'=> $open_order_id, //虎皮椒内部订单号,在下单时会返回,或支付后会异步回调(out_trade_order,open_order_id 二选一)
  16. 'time' => time(),//必须的,当前时间戳,根据此字段判断订单请求是否已超时,防止第三方攻击服务器
  17. 'nonce_str' => str_shuffle(time())//必须的,随机字符串,作用:1.避免服务器缓存,2.防止安全密钥被猜测出来
  18. );
  19. $request['hash'] = XH_Payment_Api::generate_xh_hash($request,$appsecret);
  20. $url = 'https://api.xunhupay.com/payment/query.html';
  21. try {
  22. $response = XH_Payment_Api::http_post($url, http_build_query($request));
  23. /**
  24. * 支付回调数据
  25. * @var array(
  26. * status,//OD:已支付 WP:未支付 CD 已取消
  27. * )
  28. */
  29. $result = $response?json_decode($response,true):null;
  30. if(!$result){
  31. throw new Exception('Internal server error:'.$response,500);
  32. }
  33. print_r($result);exit;
  34. } catch (Exception $e) {
  35. echo "errcode:{$e->getCode()},errmsg:{$e->getMessage()}";
  36. //TODO:处理支付调用异常的情况
  37. }
  38. ?>