Skip to content

payqrphpdev/php-module

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

##Библиотека для быстрой интеграции PayQR на интернет-сайты (PHP 5.x)

  • Версия библиотеки: 2.0
  • Помощь, вопросы и сообщения об ошибках: api@payqr.ru
  • Рекомендуемые сферы применения: интернет-магазины, онлайн-сервисы, браузерные игры
  • API PayQR и библиотека PayQR обладают большим количеством функций и возможностей, часть из которых нужна только небольшому количеству интернет-сайтов. Для ускорения и упрощения интеграции реализуйте у себя только то, что актуально для бизнес-логики конкретно вашего интернет-сайта, остальное игнорируйте и оставляйте "как есть" (оно по умолчанию работоспособно в библиотеке и уже корректно взаимодействует с API PayQR).

Для установки модуля пройдите /module/index.php?path=install

##Структура библиотеки:

|- example // примеры для ознакомления по принятию уведомлений от PayQR и направлению запросов в PayQR
    |- button.php // файл примера работы с конструктором кнопки PayQR
    |- sender.php // файл примера работы с запросами в PayQR
|- handlers // классы обработчиков уведомлений
    |- InvoiceHandler.php // класс обработки уведомлений объекта invoice
    |- OfferHandler.php // класс обработки уведомлений объекта offer
    |- PayqrOrder.php // дополнительный класс для работы с заказом (создать заказ, подтвердить заказ, получить пункты доставки/самовывоза)
    |- ReceiptHandler.php // класс обработки уведомлений объекта receipt
    |- RevertHandler.php // класс обработки уведомлений объекта revert
|- library // классы для работы библиотеки
    |- actions // классы для отправки запрсовов на сервер PayQR
        |- PayqrAction // базовый класс для отправки запросов
        |- PayqrInvoiceAction // класс для отправки запросов по инвойсам (возврат денег, отправка сообщений, подтверждение заказа и т.д.)
        |- PayqrRevertAction // класс для отправки запросов по возвратам (получение информации о возврате)
    |- button // классы для создания кнопки
        |- PayqrButton // базовый класс для создания кнопки программным путём
        |- PayqrButtonGenerator // класс для генерации кнопки (в основном для разработки модуля для цмс)
    |- events // классы для обработки уведомлений от сервера PayQR
        |- PayqrEvent // базовый класс для обработки уведомлений
        |- PayqrInvoice // класс для работы с уведомлений объекта invoice
        |- PayqrOffer.php // класс для работы с уведомлений объекта offer
        |- PayqrReceipt.php // класс для работы с уведомлений объекта receipt
        |- PayqrRevert.php // класс для работы с уведомлений объекта revert
    |- request // классы для отправки http запрсовов на сервер PayQR
        |- PayqrCurl // отправка http запрсовов методом curl
        |- PayqrRequest // базовый класс для отправки http запросов
        |- PayqrSocket // отправка http запрсовов через сокет (в случае если по каким-либо причинам в пхп отключён curl)
    |- PayqrAuth // класс для проверки, что запросы приходят именно от сервера PayQR
    |- PayqrAutoload // класс для автоподгрузки всех классов в библиотеке
    |- PayqrBase // базовый класс библиотеки
    |- PayqrExeption // класс для обработки исключений, случившихся во время работы библиотеки
    |- PayqrJsonValidator // класс для проверки валидности json строки, а также правильного конвертирования в json строку одинарных и двойных кавычек
    |- PayqrLog // класс для логирования работы библиотеки
    |- PayqrReceiver // класс для обработки уведомлений от сервера PayQR
|- logs // файл с логами библиотеки
    |- .htaccess // файл .htaccess для закрытия прямого доступа к файлу логов
    |- payqr.log // файл с логами
|- PayqrConfig.php // класс конфигурации, подключает все необходимые классы для работы
|- README.md // файл с описанием работы библиотеки
|- handler.php // основной файл, принимающий уведомления от PayQR (абсолютная ссылка на него указывается в личном кабинете PayQR в поле "URL для уведомлений")
|- log.php // пхп файл для просмотра логов по ключу

Для быстрой интеграции с PayQR достаточно:

  1. Распаковать архив данной библиотеки PayQR на хостинг своего интернет-сайта (желательно в отдельную папку payqr)

  2. Указать в личном кабинете PayQR в настройках своего "Магазина" в поле "URL для уведомлений" ссылку на файл handler.php из состава библиотеки PayQR

  3. Внести номер магазина (merchId) и секретные ключи (SecretKeyIn и SecretKeyOut) из личного кабинета PayQR в файл PayqrConfig.php из состава библиотеки PayQR

