$flag = $httpClient->post($path, $data); $status = $httpClient->getStatus(); if ($flag === true) { $result = $httpClient->getContent(); } else { $error = $httpClient->getError(); } } else { Paylog::msg($cart->id, "300", "尝试curl和fsockopen提交定单到速汇通,均失败!"); die(json_encode(array("isError" => "YES", "msg" => "300"))); } } if ($status == 200 && $result) { parse_str($result, $rData); $systemResponse = new System_Response(); Paylog::msg($cart->id, $rData['Succeed'], $systemResponse->getMsg($rData['Succeed'])); if ($rData['Succeed'] == "9") { die(json_encode(array("isError" => "YES", "msg" => "401,Payment Failed!"))); } //判断是否支付成功 $isSystemCode = $systemResponse->isSucceed($rData['Succeed']); if ($isSystemCode === true) { $sht = Module::Hook($data['paymentid']); $sht->validateOrder($cart, $sht->id, 2); $redirct = $link->getPage('PaymentResultView') . "?id_order=" . $sht->currentOrder . "&id_module=" . $sht->id . "&toke_open=" . $data['order_token']; die(json_encode(array("isError" => "NO", "redirct" => $redirct, "msg" => 'Transaction has been successfully,the page will redirect after 3 seconds,If there is no redirect, please click <a href="' . $redirct . '">here</a>'))); } //检测是为不配置错误 $isSystemCode = $systemResponse->isSystem($rData['Succeed']); if ($isSystemCode === true) { die(json_encode(array("isError" => "YES", "msg" => "Payment failed!, Response Code: {$rData['Succeed']},Please check your information or contact the technician")));
$hashValue = $payResultJson['data']['hashValue']; $signkey = trim(Configuration::get('NEWORDER_MERCHANT_KEY')); $signSrc = $signkey . $acctNo . $orderNo . $pkid . $succeed . $result . $currCode; $signInfo = szComputeMD5Hash($signSrc); if ($hashValue == $signInfo) { if ($succeed == "00") { Paylog::msg($cart->id, "00", "支付成功"); $pay = Module::Hook($paymentid); $pay->validateOrder($cart, $pay->id, 2); $order = new Order($pay->currentOrder); $redirct = $link->getPage('PaymentResultView') . "?id_order=" . $pay->currentOrder . "&id_module=" . $paymentid . "&toke_open=" . md5($order->id_user); die(json_encode(array("isError" => "NO", "redirct" => $redirct, "msg" => 'Transaction has been successfully,the page will redirect after 3 seconds,If there is no redirect, please click <a href="' . $redirct . '">here</a>'))); } else { //信息不是从支付服务器返回 Paylog::msg($cart->id, "202", "返回状态码是成功,但succeed不为00" . (empty($errorMessage) ? $messages["errorNote"] : str_replace("@@@", $errorMessage, $messages["payFailure"]))); die(json_encode(array("isError" => "YES", "isPendingPayment" => $isPendingPayment, "msg" => "Payment failed!, Response Code: 202," . (empty($errorMessage) ? $messages["errorNote"] : str_replace("@@@", $errorMessage, $messages["payFailure"]))))); } } else { //信息不是从支付服务器返回 Paylog::msg($cart->id, "203", "返回状态码是成功的,但hash验证失败,信息可能不是从服务器传回"); die(json_encode(array("isError" => "YES", "msg" => "Payment failed!, Response Code:203"))); } } else { Paylog::msg($cart->id, "204", empty($errorMessage) ? $messages["errorNote"] : str_replace("@@@", $errorMessage, $messages["payFailure"])); die(json_encode(array("isError" => "YES", "isPendingPayment" => $isPendingPayment, "msg" => "Payment failed!, Response Code: 204," . (empty($errorMessage) ? $messages["errorNote"] : str_replace("@@@", $errorMessage, $messages["payFailure"]))))); } function _getFormatedAddress(Address $the_address, $line_sep, $fields_style = array()) { return AddressFormat::generateAddress($the_address, array('avoid' => array()), $line_sep, ' ', $fields_style); } }