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

Пополнение баланса на сайте через Я.Деньги?

Здравствуйте, пытаюсь сделать на сайте пополнение кошелька через Яндекс Деньги.
Опыта в этом очень мало, подключал когда то Робокассу, там как то проще, у них на сайте есть Демоверсия и есть коды ошибок, тогда все получилось.
Здесь посложнее, не могу еще толком понять по какой схеме идти. Вариантов 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');
?>


Кто разбирается подскажите пожалуйста мои ошибки
  • Вопрос задан
  • 86 просмотров
Подписаться Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
@obkrs Автор вопроса
А что по этому поводу думает Боря Моисеев ? Кода эксперты молчат.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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