Взял готовый код paymentaviso.php и checkorder.php и слегка доделал под себя:
$hash = md5($_POST['action'].';'.$_POST['orderSumAmount'].';'.$_POST['orderSumCurrencyPaycash'].';'.$_POST['orderSumBankPaycash'].';'.$configs['shopId'].';'.$_POST['invoiceId'].';'.$_POST['customerNumber'].';'.$configs['ShopPassword']);
if (strtolower($hash) != strtolower($_POST['md5'])){
$code = 1;
}
else {
$code = 0;
}
if($code == 0){
$id = explode('_', $_POST['customerNumber']);
if($id){
$id_u = gImg($id[1]);
file_put_contents('historyPay.php', $_POST['requestDatetime']. ' от ' .$id_u['id']. PHP_EOL, FILE_APPEND);
obNull($id_u['id'],$id_u['ochk']);
}
}
print '<?xml version="1.0" encoding="UTF-8"?>';
print '<paymentAvisoResponse performedDatetime="'. $_POST['requestDatetime'] .'" code="'.$code.'" invoiceId="'. $_POST['invoiceId'] .'" shopId="'. $configs['shopId'] .'"/>';
Через customerNumber передаю time() + _ id пользователя. Потом уже в тут выделяю id и через функцию obNull обнуляю то, за что беру деньги. Вот.
А теперь вопрос:
Во время проведения тестовых платежей менялись сумма и customerNumber. Теперь в личном кабинете эти тестовые платежи в статусе "в обработке", однако по ним постоянно приходят запросы в файл paymentaviso.php. Скрипт их понимает, выполняет, а их статус не меняется. Тех. поддержка говорит, что ошибка в скрипте. Как поменять их статус как можно быстрее в "не выполненные" (чтобы они уже не обращались ко мне) или отдавать им нужный код результата обработки запроса?