创意电子

标题: 聚合支付系统带轮循/集成免签支付/第三方支付系统/第四方支付系统/可技术咨询/稳定 [打印本页]

作者: 创意电子    时间: 2019-5-21 16:04
标题: 聚合支付系统带轮循/集成免签支付/第三方支付系统/第四方支付系统/可技术咨询/稳定
下载地址:【创意电子提示】此资源经过测试可用!如使用发现问题或者有技术问题,可 点击在线客服图标 免费咨询或者咨询本站客服QQ寻求付费技术支持!


资源名称: 
下载次数:28  文件大小:  记录
购买VIP 充值创意币 运营教程 免费赚创意币 
安全检测,请放心下载


第三方支付系统/第四方支付系统/聚合支付系统//上线即运营。
包售后,可多通道轮训,报表清晰,对账方便。
另外提供有偿系统二次开发,一条龙服务,为您定制属于您个人的专属系统!
资源名称: 
下载次数:0  文件大小:  记录
购买VIP 充值创意币 运营教程 免费赚创意币 
安全检测,请放心下载
整站系统包含:总管理后台,代理后台/商户后台,该系统成熟稳定。
支付系统 三方 四方支付聚合系统 集成短信 邮件 谷歌令牌多种验证
1.系统为成熟运营版,完美对接邮件系统
2.短信系统为阿里和短信宝,可多通道切换
3.增加安全机制集成了谷歌令牌
4.成熟的商户,代理,邀请码机制,一户一码,一个邀请码,仅限一人使用。安全,清晰
5.可对接各种支付通道,轮训或者api模式
演示地址:pay.wkgb.net
后台:http://pay.wkgb.net/admin_Login_index.html        用户名:创意电子      密码:123456
请大家为了测试方便不要修改密码  
资源名称: 
下载次数:0  文件大小:  记录
购买VIP 充值创意币 运营教程 免费赚创意币 
安全检测,请放心下载
源码只供学习使用,如用于商业活动与本人无关
请勿将系统用于非法业务,合理学习
用于非法业务暂停一切售后服务包括更新
用来进行违反中国法律用户 跟本人一切无关
购买及认同以上原则。
说明:
老用户免费升级
对接上游通道:500-1000元/个。
增加PDD通道
资源名称: 
下载次数:0  文件大小:  记录
购买VIP 充值创意币 运营教程 免费赚创意币 
安全检测,请放心下载


一、更新日志:
20190625:加急更新;修复绕过后台登录BUG。
20190411:
   1.增加3个代付通道
   2.增加2个网银快捷通道
   3.修复1处内核漏洞
   4.增加测试DEMO页  
   5.删除无用数据库数据
   6.修复1处已知逻辑bug
2019.03.24
  1.全部源码杀毒,去除2处图片后门
  2.删除无用日志、图片等
2019.03.23
  1.优化轮训算法,不会出现死磕一个通道或者死磕一个账号的情况
  2.增加了下游get方式传参
2019.03.20
  1.修复原系统官方支付宝验证签名方式(更安全)
  2.修复一些小BUG

二、安装步骤
建议下面环境,其余环境容易出问题
1.准备环境
        1).Linux
        2).Nginx 1.8
        3).MySQL 5.5
        4).php5.6
        5).宝塔
2.安装
    1).上传源码到网站根目录
        2).导入数据库
        3).修改数据库配置信息Application\Common\Conf\db.php
        4).打开宝塔web面板-》网站-》支付网站右边“设置”-》伪静态-》输入本文后面伪静态配置
3.后台
    网站地址/admin
    账号admin
    密码123456

三、说明
需要对接可以找我QQ2241998733
1.上游支付对接目录 \Application\Pay\Controller
2.上游代付对接目录 \Application\Payment\Controller
3.商户开发文档目录 \Uploads\demo.zip

商户对接教程

支付请求
```Post``` 网站地址/Pay_Index.html

***
>###**请求参数:**

