@Macan

Отправка письма после успешной оплаты QIWI Api, как подтвердить оплату?

1. Есть форма в index.htm, после заполнения всех обязательных полей, по нажатию на кнопку "Купить", объект с данными оправляется в файл test.php.
btn.addEventListener('click', e => {
        e.preventDefault();
        formObj.name = firstname.value;
        formObj.lastName = lastname.value;
        formObj.email = emailEl.value;
        formObj.randomNum = random();

        fetch('http://localhost:8888/test.php', {
            method: 'POST',
            headers: {
                'Content-Type': 'application/json'
            },
            body: JSON.stringify(formObj)
        })
            .then(response => response.json())
            .then(result => {
                console.log(result);
                window.open(result, '_blank');
            })
    })


В файле test.php подключаю qiwi api, содаю ссылку для выставления счета и возвращаю
$billPayments = new Qiwi\Api\BillPayments(SECRET_KEY);
$billId = strval($userNum);
$fields = [
    'amount' => 1.00,
    'currency' => 'RUB',
    'comment' => 'test',
    'expirationDateTime' => '2023-03-02T08:44:07+03:00',
];
$response = $billPayments->createBill($billId, $fields);
echo json_encode($response['payUrl']);

Открывается новая вкладка, делаю оплату, во время клика по кнопке у счета статус "WAITING", т.е. ожидает оплаты. Вопрос, каким образом отследить когда статус измениться на "PAID", и после этого с помощью PHPMailer отправить письмо?
  • Вопрос задан
  • 109 просмотров
Пригласить эксперта
Ответы на вопрос 1
@rPman
вебхуки, еще немного про это
ищи в своей библиотеки их поддержку

qiwi будет слать http запрос на указанный адрес (т.е. он должен быть виден из интернета) если платеж завершился или был отменен

p.s. это? кажется вебхуков тут нет
делай этот запрос периодически
billPayments->getBillInfo($billId);
и смотри в ответе ->status->value
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы