Youyun_payment.php 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. <?php
  2. $payment_lang = array(
  3. 'name' => '优云宝支付',
  4. 'payId' => '商户号',
  5. //'merchantAppId'=> '商户APPID',
  6. 'payKey'=> '商户密钥',
  7. );
  8. $config = array(
  9. 'payId' => array(
  10. 'INPUT_TYPE' => '0',
  11. ), //商户编号
  12. /*'merchantAppId' => array(
  13. 'INPUT_TYPE' => '0',
  14. ), //商户APPID*/
  15. 'payKey' => array(
  16. 'INPUT_TYPE' => '0',
  17. ), //商户私钥
  18. );
  19. /* 模块的基本信息 */
  20. if (isset($read_modules) && $read_modules == true)
  21. {
  22. $module['class_name'] = 'Youyun';
  23. /* 名称 */
  24. $module['name'] = $payment_lang['name'];
  25. /* 支付方式:1:在线支付;0:线下支付 2:仅wap支付 3:仅app支付 4:兼容wap和app*/
  26. $module['online_pay'] = '4';
  27. /* 配送 */
  28. $module['config'] = $config;
  29. $module['lang'] = $payment_lang;
  30. $module['reg_url'] = 'http://www.youyunnet.com/';
  31. return $module;
  32. }
  33. // 支付模型
  34. require_once(APP_ROOT_PATH.'system/libs/payment.php');
  35. class Youyun_payment implements payment {
  36. public function get_payment_code($payment_notice_id)
  37. {
  38. $pay = array();
  39. $pay['is_wap'] = 1;//
  40. $pay['class_name'] = "Youyun";
  41. $pay['url'] = SITE_DOMAIN . APP_ROOT . '/mapi/index.php?ctl=pay&act=get_display_code&pay_code=Youyun&notice_id=' . $payment_notice_id;
  42. $pay['sdk_code'] = array("pay_sdk_type" => "yjwap", "config" =>
  43. array(
  44. "url" => SITE_DOMAIN . APP_ROOT . '/mapi/index.php?ctl=pay&act=get_display_code&pay_code=Youyun&notice_id=' . $payment_notice_id,
  45. "is_wap" => 1
  46. )
  47. );
  48. return $pay;
  49. }
  50. public function response($request)
  51. {
  52. }
  53. public function notify($request)
  54. {
  55. //file_put_contents(APP_ROOT_PATH."log2.txt",print_r($_POST,true));
  56. //file_put_contents(APP_ROOT_PATH."pubilc/youyunpay.txt",print_r($request,true));
  57. //file_put_contents(APP_ROOT_PATH."youyunpay.log","666");
  58. //file_put_contents(APP_ROOT_PATH."log2.txt","999");
  59. $payment = $GLOBALS['db']->getRow("select id,config from " . DB_PREFIX . "payment where class_name='Youyun'");
  60. $config = unserialize($payment['config']);
  61. $ddh = $request['ddh']; //支付宝订单号
  62. $key = $request['key']; //KEY验证
  63. $name = $_POST['name']; //备注信息 接收网关data 参数 支付订单号
  64. $lb = $_POST['lb']; //分类 =1 支付宝 =2财付通 =3 微信
  65. $money = $_POST['money'];//金额
  66. $paytime = $_POST['paytime'];//充值时间
  67. $key2 = $config['payKey'];//APPKEY 和云端和软件上面保持一致
  68. //回调签名校验
  69. if($key==$key2){
  70. //<--------------------------商户业务代码写在下方-------------------------->
  71. $payment_notice_sn = $name;
  72. $outer_notice_sn = $ddh;
  73. $payment_notice = $GLOBALS['db']->getRow("select * from " . DB_PREFIX . "payment_notice where notice_sn = '" . $payment_notice_sn . "'");
  74. require_once APP_ROOT_PATH . "system/libs/cart.php";
  75. $rs = payment_paid($payment_notice['notice_sn'],$outer_notice_sn);
  76. if($rs['status']==1){
  77. echo "ok";
  78. } else {
  79. echo 'key error';
  80. }
  81. //<--------------------------商户业务代码写在上方-------------------------->
  82. //下方输出是告知ISPAY服务器业务受理成功,请不要修改下方输出内容,否则会导致重复通知,ISPAY服务器会在24小时内通知8次,输出SUCCESS则不再进行通知
  83. //echo "SUCCESS";
  84. }else{
  85. echo 'key error';
  86. exit;
  87. }
  88. }
  89. function get_display_code(){
  90. }
  91. public function display_code($payment_notice_id)
  92. {
  93. $payment_notice = $GLOBALS['db']->getRow("select * from ".DB_PREFIX."payment_notice where id = ".$payment_notice_id);
  94. $money = round($payment_notice['money'],2);
  95. $payment_info = $GLOBALS['db']->getRow("select id,config,logo from ".DB_PREFIX."payment where id=".intval($payment_notice['payment_id']));
  96. $config = unserialize($payment_info['config']);
  97. $order_sn = $payment_notice['notice_sn'];
  98. //商户编号
  99. $Request['pid'] = $config['payId'];
  100. //支付宝1 微信3 QQ钱包2
  101. $Request['lb'] = 1;
  102. //支付通道
  103. /*if (isset($_GET['payChannel'])) {
  104. $Request['payChannel'] = $_GET['payChannel'];
  105. } else {
  106. $Request['payChannel'] = "alipay";
  107. }
  108. $m_config = load_auto_cache("m_config");
  109. $title_name = $m_config['ticket_name'];
  110. if($title_name=='')
  111. $title_name = '虚拟印币';
  112. if(empty($title_name))
  113. {
  114. $title_name = "充值".round($payment_notice['money'],2)."元";
  115. }*/
  116. $post_url = "http://pay1.youyunnet.com/pay/";
  117. //订单标题
  118. //$Request['Subject'] = $title_name;
  119. //交易金额(单位分)
  120. $Request['money'] = intval($money);
  121. //随机生成订单号
  122. $Request['data'] = $order_sn;
  123. //附加数据(没有可不填)
  124. //$Request['attachData'] = "";
  125. //异步通知地址
  126. $Request['url'] = 'http://live.huangjiaxiuchang.com/callback/payment/youyun_notify.php';
  127. //客户端同步跳转通知地址
  128. //$Request['Return_url'] = SITE_DOMAIN .'/callback/payment/ispay_response.php';
  129. //签名(加密算法详见开发文档)
  130. //$Request['Sign'] = $Ispay -> Sign($Request);
  131. $payLinks = '<form id="payForm" name="form2" action="' . $post_url . '" method="post">';
  132. $payLinks .= '<input type="hidden" name="pid" id="pid" value="' . $Request['pid'] . '" />';
  133. $payLinks .= '<input type="hidden" name="lb" id="lb" value="' . $Request['lb'] . '"/>';
  134. //$payLinks .= '<input type="hidden" name="Subject" id="Subject" value="' . $Request['Subject'] . '"/>';
  135. $payLinks .= '<input type="hidden" name="money" id="money" value="' . $Request['money'] . '" />';
  136. $payLinks .= '<input type="hidden" name="data" id="data" value="' . $Request['data'] . '"/>';
  137. //$payLinks .= '<input type="hidden" name="attachData" id="attachData" value="' . $Request['attachData'] . '"/>';
  138. $payLinks .= '<input type="hidden" name="url" id="url" value="' . $Request['url'] . '"/>';
  139. //$payLinks .= '<input type="hidden" name="Return_url" id="Return_url" value="' . $Request['Return_url'] . '"/>';
  140. //$payLinks .= '<input type="hidden" name="Sign" id="Sign" value="' . $Request['Sign'] . '"/>';
  141. $payLinks .= '</form>';
  142. $payLinks .= '<script type="text/javascript">document.getElementById("payForm").submit();</script>';
  143. return $payLinks;
  144. }
  145. }
  146. ?>