pay.php 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. <?php
  2. define('IN_SMT', true);
  3. define('IN_MYMPS', true);
  4. define('CURSCRIPT','pay');
  5. ini_set('display_errors', 1);
  6. error_reporting(E_ALL);
  7. require_once dirname(__FILE__)."/include/global.php";
  8. require_once MYMPS_DATA."/config.php";
  9. require_once MYMPS_DATA."/config.db.php";
  10. require_once MYMPS_INC."/db.class.php";
  11. $act = empty($act) ? 'pay' : $act;
  12. if ($act == 'pay' && !empty($payid)) {
  13. require_once MYMPS_INC."/member.class.php";
  14. if(!$log = $member_log->chk_in()) write_msg("","../".$mymps_global['cfg_member_logfile']."?url=".urlencode(GetUrl()));
  15. $uid = $db -> getOne("SELECT id FROM `{$db_mymps}member` WHERE userid='{$s_uid}'");
  16. $pay_config = $db->getRow("SELECT * FROM `{$db_mymps}payapi` WHERE payid={$payid} AND isclose=0");
  17. if (empty($pay_config)) {
  18. die();
  19. }
  20. if ($pay_config['paytype'] == 'wxpay') {
  21. $id = isset($_REQUEST['id']) ? intval($_REQUEST['id']) : 0;
  22. $row = $db->getRow("SELECT * FROM `{$db_mymps}property` WHERE id={$id}");
  23. if ($row['status'] == 'Y') {
  24. write_msg('헝蕎路릿連마', '?m=property&status=Y');
  25. }
  26. $money = floatval($row['manage_fee']+$row['water_fee']+$row['electric_fee']+$row['other_fee']);
  27. if (!empty($id) && !empty($money)) {
  28. require_once MYMPS_INC.'/payment/wxpay/lib/WxPay.Api.php';
  29. require_once MYMPS_INC.'/payment/wxpay/code/WxPay.NativePay.php';
  30. require_once MYMPS_INC.'/payment/wxpay/code/log.php';
  31. $notify = new NativePay();
  32. $input = new WxPayUnifiedOrder();
  33. $body = iconv('gbk', 'utf-8', '膠撚심롤');
  34. $out_trade_no = date("YmdHis").uniqid();
  35. $input->SetBody($body);
  36. $input->SetAttach($body);
  37. $input->SetOut_trade_no($out_trade_no);
  38. $input->SetTotal_fee($money * 100);
  39. $input->SetTime_start(date("YmdHis"));
  40. $input->SetTime_expire(date("YmdHis", time() + 600));
  41. //$input->SetGoods_tag($body);
  42. $input->SetNotify_url("http://www.cs0663.cn/notify.php");
  43. $input->SetTrade_type("NATIVE");
  44. $input->SetProduct_id($id);
  45. $result = $notify->GetPayUrl($input);
  46. $url = $result["code_url"];
  47. if (!empty($url)) {
  48. include_once MYMPS_INC.'/pay.fun.php';
  49. topaymoney($money,$out_trade_no,$uid,$s_uid,'wxpay', $id);//畇흙된덤連마션쩌
  50. }
  51. $data = array(
  52. 'no' => $out_trade_no,
  53. 'url' => 'http://'.$_SERVER['HTTP_HOST'].'/pay.php?act=qr&url='.$url,
  54. );
  55. echo json_encode($data);exit;
  56. }
  57. } elseif ($pay_config['paytype'] == 'alipay_new') {
  58. $id = isset($_REQUEST['id']) ? intval($_REQUEST['id']) : '';
  59. if(!empty($id)){
  60. $payr = $pay_config;
  61. $row = $db->getRow("SELECT * FROM {$db_mymps}property WHERE id={$id}");
  62. if ($row['status'] == 'Y') {
  63. write_msg('헝蕎路릿連마', '?m=property&status=Y');
  64. }
  65. $money = floatval($row['manage_fee']+$row['water_fee']+$row['electric_fee']+$row['other_fee']);
  66. $relation_id = $id;
  67. $productname = '膠撚심롤';
  68. include MYMPS_INC.'/pay.fun.php';
  69. msetcookie("pay_type",$pay_type,0);
  70. //럿쀼뒈囹품留
  71. $PayReturnUrlQz=$mymps_global['SiteUrl'];
  72. if($charset=='utf-8'){
  73. @header('Content-Type: text/html; charset=utf-8');
  74. }
  75. include MYMPS_INC.'/payment/'.$payr['paytype'].'/to_pay.php';
  76. }
  77. }
  78. } elseif ($act == 'return') {
  79. $type = isset($_GET['type'])?trim($_GET['type']):null;
  80. if ($type == 'ant') {
  81. require_once MYMPS_INC . '/payment/alipay_new/return_url.php';
  82. } elseif($type == 'wx') {
  83. require_once MYMPS_ROOT."/m/common.fun.php";
  84. $out_trade_no = isset($_GET['out_trade_no'])?trim($_GET['out_trade_no']):null;
  85. if (empty($out_trade_no)) {
  86. redirectmsg('連마呵겨', $mymps_global['SiteUrl']."/m/index.php?mod=member");
  87. }
  88. $id = $db->getOne("SELECT relation_id FROM {$db_mymps}payrecord WHERE orderid='{$out_trade_no}'");
  89. if (empty($id)) {
  90. redirectmsg('連마呵겨', $mymps_global['SiteUrl']."/m/index.php?mod=member");
  91. }
  92. $row = $db->getRow("SELECT * FROM {$db_mymps}property WHERE id={$id}");
  93. if ($row['status'] == 'Y') {
  94. redirectmsg('連마냥묘', $mymps_global['SiteUrl']."/m/index.php?mod=member");
  95. } else {
  96. redirectmsg('連마呵겨', $mymps_global['SiteUrl']."/m/index.php?mod=member");
  97. }
  98. }
  99. } elseif ($act == 'qr') {
  100. $url = isset($_GET['url'])?urldecode(trim($_GET['url'])):null;
  101. if (!empty($url)) {
  102. require_once MYMPS_INC.'/payment/wxpay/code/phpqrcode/phpqrcode.php';
  103. QRcode::png($url);
  104. exit();
  105. }
  106. } elseif ($act == 'order') {
  107. require_once MYMPS_INC."/member.class.php";
  108. $log = $member_log->chk_in();
  109. $uid = $db -> getOne("SELECT id FROM `{$db_mymps}member` WHERE userid='{$s_uid}'");
  110. if(!$log) {
  111. echo 'error';exit;
  112. }
  113. $id = isset($_GET['id'])?intval($_GET['id']):0;
  114. if (empty($id)) {
  115. echo 'error';exit;
  116. }
  117. include_once MYMPS_INC.'/pay.fun.php';
  118. $out_trade_no = 'wap_' . date('YmdHis') . uniqid();
  119. $row = $db->getRow("SELECT * FROM ".$db_mymps."property WHERE id={$id}");
  120. if (empty($row)) {
  121. echo 'error';exit;
  122. }
  123. $money = $row['manage_fee'] + $row['water_fee'] + $row['electric_fee'] + $row['other_fee'];
  124. topaymoney($money,$out_trade_no,$uid,$s_uid,'wxpay', $id);
  125. echo $out_trade_no;exit;
  126. }
  127. is_object($db) && $db->Close();
  128. $cachetime && $cachepages->caching();
  129. $city = $maincity = $advertisement =NULL;
  130. unset($city,$maincity,$advertisement);