Добавление нового платежного шлюза (структура)

Мне нужно интегрировать платежный шлюз PayU (через Omnipay) в один из моих веб-сайтов ExpressionEngine2 (2.8.1), поэтому мне нужно написать этот шлюз для корзины покупок (Expresso-Store), которую я использую в своем проекте.

Чтобы добиться этого, я смотрю на другие платежные шлюзы, которые уже включены в аддон магазина, и пытаюсь понять, что там происходит, и пытаюсь следовать этим примерам. К сожалению, в существующих шлюзах комментариев почти нет, и мне бы очень хотелось знать, что происходит в каждом классе, а не "просто следовать примерам". Я вижу, что большинство из них имеют почти одинаковую структуру, хотя в некоторых шлюзах отсутствует класс или функция, или один шлюз обрабатывает вещи, отличающиеся от другого шлюза.

Я также знаю, что мне нужно написать расширение для установки этого нового шлюза, так как метод копирования / вставки - нет, нет, когда вам нужно обновить ваш шлюз.

Моя главная проблема заключается в том, что происходит в getData() а также sendData() функции PurchaseRequest класс и как узнать, какие классы / функции включить?

Любая помощь подойдет. заранее спасибо

1 ответ

Решение

Этот вопрос, вероятно, лучше подходит для сайта обмена стека ExpressionEngine, но в любом случае...

В файле Readme Omnipay есть несколько основных инструкций по созданию нового шлюза. Полный пример, вероятно, немного выходит за рамки SO, но в основном getData() метод форматирует запрос на отправку на шлюз, а sendData() отправляет это.

Что касается интеграции с Store/EE, вы можете посмотреть на этот шлюз Beanstream, чтобы увидеть, как создать новое расширение, содержащее дополнительный шлюз.

Другие вопросы по тегам