Добавление нового платежного шлюза (структура)
Мне нужно интегрировать платежный шлюз PayU (через Omnipay) в один из моих веб-сайтов ExpressionEngine2 (2.8.1), поэтому мне нужно написать этот шлюз для корзины покупок (Expresso-Store), которую я использую в своем проекте.
Чтобы добиться этого, я смотрю на другие платежные шлюзы, которые уже включены в аддон магазина, и пытаюсь понять, что там происходит, и пытаюсь следовать этим примерам. К сожалению, в существующих шлюзах комментариев почти нет, и мне бы очень хотелось знать, что происходит в каждом классе, а не "просто следовать примерам". Я вижу, что большинство из них имеют почти одинаковую структуру, хотя в некоторых шлюзах отсутствует класс или функция, или один шлюз обрабатывает вещи, отличающиеся от другого шлюза.
Я также знаю, что мне нужно написать расширение для установки этого нового шлюза, так как метод копирования / вставки - нет, нет, когда вам нужно обновить ваш шлюз.
Моя главная проблема заключается в том, что происходит в getData()
а также sendData()
функции PurchaseRequest
класс и как узнать, какие классы / функции включить?
Любая помощь подойдет. заранее спасибо
1 ответ
Этот вопрос, вероятно, лучше подходит для сайта обмена стека ExpressionEngine, но в любом случае...
В файле Readme Omnipay есть несколько основных инструкций по созданию нового шлюза. Полный пример, вероятно, немного выходит за рамки SO, но в основном getData()
метод форматирует запрос на отправку на шлюз, а sendData()
отправляет это.
Что касается интеграции с Store/EE, вы можете посмотреть на этот шлюз Beanstream, чтобы увидеть, как создать новое расширение, содержащее дополнительный шлюз.