Пример #1
0
 public function execute()
 {
     $param = array();
     $param["currency"] = $_POST["currency"];
     $param["ip"] = $_POST["ip"];
     $param["merchantNum"] = $_POST["merchantNum"];
     $param["merchantRemark"] = $_POST["merchantRemark"];
     $param["notifyUrl"] = $_POST["notifyUrl"];
     $param["successCallbackUrl"] = $_POST["successCallbackUrl"];
     $param["tradeAmount"] = $_POST["tradeAmount"];
     $param["tradeDescription"] = $_POST["tradeDescription"];
     $param["tradeName"] = $_POST["tradeName"];
     $param["tradeNum"] = $_POST["tradeNum"];
     $param["tradeTime"] = $_POST["tradeTime"];
     $param["version"] = $_POST["version"];
     $param["token"] = $_POST["token"];
     $sign = "asdf";
     //zhangbo
     //$sign = SignUtil::signWithoutToHex($param);
     $param["merchantSign"] = $sign;
     $_SESSION['tradeAmount'] = $_POST["tradeAmount"];
     $_SESSION['tradeName'] = $_POST["tradeName"];
     $_SESSION['tradeInfo'] = $param;
     $serverUrl = ConfigUtil::get_val_by_key("serverPayUrl");
     $url = $serverUrl . "?version=" . urlencode($param["version"]) . "&token=" . urlencode($param["token"]) . "&merchantNum=" . urlencode($param["merchantNum"]) . "&merchantRemark=" . urlencode($param["merchantRemark"]) . "&tradeNum=" . urlencode($param["tradeNum"]) . "&tradeName=" . urlencode($param["tradeName"]) . "&tradeDescription=" . urlencode($param["tradeDescription"]) . "&tradeTime=" . urlencode($param["tradeTime"]) . "&tradeAmount=" . urlencode($param["tradeAmount"]) . "&currency=" . urlencode($param["currency"]) . "&notifyUrl=" . urlencode($param["notifyUrl"]) . "&successCallbackUrl=" . urlencode($param["successCallbackUrl"]) . "&forPayLayerUrl=" . urlencode($_POST["forPayLayerUrl"]) . "&ip=" . urlencode($_POST["ip"]) . "&merchantSign=" . urlencode($sign);
     header("location:" . $url);
 }
Пример #2
0
 public function prepareParms()
 {
     $tradeJsonData = "{\"tradeNum\": \"" . $_POST["tradeNum"] . "\",\"oTradeNum\": \"" . $_POST["oTradeNum"] . "\",\"tradeAmount\":\"" . $_POST["tradeAmount"] . "\",\"tradeCurrency\": \"" . $_POST["tradeCurrency"] . "\",\"tradeDate\": \"" . $_POST["tradeDate"] . "\",\"tradeTime\": \"" . $_POST["tradeTime"] . "\",\"tradeNotice\": \"" . $_POST["tradeNotice"] . "\",\"tradeNote\": \"" . $_POST["tradeNote"] . "\"}";
     $tradeData = TDESUtil::encrypt2HexStr(base64_decode(ConfigUtil::get_val_by_key("desKey")), $tradeJsonData);
     $sha256SourceSignString = hash("sha256", $tradeData);
     $sign = RSAUtils::encryptByPrivateKey($sha256SourceSignString);
     $params = array();
     $params["version"] = $_POST["version"];
     $params["merchantNum"] = $_POST["merchantNum"];
     $params["merchantSign"] = $sign;
     $params["data"] = $tradeData;
     return $params;
 }
Пример #3
0
 public function prepareParms()
 {
     $tradeJsonData = "{\"tradeNum\": \"" . $_POST["tradeNum"] . "\"}";
     // 1.对交易信息进行3DES加密
     $tradeData = TDESUtil::encrypt2HexStr(base64_decode(ConfigUtil::get_val_by_key("desKey")), $tradeJsonData);
     // 2.对3DES加密的数据进行签名
     $sha256SourceSignString = hash("sha256", $tradeData);
     $sign = RSAUtils::encryptByPrivateKey($sha256SourceSignString);
     $params = array();
     $params["version"] = $_POST["version"];
     $params["merchantNum"] = $_POST["merchantNum"];
     $params["merchantSign"] = $sign;
     $params["data"] = $tradeData;
     return $params;
 }
Пример #4
0
        <li class="form-item form-item-border clearfix">
            <label>接口版本</label>

            <div class="form-field">
                <input type="text" class="" name="version" value="1.0" autocomplete="off"
                        minlength="15" maxlength="18" data-callback="input.status"/>
                <span class="clear-btn J-clear-btn">×</span>
            </div>
        </li>

        <li class="form-item form-item-border clearfix">
            <label>商户号</label>

            <div class="form-field">
                <input type="text" class="" name="merchantNum" value="<?php 
echo ConfigUtil::get_val_by_key('merchantNum');
?>
" autocomplete="off"
                       placeholder="请输入商户号" minlength="15" maxlength="50" data-callback="input.status"/>
                <span class="clear-btn J-clear-btn">×</span>
            </div>
        </li>

        <li class="form-item form-item-border clearfix">
            <label>交易号</label>

            <div class="form-field">
                <input type="text" class="" name="tradeNum" value="" autocomplete="off"
                       placeholder="请输入交易号" minlength="15" maxlength="50" data-callback="input.status"/>
                <span class="clear-btn J-clear-btn">×</span>
            </div>
        }
        // 验签成功,业务处理
        // 对Data数据进行解密
        $des = new DesUtils();
        // (秘钥向量,混淆向量)
        $decryptArr = $des->decrypt($params['DATA'][0], $desKey);
        // 加密字符串
        echo "对<DATA>进行解密得到的数据:" . $decryptArr . "\n";
        $params['data'] = $decryptArr;
        echo "最终数据:" . json_encode($params) . '\\n';
        echo "**********接收异步通知结束。**********";
        return;
    }
}
$MD5_KEY = ConfigUtil::get_val_by_key("md5Key");
$DES_KEY = ConfigUtil::get_val_by_key("desKey");
$w = new WebAsynNotificationCtrl();
$w->execute($MD5_KEY, $DES_KEY, $_POST("resp"));
?>











Пример #6
0
    <meta name="viewport" content="width=device-width,initial-scale=1.0, user-scalable=no"/>
    <link rel="stylesheet" href="../static/css/base.css"/>
</head>
<body>

<div class="nav">
    <span class="arrow goback"><em></em></span>

    <h1>交易信息</h1>
</div>
<div class="nav-wrap"></div>

<div class="grid">

    <form method="post" action="<?php 
echo ConfigUtil::get_val_by_key('serverPayUrl');
?>
" id="payForm">
        <!--交易信息 start-->
        <?php 
if ($_SESSION['tradeInfo'] != null) {
    ?>
        <input type="hidden" name="version" value="<?php 
    echo $_SESSION['tradeInfo']['version'];
    ?>
"/>
        <input type="hidden" name="token" value="<?php 
    echo $_SESSION['tradeInfo']['token'];
    ?>
"/>
        <input type="hidden" name="merchantSign" value="<?php 
Пример #7
0
                <input type="text" class="" name="successCallbackUrl" value="<?php 
echo ConfigUtil::get_val_by_key('successCallbackUrl');
?>
"
                       autocomplete="off" placeholder="请输入交易成功通知地址" minlength="15" maxlength="200"
                       data-callback="input.status"/>
                <span class="clear-btn J-clear-btn">×</span>
            </div>
        </li>
        
         <li class="form-item form-item-border clearfix">
            <label>代理页面</label>

            <div class="form-field">
                <input type="text" class="" name="forPayLayerUrl" value="<?php 
echo ConfigUtil::get_val_by_key('forPayLayerUrl');
?>
"
                       autocomplete="off" placeholder="请输入交易成功通知地址" minlength="15" maxlength="200"
                       data-callback="input.status"/>
                <span class="clear-btn J-clear-btn">×</span>
            </div>
        </li>

        <li class="form-item form-item-border clearfix">
            <label>用户IP</label>

            <div class="form-field">
                <input type="text" class="" name="ip" value="10.45.251.153"
                       autocomplete="off" placeholder="用户IP地址" minlength="15" maxlength="200"
                       data-callback="input.status"/>