$val) { if ($key == "sign") { continue; } $signKey .= $val . '#'; } $signKey .= $Callback_Key; $md5SignLocal = md5($signKey); if ($md5SignLocal != $sign) { Ret("ErrorSign", "md5SignLocal:" . $md5SignLocal . " != sign:" . $sign); exit; } $channelID = 1; $cpOrderID = $cp_order_id; $serverID = $server_id; $OrderInfo = $cp_product_id; $extrasLen = 4; $extrasParams = explode("_", $extrasParams, $extrasLen); // channelID_cp订单id_区服id_游戏充值编号 \Logging\LogInfo("extrasParams:" . print_r($extrasParams, true)); $extras_params = $extrasParams; if (isset($extras_params) && count($extras_params) == $extrasLen) { // Ret("extras_params_error", " extras_params:" . print_r($extras_params, true)); $channelID = $extras_params[0]; $cpOrderID = $extras_params[1]; $serverID = intval($extras_params[2]); $OrderInfo = $extras_params[3]; }else{ // 网页充值,17 18服特殊处理ID互换 if ($serverID == 17) { $serverID = 18; \Logging\LogInfo("17服18服网页充值时特殊处理ServerID互换!"); } elseif ($serverID == 18) { $serverID = 17; \Logging\LogInfo("17服18服网页充值时特殊处理ServerID互换!"); } } // 同步游戏服务器 $AccountID = $uid . "@" . $channelID; $ret = $failed; $msg = ""; // 没有创建订单步骤,直接使用sdk订单号 $returnArr = \PayOrder\DoReceivePayOrder($appid, $cpOrderID, $sdkOrderID, $AccountID, $serverID, $OrderInfo, $OrderAmount, $payTime, false); switch ($returnArr["errorcode"]) { case 1: $ret = $success; break; case 2: $ret = "ErrorRepeat"; break; default: if ($returnArr["errordesc"]) { $msg = $returnArr["errordesc"]; } break; } Ret($ret, $msg); exit; function Ret($ret, $msg = "") { global $success; echo $ret; $logMsg = $ret; if ($msg) { $logMsg .= " msg => " . $msg; } if ($ret != $success) { \Logging\LogError($logMsg); } else { \Logging\LogInfo($logMsg); } }