| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Готовая библиотека PHP API Client для YourPayments + примеры с комментариями
yourpayments/php-api-client — это PHP библиотека для быстрой и удобной интеграции с платежным шлюзом YourPayments. С её помощью можно принимать оплаты и создавать выплаты, получать отчёты, делать возвраты и работать с подпискам.
Библиотека ориентирована на простое и надёжное использование, подходит как для опытных, так и для начинающих разработчиков.
Пример быстрого старта для приёма платежей:
$merchant = new Merchant('MERCHANT_CODE', 'SECRET_KEY'); // Коды подключения API
$merchantPaymentReference = 123; // Номер заказа в вашей системе
$billing = (new Billing)
->setCountryCode('RU') // Страна Плательщика
->setFirstName('Иван') // Имя Плательщика
->setLastName('Петров') // Фамилия Плательщика
->setEmail('test1@ypmn.ru') // Почта Плательщика
->setPhone('+74996492009') // Телефон Плательщика
->setCity('Москва'); // Город Плательщика
$client = (new Client)->setBilling($billing);
$payment = (new Payment)
->addProduct(new Product([
'name' => 'Заказ №' . $merchantPaymentReference, // Наименование товарной позиции
'sku' => 'test_artikul', // Артикул
'unitPrice' => 20.42, // Стоимость единицы
'quantity' => 1, // Количество
]));
$payment_method = $_GET['method'] ?? PaymentMethods::CCVISAMC; // Определим платёжный метод
$authorization = new Authorization($payment_method, true);
$payment->setAuthorization($authorization);
$payment->setMerchantPaymentReference($merchantPaymentReference);
$payment->setSuccessUrl('https://' . $_SERVER['HTTP_HOST'] . '/?status=success'); // Редирект после успешной оплаты
$payment->setFailUrl('https://' . $_SERVER['HTTP_HOST'] . '/?status=success'); // Редирект в случае неоплаты
$payment->setClient($client);
$apiRequest = new ApiRequest($merchant);
$responseData = $apiRequest->sendAuthRequest($payment, $merchant);
$responseData = json_decode((string) $responseData["response"], true); // Отправка запроса и обработка ответа
if (isset($responseData["paymentResult"])) {
if (!empty($responseData['paymentResult']['bankResponseDetails']['customBankNode']['qr'])) {
$qr = $responseData['paymentResult']['bankResponseDetails']['customBankNode']['qr'];
}
// Выведем кнопку оплаты (рекомендуется)
echo Std::drawYpmnButton([
'qr' => ($qr ?? null),
'url' => $responseData['paymentResult']['url'] ?? '',
'sum' => $payment->sumProductsAmount() ?? 0,
'payment_method' => $payment_method ?? null,
'newpage' => true,
]);
// .. или сделаем редирект на форму оплаты (опционально)
// Std::redirect($responseData["paymentResult"]['url']);
}Особенностями системы являются:
Библиотека содержит:
Установка с пакета composer -- самый простой и рекомендуемый способ:
composer require yourpayments/php-api-clientЕсли на вашем проекте нет Composer, склонируйте или скачайте, а затем подключите файлы этого репозитория, (пример)
php -S localhost:8080 index.phpПосле запуска по адресу http://localhost:8080 будут доступны интерактивные примеры в следующем виде:

Создайте и запустите docker контейнер следующей командой:
docker compose upЛибо в фоновом режиме командой:
docker compose up --detachПосле выполнения сервис с документацией и примерами будет доступен по адресу http://localhost:8080/
Рекуррентные платежи
Запомнить данные клиента, чтобы не запрашивать и не вводить их повторно
Добавление сабмерчантов маркетплейсов по API
Вебхуки -- HTTP запросы, оповещающие ваш сервер о событиях (успешные и неуспешные оплаты, списания)
Библиотека выбрасывает один вид исключений: Ypmn\PaymentException.
Пример перехвата исключения можно посмотреть в примере: Cамый простой платёж
Обновления библиотеки позволяют быстро исправлять ошибки и получать доступ к новым функциям
composer update yourpayments/php-api-client🟢 «Твои Платежи» -- финтех для сайтов, платформ и приложений
| Back | FazBrowse Home | New Git URL |