<?php
|
include_once '/Common/CommFunc.php';
|
include_once '/Common/Logging.php';
|
|
\Logging\CreateLogging("sohagame.paymenttest.php");
|
|
// 本脚本仅用于内网测试使用
|
$host = $_SERVER["HTTP_HOST"];
|
if ($host != "vm-mobile") {
|
echo "error test host: ", $host;
|
exit;
|
}
|
|
$spid = "sohagame";
|
if ($_POST["spid"]) {
|
// 可选参数,也可用于测试用
|
$spid = $_POST["spid"];
|
}
|
|
\CommFunc\GetKeyFromConfig(dirname(__FILE__) . '\\..\\..\\InterfaceConfig.php', "SP." . $spid, "app_secret", $app_secret);
|
|
$_POST["algorithm"] = "HMAC-SHA256";
|
\Logging\LogInfo("_POST: " . print_r($_POST, true));
|
$signed_request = do_signed($_POST, $app_secret);
|
\Logging\LogInfo("signed_request: " . $signed_request);
|
|
$postUrl = curPageBaseUrl() . "/api/sohagame/payment.php";
|
\Logging\LogInfo("postUrl: " . $postUrl);
|
|
$payData = array("signed_request" => $signed_request, "spid" => $spid);
|
$ret = \CommFunc\DoPost($postUrl, $payData);
|
\Logging\LogInfo("ret: " . $ret);
|
echo $ret;
|
|
function do_signed($data, $secret)
|
{
|
$payload = strtr(base64_encode(json_encode($data)), '+/', '-_');
|
$sig = hash_hmac('sha256', $payload, $secret, $raw = true);
|
$sig = base64_encode(strtr($sig, '+/', '-_'));
|
$signed_request = $sig . "." . $payload;
|
return $signed_request;
|
}
|
|
function curPageBaseUrl()
|
{
|
$pageURL = 'http';
|
if ($_SERVER["HTTPS"] == "on") {
|
$pageURL .= "s";
|
}
|
$pageURL .= "://";
|
if ($_SERVER["SERVER_PORT"] != "80") {
|
$pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"];
|
} else {
|
$pageURL .= $_SERVER["SERVER_NAME"];
|
}
|
// . $_SERVER["REQUEST_URI"]
|
return $pageURL;
|
}
|