Задать вопрос
@kolu3310

Запись в бд после оплаты юмани?

<?php
$secret = 'K5zZ26BQZFhMNJYSl7txd3hW'; // секрет, который мы получили в первом шаге от яндекс.
// получение данных.
$r = array(
	'notification_type' => $_POST['notification_type'], // p2p-incoming / card-incoming - с кошелька / с карты
	'operation_id'      => $_POST['operation_id'],      // Идентификатор операции в истории счета получателя.
	'amount'            => $_POST['amount'],            // Сумма, которая зачислена на счет получателя.
	'withdraw_amount'   => $_POST['withdraw_amount'],   // Сумма, которая списана со счета отправителя.
	'currency'          => $_POST['intval'],            // Код валюты — всегда 643 (рубль РФ согласно ISO 4217).
	'datetime'          => $_POST['datetime'],          // Дата и время совершения перевода.
	'sender'            => $_POST['sender'],            // Для переводов из кошелька — номер счета отправителя. Для переводов с произвольной карты — параметр содержит пустую строку.
	'codepro'           => $_POST['codepro'],           // Для переводов из кошелька — перевод защищен кодом протекции. Для переводов с произвольной карты — всегда false.
	'label'             => $_POST['label'],             // Метка платежа. Если ее нет, параметр содержит пустую строку.
	'sha1_hash'         => $_POST['sha1_hash']          // SHA-1 hash параметров уведомления.
);

// проверка хеш
if (sha1($r['notification_type'].'&'.
         $r['operation_id'].'&'.
         $r['amount'].'&'.
         $r['currency'].'&'.
         $r['datetime'].'&'.
         $r['sender'].'&'.
         $r['codepro'].'&'.
         $secret.'&'.
         $r['label']) != $r['sha1_hash']) {
	exit('Верификация не пройдена. SHA1_HASH не совпадает.'); // останавливаем скрипт. у вас тут может быть свой код.
}

// обработаем данные. нас интересует основной параметр label и withdraw_amount для получения денег без комиссии для пользователя.
// либо если вы хотите обременить пользователя комиссией - amount, но при этом надо учесть, что яндекс на странице платежа будет писать "без комиссии".

// дальше ваш код для обновления баланса пользователя / для вставки полученного платежа в историю платежей, например:
db_query('INSERT INTO adv_ceplink (urlsite,text,ip,date,begindate) VALUES('.$r['label'].', ',$r['amount']', ',$r['operation_id']', ',$r['datetime']', ',$r['withdraw_amount']')'); // ваш запрос в базу

?>


Но я хочу не обновить а добавить в бд, как лучше прописать для юмани https://yoomoney.ru/docs/payment-buttons/using-api...
Чтобы добавилась ссылка и описание в бд для этого сайта https://kdomy.ru/adv-ceplink-add
  • Вопрос задан
  • 247 просмотров
Подписаться 1 Сложный 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
SagePtr
@SagePtr
Еда - это святое
Разбейте задачу на две подзадачи:
1) Проверить валидность платежа
2) Записать переданную информацию в базу данных
И каждую из подзадач решить отдельно, а не пытаться искать решение для всего сразу.
Ответ написан
Ваш ответ на вопрос

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

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