Здравствуйте, пытаюсь сделать на сайте пополнение кошелька через Яндекс Деньги.
Опыта в этом очень мало, подключал когда то Робокассу, там как то проще, у них на сайте есть Демоверсия и есть коды ошибок, тогда все получилось.
Здесь посложнее, не могу еще толком понять по какой схеме идти. Вариантов 20 уже перепробовал, в основном три ошибки - 1. Деньги приходят, но на счету пользователя не записываются, 2. Верификация не пройдена. SHA1_HASH не совпадает. 3. Сайт api.yandex.ru выполнил переадресацию слишком много раз. или Сайт yandex.ru заблокирован.
Последней вариант - форму составил сам, обработчик нашел на этом форуме.
<form method="POST" action="https://money.yandex.ru/quickpay/confirm.xml">
<input type="hidden" name="shop_id" value="<?=$ppu['shop_id']?>">
<input type="hidden" name="receiver" value="4100177663388159">
<input type="hidden" name="quickpay-form" value="donate">
<input type="hidden" name="targets" value="Пополнение кошелька">
<input type="hidden" name="label" value="<?=$id['user']?>">
<input type="hidden" name="sum" value="<?=$summa_v?>" data-type="number">
<input type="hidden" name="payment_id" value="<?=time()?>">
<input type="hidden" name="baggage_fields" value="<?=$_SESSION['ID_P'][1]?>">
<input type="hidden" name="need-email" value="true">
<input class="submit" type="submit" name="process" value='Пополнить кошелек на сумму <?=$summa_v?> <?=$rru['cena_valuta']?> через платежный шлюз <?=$kassa?>' >
</form>
<?
include ('result.php');
?>
<?
require_once('../connect/connect.php');
$pu=mysqli_query($link,"SELECT * FROM service");
$ppu=mysqli_fetch_array($pu);
$id_user=intval($_REQUEST['baggage_fields']);
$summa=floatval($_REQUEST['sum']);
$key = '4FPtFWmgrdEDPSc9F0+BNNz7';
$id =trim($_POST['label']);
$order =trim($_POST['operation_id']);
$payer =trim($_POST['sender']);
$odate =trim($_POST['datetime']);
$code =trim($_POST['codepro']);
$amount =trim($_POST['amount']);
$wamount =trim($_POST['withdraw_amount']);
$cur =trim($_POST['currency']);
$type =trim($_POST['notification_type']);
$hash =trim($_POST['sha1_hash']);
$hash_gen = hash("sha1", $type.'&'.$order.'&'.$amount.'&'.$cur.'&'.$odate.'&'.$payer.'&'.$code.'&'.$key.'&'.$id);
if($hash_gen!=$hash) {
file_put_contents('history.txt', 'ошибка', FILE_APPEND);
}
file_put_contents('history.txt', $amount, FILE_APPEND);
if(!$pdt) exit();
$r=mysqli_query($link,"SELECT * FROM akk WHERE id_akk='".$id_user."'");
$nr=mysqli_num_rows($r);
if(!$nr) exit();
mysqli_query($link,"INSERT INTO plateg (summa, id_akk, typ, data, opis) VALUES ('".$summa."', '".$id_user."', 1, NOW(), 'Пополнение кошелька через Yandex_money')");
include('../../balans.php');
?>
Кто разбирается подскажите пожалуйста мои ошибки