Этого хватит для того, чтобы совершение покупки в PayQR осуществлялось покупателем без ошибок. Дальше останется только прописать реакцию магазин на те или иные уведомления в файлах папки handlers из состава библиотеки PayQR.


Чтобы вы смогли корректно учитывать данные о покупателях и покупках в учетной системе своего интернет-сайта, а также взаимодействовать с PayQR по обмену информацией, вам необходимо вставить свой код реализации логики обработки уведомлений от PayQR в классы в папке /handlers.


Также ваш интернет-сайт может самостоятельно посылать определенные запросы в PayQR. Для этого используйте классы из папки /library/actions


Пример простейшего подключения PayQR к учетной системе интернет-сайта, представлен в файле handler.php

###Документация

##Версии библиотеки

####Изменения в версии 1.0.1

  • Добавлена функция payqr_base::getallheaders() для замены getallheaders(), которая недоступна в PHP ниже 5.4 при использовнии FastCGI. В более раниих версиях она была доступна только если PHP был установлен как модуль Apache. Подробнее http://php.net/manual/ru/function.getallheaders.php.
  • Добавлена проверка используемой версии PHP. Данная библиотека предназначена для работы на PHP 5.x, для устаревшей версии PHP 4.x доступна специальная версия библиотеки PayQR, которую нужно скачивать отдельно с сайта PayQR.
  • Добавлен класс payqr_no_curl.php. Теперь для отправки запросов в PayQR наличие cURL на сервере интернет-сайта необязательно, но PayQR все равно крайне рекомендует использовать именно cURL для осуществления запросов в PayQR. Если на вашем сервере отсутствует cURL, обратитесь к своему системному администратору или в службу поддержки хостинги для его активации, также вы можете установить cURL самостоятельно (подробнее http://php.net/manual/ru/curl.installation.php).

####Изменения в версии 1.0.2

  • Улучшена система логирования. Теперь логи стали более информативными и подробными.
  • Добавлено удаление пробелов при обработке значений переменных из файла конфигурации.

####Изменения в версии 1.1

  • Добавлен класс payqr_button.php. Теперь коды кнопок PayQR генерировать и размещать на интернет-сайтах стало еще проще.
  • В классы payqr_invoice.php и payqr_revert.php добавлен метод определения режима работы получаемых уведомлений от PayQR ("боевой" или "тестовый").

####Изменения в версии 1.1.1

  • Обновлены классы payqr_json_validator.php и payqr_button.php.

####Изменения в версии 2.0

  • Произведён полный редизайн библиотеки
  • Переписаны все классы в соответсвии с увеличеним функционала работы сервиса PayQR

##Модуль для CMS. Модуль представляет собой набор базовых методов присущих всем CMS. Сюда входит: 1)Создание табличек с настройками кнопки и заказами 2)Прослойка для работы с бд 3)Настройка кнопки

###Структура файлов.

|- module // основная папка с файлами модуля
    |- auth // файлы для работы с авторизацией пользователя
        |- PayqrModuleAuth.php // класс для авторизации
        |- index.php // страничка с формой авторизации
    |- button // файлы для настройки кнопки
        |- PayqrButtonDefaultSettings.php // класс для установки дефолтных значений для некоторых настроек кнопки
        |- PayqrButtonGenerator.php // класс для генерации кнопки
        |- PayqrButtonPage.php // класс для генерации странички настройки кнопки
        |- button.settings.php // массив с настройками кнопки
        |- index.php // страничка с настройкой кнопки
    |- install // файлы для установки модуля и структуры бд
        |- PayqrModuleInstall.php // класс для установки модуля
        |- index.php // страничка с пошаговой установкой модуля
    |- orm // файлы для работы с бд
        |- PayqrModuleDb.php // класс для доступа к бд
        |- PayqrModuleDbConfig.php // класс с настройками доступа к бд
    |- PayqrModule.php // основной класс модуля

Перед установкой модуля

  1. Задайте значения урла, где будет храниться папка payqr PayqrConfig::$baseUrl

  2. Задайте значения файла логов payqr PayqrConfig::$logFile

Доступ к модулю. По умолчанию доступ будет осуществляться по юрлу /payqr/handler.php. Однако некоторые цмс могут закрыть доступ к файлам внутри проекта. Для открытия доступа необходимо создать файл .htaccess в папке payqr, и добавить туда следующий код

RewriteCond %{REQUEST_URI} ^/payqr/
RewriteRule ^(.*)/$ payqr/$1 [L]

Точка входа. Для вызова функций цмс (создание заказа, получение способов доставки и т.д.) нужно подключить точку входа цмс внутри модуля. Для этого подключите точку входа в методе PayqrReceiver::__construct()

About

PayQR library for fast cms module development

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages