Example #1
0
*/
//3-----------判断返回信息,如果支付成功,并且支付结果可信,则做进一步的处理----------------------------
if ($unitid != $myunitid) {
    jieqi_printfail($jieqiLang['pay']['customer_id_error']);
}
if ($retcode == 12 || $paycode == 1 && $retcode == 0) {
    $query_string = $_SERVER['QUERY_STRING'];
    $pos = strpos($query_string, "&sign=");
    if ($pos == false) {
        jieqi_printfail($jieqiLang['pay']['return_checkcode_error']);
    } else {
        $param = substr($query_string, 0, $pos);
    }
    $filename = JIEQI_ROOT_PATH . '/configs/pay/' . $jieqiPayset[JIEQI_PAY_TYPE]['pubkeyfile'];
    $xmlKey = new KeyFile($filename);
    $xmlKey->getPublicKey($modulus, $exp);
    $sign = new Sign();
    $sign->setPublicKeyFromXML($exp, $modulus);
    if (!$sign->VerifySign($param, $signData)) {
        jieqi_printfail($jieqiLang['pay']['return_checkcode_error']);
    } else {
        include_once $jieqiModules['pay']['path'] . '/class/paylog.php';
        $paylog_handler = JieqiPaylogHandler::getInstance('JieqiPaylogHandler');
        $orderid = intval($transid);
        $paylog = $paylog_handler->get($orderid);
        if (is_object($paylog)) {
            $buyname = $paylog->getVar('buyname');
            $buyid = $paylog->getVar('buyid');
            $payflag = $paylog->getVar('payflag');
            $egold = $paylog->getVar('egold');
            if ($payflag == 0) {