если $duration 1 или 3 то мы оставляем как есть если 6 то Оплата покупки справочника "title) ?>"
description: 'Оплата подписки на справочник "title) ?>" на мес.',
вот код
<?php
require_once('db.php');

$connect = connect();
$params = $_GET;

$email = $params['email'] ?? null;
$book_id = $params['book_id'] ?? null;
$duration = $params['duration'] ?? null;





if (!$email) {
	die('email not passed');
} elseif (!$book_id) {
	die('book_id not passed');
} elseif (!$duration) {
	die('duration not passed');
}


switch ($duration) {
	case '1':
		$priceField = 'One';
		break;
	
	case '3':
		$priceField = 'Three';
		$duration = '6';
		break;

	case '6':
		$priceField = 'Six';
		$duration = '360';
		break;

	default:
		die('Invalid duration. Valid values: 1, 3, 6, 12, passed '.$duration);
}

$result = $connect->query('SELECT * FROM users WHERE email = "' . $email . '" LIMIT 1');
$user = $result->fetch_object();
if (!$user) {
	die('User not found');
}
$accountId = $user->id;
$email = $user->email;


$result = $connect->query('SELECT * FROM books WHERE id = ' . $book_id);
$book = $result->fetch_object();
if (!$book) {
	die('Book not found');
}
$amount = $book->$priceField;
if (!$amount) {
	die('Price not found for duration '.$duration);
}



// Получаем текущую дату в формате "день.месяц.год"
$date_create = date('d.m.Y');

// Добавляем количество месяцев к текущей дате и формируем её в нужном формате
$date_expire = date('d.m.Y', strtotime("+$duration months"));

// Выполняем запрос с добавленными датами, записывая их как строки
$connect->query('INSERT INTO payments (user_id, book_id, amount, duration, date_create, date_update) VALUES (' . $accountId . ', ' . $book_id . ', ' . $amount . ', ' . $duration . ', "' . $date_expire . '", "' . $date_create . '")');
$orderId = $connect->insert_id;


?>
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<script src="https://widget.cloudpayments.ru/bundles/cloudpayments.js"></script>
	<script>
function pay() {
    var widget = new cp.CloudPayments();
    
    // Формирование чека
    var receipt = {
        Items: [
            {
                label: "<?= htmlspecialchars($book->title) ?>", // Название товара
                price: <?= htmlspecialchars($amount) ?>, // Цена за единицу
                quantity: 1, // Количество
                amount: <?= htmlspecialchars($amount) ?>, // Общая сумма (price * quantity)
                vat: 0, // Ставка НДС (если применимо)
                method: 0, // Признак способа расчета (если применимо)
                object: 0 // Признак предмета расчета (если применимо)
            }
        ],
        taxationSystem: 2, // Система налогообложения (0-5)
        email: '<?= htmlspecialchars($email) ?>', // Email покупателя для отправки чека
        phone: '', // Телефон покупателя (если имеется)
        amounts: {
            electronic: <?= htmlspecialchars($amount) ?> // Сумма электронных платежей
        }
    };

    widget.pay('charge',
        {
            publicId: 'pk_7b43f14141c7cee5eccb587d72de7', // ID из личного кабинета
            description: 'Оплата подписки на справочник "<?= addslashes($book->title) ?>" на <?= intval($duration) ?> мес.',
            amount: <?= floatval($amount) ?>,
            currency: 'RUB', // Валюта
            accountId: <?= intval($accountId) ?>,
            invoiceId: '<?= addslashes($orderId) ?>',
            email: '<?= addslashes($email) ?>',
            skin: "mini",
            data: {
                CloudPayments: {
                    CustomerReceipt: receipt // Передаем чек в облако платежей
                }
            }
        },
        {
            onSuccess: function (options) { // Успешная оплата
                // Действие при успешной оплате
                console.log('Оплата прошла успешно:', options);
            },
            onFail: function (reason, options) { // Неуспешная оплата
                // Действие при неуспешной оплате
                console.error('Оплата не удалась:', reason);
            },
            onComplete: function (paymentResult, options) { // Завершение оплаты
                // Действие после завершения оплаты
                console.log('Оплата завершена:', paymentResult);
                // Например, вызов вашей аналитики Facebook Pixel
            }
        }
    );
}

		window.addEventListener('load', pay);
	</script>
	<title>Оплата заказа</title>
</head>
<body>
	
</body>
</html>