Example #1
0
                echo "fail";
            }
        }
        //============END=============================
        /*--------------------------------------------------------------------------------------*/
        $success = "支付成功!";
        $order = "订单号:" . $r6_Order;
        $success = iconv("UTF-8", "GB2312", $success);
        $order = iconv("UTF-8", "GB2312", $order);
        logurl($success, $order, $logName);
    }
} elseif ($r0_Cmd == "EposFailed" && $r1_Code == "-100") {
    // 支付失败
    $fail = "支付失败!";
    $order = "订单号:" . $r6_Order;
    $fail = iconv("UTF-8", "GB2312", $fail);
    $order = iconv("UTF-8", "GB2312", $order);
    logurl($fail, $order, $logName);
    verifyCallback($failCallBack, $hmac, $logName, $merchantKey);
    echo "fail";
} else {
    $fail = "支付失败!";
    $fail = iconv("UTF-8", "GB2312", $fail);
    $failinfo = "未知错误。请联系技术支持!";
    $failinfo = iconv("UTF-8", "GB2312", $failinfo);
    //	logurl($fail,$failinfo,$logName);
    echo "fail";
}
?>
 
Example #2
0
function verifyCallback(array $bizArray, $callBackHmac, $logName, $merchantKey)
{
    $callBackString = "";
    $callBackStringLog = "";
    foreach ($bizArray as $key => $value) {
        $callBackString .= $value;
        $callBackStringLog .= $key . "=" . $value . "&";
    }
    $newLocalHmac = HmacMd5($callBackString, $merchantKey, $logName);
    if ($newLocalHmac == $callBackHmac) {
        logurl("callBack页面回调成功,交易信息正常!", "回调参数串:" . $callBackStringLog . "LocalHmac(" . $newLocalHmac . ") == ResponseHmac(" . $callBackHmac . ")!", $logName);
        return true;
    } else {
        echo "交易信息被篡改!</br>newLocalHmac=" . $newLocalHmac . "</br>callBackHmac=" . $callBackHmac;
        logurl("callBack页面回调成功,但交易信息被篡改!", "回调参数串:" . $callBackStringLog . "LocalHmac(" . $newLocalHmac . ") != ResponseHmac(" . $callBackHmac . ")!", $logName);
        return false;
    }
}