Код обработчика
$response_service = ServiceProvider::getResponseService();
$receipt_service = ServiceProvider::getReceiptService();
$order_service = ServiceProvider::getOrderService();
if ($mode === ‘check_payment’) {
$response = file_get_contents(‘php://input’);
$metadata = $response_service->getMetadataFromNotification($response); // номер заказа
$status = $response_service->getStatusFromNotification($response); // статус платежа
$payment_id = $response_service->getPaymentIdFromNotification($response); // id платежа
if($status=‘succeeded’) {
fn_update_order_payment_info($metadata[‘order_id’], [‘payment_id’ => $payment_id ]); // делает id платежа в заказе
fn_update_order_payment_info($metadata[‘order_id’], [‘status’ => ‘Успешно’]); //статус платежа
fn_update_order_payment_info($metadata[‘order_id’], [‘yandex_checkout.notification_received’ => __(‘yes’)]); //ответ платёжной системы
fn_change_order_status($metadata[‘order_id’], ‘C’); // статус в обработке
$order_info = fn_get_order_info($metadata[‘order_id’]);
fn_order_placement_routines(‘route’, $order_info[‘order_id’], false); //завершение платежа
в конце функция должна очищать корзину, но не очищает
непонятно почему, кто нибудь может подсказать ?