123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249 |
- <?php
- // by 请勿倒卖,已申请软著,否则追究法律责任
- namespace app\pay;
- use AlipayService;
- use app\index\Base;
- use WxPayResults;
- class index extends Base
- {
- protected function complate($out_trade_no, $trade_no)
- {
- $_var_0 = db("paylog")->where("pay_id", $out_trade_no)->find();
- if ($_var_0 && $_var_0["pay_status"] > 0) {
- $_var_1 = $_var_0["in_uid"];
- $_var_2 = db("user")->where("in_userid", $_var_1)->find();
- $_var_3 = $_var_0["pay_money"] * IN_PROMOTE_RATE / 100;
- $_var_4 = db("paylog")->where("pay_id", $out_trade_no)->update(["pay_status" => 0, "pay_no" => $trade_no, "pay_time" => time(), "update_time" => time(), "forp_money" => $_var_3]);
- if ($_var_0["pay_type"] && $_var_0["pay_type"] != 6 && $_var_0["pay_type"] != 7) {
- db("user")->where("in_userid", $_var_1)->inc("cost_money", $_var_0["pay_money"])->update();
- if (IN_PROMOTE && IN_PROMOTE_DAY > 0 && IN_PROMOTE_CASH_DAY < 1 && $_var_4 && $_var_2["pid"] && strtotime("+ " . IN_PROMOTE_DAY . " days", strtotime($_var_2["in_regdate"]) > time())) {
- $_var_5 = db("user")->where("in_userid", $_var_2["pid"])->find();
- if ($_var_5) {
- $_var_6 = $_var_5["promote_money"];
- db("user")->where("in_userid", $_var_1)->inc("forp_money", $_var_3)->update();
- $_var_4 = db("user")->where("in_userid", $_var_2["pid"])->inc("promote_money", $_var_3)->update();
- $_var_4 && aclog_save($_var_2["pid"], $_var_6 + $_var_3, $_var_6, "promote_money", $_var_2["in_username"] . " - 消费返佣");
- }
- } else {
- db("user")->where("in_userid", $_var_1)->inc("unforp_money", $_var_3)->update();
- }
- }
- $_var_7 = intval($_var_0["pay_points"]);
- if ($_var_0["pay_type"] && $_var_0["pay_type"] != 6 && $_var_0["pay_param"] == 0) {
- $_var_8 = $_var_2["money"];
- $_var_4 = db("user")->where("in_userid", $_var_1)->inc("money", $_var_7)->update();
- $_var_4 && aclog_save($_var_1, $_var_8 + $_var_7, $_var_8, "money", "充值");
- } elseif ($_var_0["pay_param"] == 1) {
- $_var_8 = $_var_2["in_points"];
- $_var_4 = db("user")->where("in_userid", $_var_1)->inc("in_points", $_var_7)->update();
- $_var_4 && aclog_save($_var_1, $_var_8 + $_var_7, $_var_8, "in_points", "购买");
- } elseif ($_var_0["pay_param"] == 2) {
- $_var_9 = $_var_2["in_viptime"] - time();
- $_var_10 = strtotime("+1 year");
- if ($_var_9 > 0) {
- if ($_var_7 != $_var_2["in_svip"]) {
- $_var_11 = db("item")->where("type", $_var_0["pay_param"])->where("number", $_var_2["in_svip"])->value("price");
- $_var_12 = db("item")->where("type", $_var_0["pay_param"])->where("number", $_var_7)->value("price");
- $_var_9 *= $_var_11 / $_var_12;
- }
- $_var_10 += $_var_9;
- }
- db("user")->where("in_userid", $_var_1)->update(["in_svip" => $_var_7, "in_viptime" => $_var_10]);
- } elseif ($_var_0["pay_param"] == 3) {
- $_var_13 = explode("-", $_var_0["pay_tag"]);
- $_var_14 = intval($_var_13[0]);
- $_var_15 = db("appid")->where("in_id", $_var_14)->find();
- if ($_var_15) {
- $_var_16 = 2678400 * $_var_7;
- $_var_17 = $_var_15["in_sign"] ? $_var_15["in_sign"] + $_var_16 : time() + $_var_16;
- $_var_18 = db("item")->where("id", $_var_0["item_id"])->value("recommended");
- db("appid")->where("in_id", $_var_14)->inc("in_resign", IN_RESIGN)->update(["in_sign" => $_var_17, "in_package" => "[" . $_var_18 . "]" . [1 => "包月", 3 => "包季", 12 => "包年"][$_var_7], "in_cert_type" => $_var_18]);
- }
- } elseif ($_var_0["pay_param"] == 4) {
- $_var_13 = explode("ssid:", $_var_0["pay_tag"]);
- $_var_19 = intval($_var_13[1]);
- if ($_var_19) {
- $_var_20 = db("super_sign")->where("id", $_var_19)->find();
- $_var_21 = Randomstr(12);
- db("super_code")->insert(["user_id" => $_var_20["user_id"], "code" => $_var_21, "type" => 1, "udid" => $_var_20["udid"], "create_time" => time()]);
- }
- $_var_8 = $_var_2["device_num"];
- $_var_22["device_num"] = $_var_8 + $_var_7;
- if (!$_var_19) {
- $_var_22["max_super_code"] = $_var_2["max_super_code"] + $_var_7;
- }
- $_var_4 = db("user")->where("in_userid", $_var_1)->update($_var_22);
- $_var_4 && aclog_save($_var_1, $_var_8 + $_var_7, $_var_8, "device_num", "购买");
- } elseif ($_var_0["pay_param"] == 5) {
- $_var_23 = $_var_2["prv_device_num"];
- $_var_22["prv_device_num"] = $_var_23 + $_var_7;
- $_var_22["max_super_code"] = $_var_2["max_super_code"] + $_var_7;
- $_var_4 = db("user")->where("in_userid", $_var_1)->update($_var_22);
- $_var_4 && aclog_save($_var_1, $_var_23 + $_var_7, $_var_23, "prv_device_num", "购买");
- }
- return true;
- }
- return false;
- }
- function user_money_pay()
- {
- $_var_24 = SafeRequest("trade_id", "get");
- $_var_25 = "error";
- if ($this->userid && $_var_24) {
- if ($_var_26 = db("paylog")->where("pay_id", $_var_24)->where("pay_type", "6")->where("pay_status", "1")->find()) {
- $_var_27 = changeAc(-$_var_26["pay_money"], $this->user, "money", $_var_26["pay_tag"]);
- if ($_var_27) {
- $this->user["money"] += -$_var_26["pay_money"];
- $_var_27 = $this->complate($_var_24, $_var_24);
- if ($_var_27) {
- $_var_25 = "success";
- } else {
- changeAc($_var_26["pay_money"], $this->user, "money", "支付失败退还");
- }
- }
- }
- }
- redirect("/index/item_price?type=1&ump_notify=" . $_var_25);
- }
- function alipay_notify()
- {
- require_once "alipay/alipay.class.php";
- if (!IN_DEBUG) {
- $aliPay = new AlipayService(IN_ALIPAYID, "", "", "MD5", IN_ALIPAYKEY);
- $checkpay = $aliPay->verifyNotify($_POST);
- if (!$checkpay || empty($_POST["out_trade_no"]) || empty($_POST["trade_no"]) || empty($_POST["trade_status"])) {
- exit("fail");
- }
- }
- $out_trade_no = $_POST["out_trade_no"];
- $trade_no = $_POST["trade_no"];
- $trade_status = $_POST["trade_status"];
- if ($trade_status == "TRADE_FINISHED" || $trade_status == "TRADE_SUCCESS") {
- $this->complate($out_trade_no, $trade_no);
- exit("success");
- }
- }
- function alipay_return()
- {
- require_once "alipay/alipay.class.php";
- $aliPay = new AlipayService(IN_ALIPAYID, "", "", "MD5", IN_ALIPAYKEY);
- $checkpay = $aliPay->verifyNotify($_GET);
- if (!$checkpay) {
- exit("fail");
- }
- $out_trade_no = $_GET["out_trade_no"];
- $trade_no = $_GET["trade_no"];
- $trade_status = $_GET["trade_status"];
- if ($trade_status == "TRADE_FINISHED" || $trade_status == "TRADE_SUCCESS") {
- $this->complate($out_trade_no, $trade_no);
- redirect("/index/apps/apps");
- }
- }
- function codepay_notify()
- {
- ksort($_POST);
- reset($_POST);
- $_var_28 = IN_CODEPAYKEY;
- $_var_29 = "";
- foreach ($_POST as $_var_30 => $_var_31) {
- if ($_var_31 == "" || $_var_30 == "sign") {
- continue;
- }
- if ($_var_29) {
- $_var_29 .= "&";
- }
- $_var_29 .= $_var_30 . "=" . $_var_31;
- }
- if (empty($_POST["pay_no"]) || empty($_POST["pay_id"]) || empty($_POST["sign"]) || md5($_var_29 . $_var_28) != $_POST["sign"]) {
- exit("fail");
- } else {
- $this->complate($_POST["pay_id"], $_POST["pay_no"]);
- exit("success");
- }
- }
- function codepay_return()
- {
- redirect("/index/apps/apps");
- }
- function f2fpay_notify()
- {
- require_once "f2fpay/alipay.class.php";
- $config = ["signType" => IN_F2FPAY_STYPE, "publicKey" => IN_F2FPAY_AKEY];
- $aliPay = new AlipayService($config);
- $checkpay = $aliPay->check($_POST);
- if (!$checkpay || empty($_POST["out_trade_no"]) || empty($_POST["trade_no"]) || empty($_POST["trade_status"])) {
- exit("fail");
- }
- $out_trade_no = $_POST["out_trade_no"];
- $trade_no = $_POST["trade_no"];
- $trade_status = $_POST["trade_status"];
- if ($trade_status == "TRADE_FINISHED" || $trade_status == "TRADE_SUCCESS") {
- $res = $this->complate($out_trade_no, $trade_no);
- $res && exit("success");
- }
- }
- function wxpay_notify()
- {
- require_once "weixin/WxPay.Api.php";
- $xml = empty($GLOBALS["HTTP_RAW_POST_DATA"]) ? file_get_contents("php://input") : $GLOBALS["HTTP_RAW_POST_DATA"];
- $notify = new WxPayResults();
- try {
- $data = $notify->FromXml($xml);
- if ($notify->CheckSign() == true) {
- if ($data["return_code"] == "SUCCESS") {
- $out_trade_no = $data["out_trade_no"];
- $trade_no = $data["transaction_id"];
- $this->complate($out_trade_no, $trade_no);
- exit("SUCCESS");
- }
- }
- } catch (\WxPayException $e) {
- exit("ERROR");
- }
- }
- function wxpay_return()
- {
- redirect("/index/apps/apps");
- }
- function zzpay_notify()
- {
- $_var_32 = file_get_contents("php://input");
- $_var_33 = json_decode($_var_32, true);
- if ($_var_33["code"] != 10001) {
- exit($_var_33["code"]);
- } else {
- $_var_34 = (float) $_var_33["price"];
- $_var_35 = (float) $_var_33["originalprice"];
- $_var_36 = $_var_33["thirduid"];
- $_var_37 = $_var_33["orderId"];
- $_var_38 = $_var_33["paytype"] ? 1 : 2;
- if (!$_var_37) {
- exit("fail_1");
- }
- $_var_39 = $this->postRequest("https://admin.zhanzhangfu.com/order/onlinePayFindResult", ["orderId" => $_var_37]);
- if ($_var_39["code"] != 10001) {
- exit("fail_2");
- }
- $this->complate($_var_36, $_var_37);
- exit("success");
- }
- }
- function postRequest($url, $data)
- {
- $_var_40 = array("Payment-Key:" . IN_ZZPAY_AppKey, "Payment-Secret:" . IN_ZZPAY_AppSecret);
- $_var_41 = curl_init();
- curl_setopt($_var_41, CURLOPT_URL, $url);
- curl_setopt($_var_41, CURLOPT_SSL_VERIFYPEER, FALSE);
- curl_setopt($_var_41, CURLOPT_SSL_VERIFYHOST, FALSE);
- curl_setopt($_var_41, CURLOPT_POST, 1);
- curl_setopt($_var_41, CURLOPT_POSTFIELDS, $data);
- curl_setopt($_var_41, CURLOPT_HTTPHEADER, $_var_40);
- curl_setopt($_var_41, CURLOPT_RETURNTRANSFER, 1);
- $_var_42 = curl_exec($_var_41);
- curl_close($_var_41);
- $_var_42 = json_decode($_var_42, true);
- return $_var_42;
- }
- }
|