Разработка платёжного модуля для WebAsyst (взята версия 307)

webasyst currency
Есть такой важный момент. Так как у нас на платёжный шлюз идет только гривна (в Украине все платежи между покупателями и продавцами официально должны производиться только в гривне), то нужно для начала убедиться, что у нас есть такая валюта — ну, а вдруг в нашем интернет-магазине цены указаны только в долларах и рублях:) .
Делаем это в админке WebAsyst -> верхнее меню Магазин -> Настройки -> Валюты

 

webasyst currency
Ежели такой валюты у нас нет, то жмём на линк «Добавить валюту» и заполняем поля так, как на картинке. Следует подчеркнуть, что код валюты ISO 3 для гривны = UAH. После жмём на «Сохранить». Теперь мы должны указать курс гривны относительно основной валюты магазина. Посмотреть котировку валют можно, например, на этом удобном сайте.

Админка модуля

webasyst upc module admin
webasyst upc module admin
webasyst upc module admin

Оформление заказа

Валюта магазина может быть любой (в нашем случае — это USD), но при переходе на платёжный шлюз мы ее корректно конвертируем в гривны.

webasyst upc payment module
webasyst upc payment module

И, собственно, сам платёжный шлюз

webasyst upc paymen module

В результате успешной транзакции автоматично изменяется статус заказа и добавляется комментарий. Если мы включим режим отладки, то в комментарии это будет указано Без режима отладки в комментарий дописывается номер транзакции, —  в интерфейсе торговца это поможет ее быстрее отыскать.

Результат транзакции в админке магазина Webasyst

webasyst upc paymen module
webasyst upc paymen module

В модуле реализована доставка ответа по адресу NOTIFY_URL.
Добавлена обработка кодов ошибок транзакции.
В случае неудачной транзакции — допустим, у покупателя недостаточно средств на счете — автоматично делается  комментарий с соответствующей ошибкой к заказу.

webasyst upc paymen module
webasyst upc paymen module