Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function api()
- {
- if (!isset($_POST["WMI_SIGNATURE"]))
- return "WMI_RESULT=" . strtoupper('Retry') . "&WMI_DESCRIPTION="
- .urlencode("Отсутствует параметр WMI_SIGNATURE");
- if (!isset($_POST["WMI_PAYMENT_NO"]))
- return "WMI_RESULT=" . strtoupper('Retry') . "&WMI_DESCRIPTION="
- .urlencode("Отсутствует параметр WMI_PAYMENT_NO");
- if (!isset($_POST["WMI_ORDER_STATE"]))
- return "WMI_RESULT=" . strtoupper('Retry') . "&WMI_DESCRIPTION="
- .urlencode("Отсутствует параметр WMI_ORDER_STATE");
- if (strtoupper($_POST["WMI_ORDER_STATE"]) != "ACCEPTED")
- return "WMI_RESULT=" . strtoupper('Retry') . "&WMI_DESCRIPTION="
- .urlencode("Случилось что-то странное, пришло неизвестное состояние заказа ". $_POST["WMI_ORDER_STATE"]);
- foreach($_POST as $name => $value)
- {
- if ($name !== "WMI_SIGNATURE") $params[$name] = urldecode($value);
- }
- uksort($params, "strcasecmp");
- $values = "";
- foreach($params as $name => $value)
- {
- $values .= $value;
- }
- $skey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
- $signature = base64_encode(pack("H*", md5($values . $skey)));
- if($signature != $_POST["WMI_SIGNATURE"])
- return "WMI_RESULT=" . strtoupper('Retry') . "&WMI_DESCRIPTION="
- .urlencode("Неверная подпись " . $_POST["WMI_SIGNATURE"]);
- return "WMI_RESULT=" . strtoupper('Ok') . "&WMI_DESCRIPTION="
- .urlencode('Заказ #' . $_POST['WMI_PAYMENT_NO'] . ' оплачен!');
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement