PHP code example of agoalofalife / yandex-mone-payout
1. Go to this page and download the library: Download agoalofalife/yandex-mone-payout library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
agoalofalife / yandex-mone-payout example snippets
$generator = new \YandexPayout\Generators\ClientOrderUuid();
$generator = new \YandexPayout\Generators\ClientOrderEloquent(new \App\Models\YandexPayout());
// Передаем настройки
$settings = new Settings();
$settings->agentId = '';
$settings->cert = '';
$settings->certPassword = '';
$settings->privateKey = '';
$settings->yaCert = '';
// Выбираем генератор
$generator = new \YandexPayout\Generators\ClientOrderEloquent(new \App\Models\Reward\MoneyReward\Drivers\YandexPayout());
$phone = new \YandexPayout\Accounts\Phone($settings, $generator);
$phone->setDstAccount('79052075556'); // передаем номер строго так
$phone->setAmount(1);// сумма - ожидает float
$phone->setContract('Тестовый платеж');
// Далее несколько стратегий отправки
$phone->canSend(); // разовый запрос можно ли отправить деньги
$phone->send(); // сразу попытаться отправить или после информации
// от метода выше
$phone->sendIncrementId(); // будут произвоидится попытки начисления
// денег - с последующей генерации следующего clientOrderId, пока
// никакаих ограничений нет - будет до победного
$phone->getReport(); // получение отчета о запросе - где данные об
// ответе сервиса и данные из запроса, для получения данных -
// предоставлены get методы
// Передаем настройки
$settings = new Settings();
$settings->agentId = '';
$settings->cert = '';
$settings->certPassword = '';
$settings->privateKey = '';
$settings->yaCert = '';
// Выбираем генератор
$generator = new \YandexPayout\Generators\ClientOrderUuid();
$phone = new \YandexPayout\Accounts\YandexPurse($settings, $generator);
$phone->setDstAccount('4100116075156746'); // передаем номер строго так
$phone->setAmount(1);// сумма - ожидает float
$phone->setContract('Тестовый платеж');
// Далее несколько стратегий отправки
$phone->canSend(); // разовый запрос можно ли отправить деньги
$phone->send(); // сразу попытаться отправить или после информации
// от метода выше
$phone->sendIncrementId(); // будут произвоидится попытки начисления
// денег - с последующей генерации следующего clientOrderId, пока
// никакаих ограничений нет - будет до победного
$phone->getReport(); // получение отчета о запросе - где данные об
// ответе сервиса и данные из запроса, для получения данных -
// предоставлены get методы
// Примерная структура такая
YandexPayout\ReportOfRequest {#1637 ▼
-clientOrderId: "1"
-amount: 1.0
-dstAccount: "79052075556"
-contract: "Тестовый платеж"
-agentId: "201111"
-currency: 643
-response: YandexPayout\Response\Response {#1652 ▼ // Объект
// response можно получить через метод $phone->getReport()->response()
-balance: "200.36"
-processedDT: "2021-10-20T21:29:50.747+03:00"
-identification: "reviewed"
-techMessage: null
-status: "0"
-error: null
}
}
// ....
$phone->sendIncrementId();
if ($phone->isSuccessRequest()) {
// save storage
} else {
$phone->getReport()->response()->getStatus();// самостоятельная обработка
$phone->getReport()->response()->getError();// код ошибка
}