支付过程中出现了问题,请发送工单联系管理员处理。';
$button_text = '联系管理员';
$button_link = 'mailto:pghkipy@gmail.com';
}
} else {
// 签名验证失败
$message = '签名无效';
$alert_class = 'alert-danger';
$icon = 'fas fa-exclamation-circle';
$additional_info = '签名验证失败,请联系管理员。';
$button_text = '联系管理员';
$button_link = 'mailto:pghkipy@gmail.com';
}
// HTML 页面开始
?>
支付结果 - DokiDoki CDN 心跳网络
$v) {
if ($k != "sign" && $k != "sign_type" && $v !== '' && $v !== null) {
$signStr .= $k . '=' . $v . '&';
}
}
$signStr = rtrim($signStr, '&');
$signStr .= $key;
return md5($signStr);
}
function set_order_success($order_no){
global $config;
$auth_info = [
"type"=> "admin",
"accessKeyId"=> $config['goedge_access_id'],
"accessKey"=> $config['goedge_access_key']
];
$access_token_json = sendPostJson($config['goedge_api_url']."/APIAccessTokenService/getAPIAccessToken",json_encode($auth_info,true),"none");
$access_token_obj = json_decode($access_token_json,true);
if (isset($access_token_obj['data']['token'])) {
$token = $access_token_obj['data']['token'];
$code = ["code"=>$order_no];
$finish_order = sendPostJson($config['goedge_api_url']."/UserOrderService/finishUserOrder",json_encode($code,true),$token);
return $finish_order;
} else {
error_log("获取 access token 失败: " . $access_token_json);
return "获取 access token 失败: " . $access_token_json;
}
}
function sendPostJson($url, $json_data, $token) {
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($json_data),
'X-Edge-Access-Token: ' . $token
));
curl_setopt($ch, CURLOPT_POSTFIELDS, $json_data);
$response = curl_exec($ch);
if (curl_errno($ch)) {
error_log('cURL Error in sendPostJson to ' . $url . ': ' . curl_error($ch));
return "cURL Error: " . curl_error($ch);
}
curl_close($ch);
return $response;
}
?>