Download the PHP package agoalofalife/yandex-mone-payout without Composer
On this page you can find all versions of the php package agoalofalife/yandex-mone-payout. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download agoalofalife/yandex-mone-payout
More information about agoalofalife/yandex-mone-payout
Files in agoalofalife/yandex-mone-payout
Package yandex-mone-payout
Short Description Module for integration with YandexMoney Payouts. See https://yookassa.ru/docs/payouts
License MIT
Informations about the package yandex-mone-payout
Библиотека для интеграции с Массовыми выплатами от Яндекс
- Описание
- Установка
-
Как пользоваться?
- Настройка
- Генерация clientOrderId
- Начисление на телефон
- Начисление на яндекс кошелек
- Структура ответа
- Обработка ошибок
- Интеграция с Laravel
- Дополнительный материалы
- Угостить чаем 😌
Как пользоваться?
- Настройка
- Генерация clientOrderId
- Начисление на телефон
- Начисление на яндекс кошелек
- Структура ответа
- Обработка ошибок
- Интеграция с Laravel
Описание
Библиотека предоставляет функционал по начислению денег в яндекс выплаты.
Существует две версии библиотеки:
v1 (Старая версия)
Виды выплат и возможности
✅ PHP 5
✅ На телефон
✅ На яндекс кошелек
✅ На банковскую карту
❌ Интеграция с Laravel
❌ Автоинкрементирование clientOrderId
❌ Сложный API
v2 (Новая версия)
Виды выплат и возможности
✅ PHP >=7.3
✅ На телефон
✅ На яндекс кошелек
❌ На банковскую карту
✅ Интеграция с Laravel
✅ Автоинкрементирование clientOrderId
✅ ClientOrderId через модель Eloquent
✅ ClientOrderId в формате UUID
✅ Легкий API
Установка
Как пользоваться?
Для работы с пакетом вам надо закончить все юридические и технические моменты с яндекс и получить сертификаты для взаимодействия с серверами ЮKassa.
Настройка сертификатов и данных
agentId
Получите у менеджера agentId — идентификатор вашего шлюза в ЮKassa.
cert
Это комбирированный ключ - вам надо выполнить несколько команд:
201111.pem - это обычно 201111.cer (просто переименуйте) - сертификат отправляется Яндексом
private.pem - это приватный ключ который создаете вы до отправки в yandex
После команды вы получите cert.p12
Надо будет выполнить следующую команду:
В итоге вы получите keys.pem
- который и надо вставить в параметр cert
(Абсолютный путь до него)
certPassword
Пароль от сертификата privateKey
privateKey
Абсолютный путь до файла - приватный ключ - который создается на вашей стороне. Вот ссылка как
yaCert
Абсолютный путь до файла - сертификат для расшифровки сообщение от сервера Яндекса
Сертификат выдается по запросы в яндекс, он един для всех и его меняют раз в три года.
Вам необходимо вставить файл с названием deposit_verify_new.cer
Генерация clientOrderId
Далее необходимо выбрать способ генерации clientOrderId:
ℹ️ UUID
YandexPayout\Generators\ClientOrderUuid
Генерация clientOrderId через uuid version 4,
случайным образом генерируется уникальный id
ℹ️ Eloquent Id
YandexPayout\Generators\ClientOrderEloquent
Генерация номера по порядковому номеру id в базе данных через eloquent
модель laravel
ℹ️ Свой вариант
Вы можете реализовать свой способ через интерфейс
YandexPayout\Contracts\GeneratorClientOrderId
- public function getId(): string;
Получение текущего id, например для id из базы - это следующий номер
после крайнего.
- public function generateNextId(): string;
Реализация следуеющего номера - это может быть просто порядковый номер
или как в случае uuid уникальный - зависит от вас. Метод нужен - если
под текущим id - уже есть запись в яндекс и надо повторить запрос с
новым clientOrderId
Начисление на телефон
✅ Проверка возможности осуществлении платежа (testDeposition)
Начисление на яндекс кошелек
✅ Проверка возможности осуществлении платежа (testDeposition)
Структура ответа
Структура ответа $phone->getReport()
Обработка ошибок
В процессе работы с yandex - могут возникнуть ошибки:
- Внутренния ошибка яндекс
- Проблемы с мобильным телефоном
- Истек сертификат
И так далее..
Запросы send
или sendIncrementId
возвращают bool в случае успеха.
Для более читабельного варианта можно использовать isSuccessRequest
Перечень кодов можно прочитать тут
Интеграция с Laravel
Пакет имеет некоторое упрощении в использовании - через контейнер laravel
Скопируем файл конфигурации в папку config
Далее надо передать все настройки и выбрать генератор по-умолчанию
Далее использование - сводится к получению объектов из контейнера. Вы можете получать эти объекты в других местах(контроллеры, очереди) - везде где есть авто resolve
Дополнительный материалы
- Документация яндекса здесь
Угостить чаем или кофем 😌
Этот пакет был создан с целью экономии времени для коллег разработчиков. Если он вам помог сэкономить время - то я буду рад вашей поддержки в виде звезды или скромного доната.
Этот простой знак внимания - даст мне понять - что труды не напрасны.