| 参数名称 | 参数含义  | 是否必填  | 参与签名  | 参数说明  |
| ------ |:-----|:-----|:-----|:-----|
|pay_memberid        |商户号        |是        |是        |平台分配商户号
|pay_orderid        |订单号        |是        |是        |上送订单号唯一, 字符长度20
|pay_applydate        |提交时间        |是        |是        |时间格式:2016-12-26 18:18:18
|pay_bankcode        |银行编码        |是        |是        |参考后续说明
|pay_notifyurl        |服务端通知        |是        |是        |服务端返回地址.(POST返回数据)
|pay_callbackurl        |页面跳转通知        |是        |是        |页面跳转返回地址(POST返回数据)
|pay_amount        |订单金额        |是        |是        |商品金额
|pay_md5sign        |MD5签名        |是        |否        |请看MD5签名字段格式
|pay_attach        |附加字段        |否        |否        |此字段在返回时按原样返回(中文需要url编码)
|pay_productname        |商品名称        |否        |否        
|pay_productnum        |商户品数量        |否        |否        
|pay_productdesc        |商品描述        |否        |否        
|pay_producturl        |商户链接地址        |否        |否        

***
>###**签名算法:**

签名生成的通用步骤如下:
第一步,设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串。

第二步,在stringA最后拼接上key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。

```
stringSignTemp="pay_amount=pay_amount&pay_applydate=pay_applydate&pay_bankcode=pay_bankcode&pay_callbackurl=pay_callbackurl&pay_memberid=pay_memberid&pay_notifyurl=pay_notifyurl&pay_orderid=pay_orderid&key=key"
sign=MD5(stringSignTemp).toUpperCase()
```
***
>###**支付结果通知:**

如果接收到服务器点对点通讯时,在页面输出“OK”(没有双引号,OK两个字母大写),否则会重复3次发送点对点通知.

| 参数名称 | 参数含义  |参数说明  |
|:------:|:-----:|:-----|
|memberid        |商户编号|
|orderid        |订单号|
|amount        |订单金额|
|datetime        |交易时间|
|returncode        |交易状态|        “00” 为成功
|attach        |扩展返回| 商户附加数据返回
|sign        |签名        |请看验证签名字段格式

注:签名见签名算法。

>###**附:银行编码**

| 银行编码 | 银行名称 |
|:----:|:----:|
|901        |微信公众号        
|902        |微信扫码支付               
|903        |支付宝扫码支付        
|904        |支付宝手机        
|905        |QQ手机支付        
|907        |网银支付        
|908        |QQ扫码支付        
|909        |百度钱包
|910        |京东支付

>###**接入示例(PHP)**

``index.php``
```
<?php
error_reporting(0);
header("Content-type: text/html; charset=utf-8");
$pay_memberid = "10002";   //商户ID
$pay_orderid = 'E'.date("YmdHis").rand(100000,999999);    //订单号
$pay_amount = "0.01";    //交易金额
$pay_applydate = date("Y-m-d H:i:s");  //订单时间
$pay_notifyurl = "http://www.yourdomain.com/demo/server.php";   //服务端返回地址
$pay_callbackurl = "http://www.yourdomain.com/demo/page.php";  //页面跳转返回地址
$Md5key = "t4ig5acnpx4fet4zapshjacjd9o4bhbi";   //密钥
$tjurl = "http://www.yourdomain.com/Pay_Index.html";   //提交地址

$pay_bankcode = "903";   //银行编码
//扫码
$native = array(
    "pay_memberid" => $pay_memberid,
    "pay_orderid" => $pay_orderid,
    "pay_amount" => $pay_amount,
    "pay_applydate" => $pay_applydate,
    "pay_bankcode" => $pay_bankcode,
    "pay_notifyurl" => $pay_notifyurl,
    "pay_callbackurl" => $pay_callbackurl,
);
ksort($native);
$md5str = "";
foreach ($native as $key => $val) {
    $md5str = $md5str . $key . "=" . $val . "&";
}
//echo($md5str . "key=" . $Md5key);
$sign = strtoupper(md5($md5str . "key=" . $Md5key));
$native["pay_md5sign"] = $sign;
$native['pay_attach'] = "1234|456";
$native['pay_productname'] ='VIP基础服务';
?>

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>支付Demo</title>
    <!-- Bootstrap -->
    <link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css"
          integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
    <!--[if lt IE 9]>
    <script src="https://cdn.bootcss.com/html5shiv/3.7.3/html5shiv.min.js"></script>
    <script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
</head>
<body>
<div class="container">
    <div class="row" style="margin:15px;0;">
        <div class="col-md-12">
            <form class="form-inline" method="post" action="<?php echo $tjurl; ?>">
                <?php
                foreach ($native as $key => $val) {
                    echo '<input type="hidden" name="' . $key . '" value="' . $val . '">';
                }
                ?>
                <button type="submit" class="btn btn-success btn-lg">扫码支付(金额:<?php echo $pay_amount; ?>元)</button>
            </form>
        </div>
    </div>
</div>
<script src="https://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"
        integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa"
        crossorigin="anonymous"></script>
</body>
</html>



``page.php``同步通知
<?php
header('Content-type:text/html;charset=utf-8');
   $returnArray = array( // 返回字段
            "memberid" => $_REQUEST["memberid"], // 商户ID
            "orderid" =>  $_REQUEST["orderid"], // 订单号
            "amount" =>  $_REQUEST["amount"], // 交易金额
            "datetime" =>  $_REQUEST["datetime"], // 交易时间
            "transaction_id" =>  $_REQUEST["transaction_id"], // 流水号
            "returncode" => $_REQUEST["returncode"]
        );

        $md5key = "t4ig5acnpx4fet4zapshjacjd9o4bhbi";

                ksort($returnArray);
        reset($returnArray);
        $md5str = "";
        foreach ($returnArray as $key => $val) {
            $md5str = $md5str . $key . "=" . $val . "&";
        }
        $sign = strtoupper(md5($md5str . "key=" . $md5key));

        if ($sign == $_REQUEST["sign"]) {
            if ($_REQUEST["returncode"] == "00") {
                                   $str = "交易成功!订单号:".$_REQUEST["orderid"];

                                   exit($str);
            }
        }
?>
```

