РЕШЕНО Выплаты - Ошибка 4

demonberkyt

Участник
Добрый день камрады. Решил поставить скрипт полуавтомат. вывода (с форума). Настроил апи\мерчант, все вроде работает, но при подтверждении вывода в админке, выскакивает эта ошибкаСнимок.PNG
Нашел в коде обьяснение ошибки
if (!empty($arTransfer["historyId"])) {
$ppid = $arTransfer["historyId"];
$db->Query("UPDATE db_request_payment SET status = '3' WHERE id = '$payed'");
$db->Query("UPDATE db_payment SET status = '3' WHERE id = '$paymentid'");
$db->Query("UPDATE db_payment SET payment_id = '$ppid' WHERE id = '$paymentid'");

} else echo 'Ошибка 4';

Как я понял, связано с каким-то трансфером, но понятия не имею что с этим делать. На одном форуме наткнулся на такую запись
"Дело не в восьмизначных кошельках. Это код проверяет наличие номера транзакции, а не кошельков.
У меня тоже, с недавнего времени, почему-то некоторые кошельки пользователей не проходят эту проверку. Кто-то получает выплату, а кто-то нет. Выясняю причину." Разумеется решения он не подсказал, есть у кого идеи?
На всяк. случай прикладываю файл _payments_reg.php, откуда код выше и был взят
 

Вложения

pligin

Команда форума
Администратор
Добрый день камрады. Решил поставить скрипт полуавтомат. вывода (с форума). Настроил апи\мерчант, все вроде работает, но при подтверждении вывода в админке, выскакивает эта ошибкаПосмотреть вложение 2974
Нашел в коде обьяснение ошибки
if (!empty($arTransfer["historyId"])) {
$ppid = $arTransfer["historyId"];
$db->Query("UPDATE db_request_payment SET status = '3' WHERE id = '$payed'");
$db->Query("UPDATE db_payment SET status = '3' WHERE id = '$paymentid'");
$db->Query("UPDATE db_payment SET payment_id = '$ppid' WHERE id = '$paymentid'");

} else echo 'Ошибка 4';

Как я понял, связано с каким-то трансфером, но понятия не имею что с этим делать. На одном форуме наткнулся на такую запись
"Дело не в восьмизначных кошельках. Это код проверяет наличие номера транзакции, а не кошельков.
У меня тоже, с недавнего времени, почему-то некоторые кошельки пользователей не проходят эту проверку. Кто-то получает выплату, а кто-то нет. Выясняю причину." Разумеется решения он не подсказал, есть у кого идеи?
На всяк. случай прикладываю файл _payments_reg.php, откуда код выше и был взят
Это связано с тем, что кто-то не читал документацию и наугад придумал возможно рабочий алгоритм
Трансфер согласно документации Payeer
PHP:
<?php
require_once('cpayeer.php');
$accountNumber = 'P8706145';
$apiId = '54507560';
$apiKey = '****************';
$payeer = new CPayeer($accountNumber, $apiId, $apiKey);
if ($payeer->isAuth())
{
    $arTransfer = $payeer->transfer(array(
        'curIn' => 'USD',
        'sum' => 1,
        'curOut' => 'USD',
        //'sumOut' => 1,
        'to' => 'P1000000',
        //'to' => 'client@mail.com',
        //'comment' => 'test',
        //'protect' => 'Y',
        //'protectPeriod' => '3',
        //'protectCode' => '12345',
    ));
    if (empty($arTransfer['errors']))
    {
        echo $arTransfer['historyId'].": Money transfer is successful";
    }
    else
    {
        echo '<pre>'.print_r($arTransfer["errors"], true).'</pre>';
    }
}
else
{
    echo '<pre>'.print_r($payeer->getErrors(), true).'</pre>';
}
?>
 

demonberkyt

Участник
Это связано с тем, что кто-то не читал документацию и наугад придумал возможно рабочий алгоритм
Трансфер согласно документации Payeer
PHP:
<?php
require_once('cpayeer.php');
$accountNumber = 'P8706145';
$apiId = '54507560';
$apiKey = '****************';
$payeer = new CPayeer($accountNumber, $apiId, $apiKey);
if ($payeer->isAuth())
{
    $arTransfer = $payeer->transfer(array(
        'curIn' => 'USD',
        'sum' => 1,
        'curOut' => 'USD',
        //'sumOut' => 1,
        'to' => 'P1000000',
        //'to' => 'client@mail.com',
        //'comment' => 'test',
        //'protect' => 'Y',
        //'protectPeriod' => '3',
        //'protectCode' => '12345',
    ));
    if (empty($arTransfer['errors']))
    {
        echo $arTransfer['historyId'].": Money transfer is successful";
    }
    else
    {
        echo '<pre>'.print_r($arTransfer["errors"], true).'</pre>';
    }
}
else
{
    echo '<pre>'.print_r($payeer->getErrors(), true).'</pre>';
}
?>
Не совсем понял, что с этим нужно делать, похожий код видел в accounts/_payments
 

demonberkyt

Участник
Разобрался с выплатами. Спасибо за помощь :)
ЧТобы не плодить темы, сразу тут спрошу.
Не обновляется поле "Вы получите *** рублей". Всегда 0. Помню где-то находил решение, но сейчас что-то найти не могу
Снимок.PNG
 

pligin

Команда форума
Администратор
Разобрался с выплатами. Спасибо за помощь :)
ЧТобы не плодить темы, сразу тут спрошу.
Не обновляется поле "Вы получите *** рублей". Всегда 0. Помню где-то находил решение, но сейчас что-то найти не могу
Посмотреть вложение 2978
Для этого и сделан форум. Новый вопрос - новая тема...
 
Верх