``server.php`` 异步通知

<?php
   $returnArray = array( // 返回字段
            "memberid" => $_REQUEST["memberid"], // 商户ID
            "orderid" =>  $_REQUEST["orderid"], // 订单号
            "amount" =>  $_REQUEST["amount"], // 交易金额
            "datetime" =>  $_REQUEST["datetime"], // 交易时间
            "transaction_id" =>  $_REQUEST["transaction_id"], // 支付流水号
            "returncode" => $_REQUEST["returncode"],
        );

        $md5key = "t4ig5acnpx4fet4zapshjacjd9o4bhbi";

                ksort($returnArray);
        reset($returnArray);
        $md5str = "";
        foreach ($returnArray as $key => $val) {
            $md5str = $md5str . $key . "=" . $val . "&";
        }
        $sign = strtoupper(md5($md5str . "key=" . $md5key));
        if ($sign == $_REQUEST["sign"]) {
                        
            if ($_REQUEST["returncode"] == "00") {
                                   $str = "交易成功!订单号:".$_REQUEST["orderid"];
                   file_put_contents("success.txt",$str."\n", FILE_APPEND);
                                   exit("ok");
            }
        }
?>
```


//伪静态开始
location / {
   if (!-e $request_filename) {
   rewrite  ^(.*)$  /index.php?s=$1  last;
   break;
  }
}
location ^~ /runtime {
  deny all;
}
location ^~ /Runtime {
   deny all;
}   
location ^~ /cert {
   deny all;
}
///伪静态结束

计划任务部署:建议使用宝塔面板里的 计划任务功能来自动执行
任务标题:#解冻保证金计划任务
执行命令: cd /www/wwwroot/wwww.pay.vipcyjr.cn; php cli.php unfreeze
任务标题:#自动提交代付计划任务
执行命令:cd /www/wwwroot/wwww.pay.vipcyjr.cn; php cli.php autodf
任务标题:#自动查询代付计划任务
执行命令:cd /www/wwwroot/wwww.pay.vipcyjr.cn; php cli.php autodf_dfquery
任务标题:#解冻资金计划任务
执行命令:cd /www/wwwroot/wwww.pay.vipcyjr.cn; php cli.php unfreezeMoney

作者: xsj007    时间: 2019-5-28 17:37
真的很不错的源码,学习学习
作者: yang666    时间: 2019-7-29 11:04
下载链接在哪
作者: yang666    时间: 2019-7-29 11:07
xsj007 发表于 2019-5-28 17:37
真的很不错的源码,学习学习

下载链接你知道在哪里吗




欢迎光临 创意电子 (https://wxcydz.cc/) Powered by Discuz! X3.4