An open API service indexing awesome lists of open source software.

https://github.com/darkfriend/bitrix_dev2fun.stripepayment

Модуль позволяет начать принимать оплату через платежную систему Stripe.
https://github.com/darkfriend/bitrix_dev2fun.stripepayment

bitrix card giropay iban module payment php sepa-debit sofort solution stripe

Last synced: 7 months ago
JSON representation

Модуль позволяет начать принимать оплату через платежную систему Stripe.

Awesome Lists containing this project

README

          

# Платежный модуль Stripe

Модуль позволяет начать принимать оплату через платежную систему Stripe.

### Способы оплаты

* Банковские карты (Card)
* Кредитные карты (CreditCard)
* Sepa Debit / IBAN
* Sofort
* Giropay

### Поддерживаемая версия STRIPE API

`2023-08-16`

## Инструкция

1. Узнать используемую кодировку (dbconn.php или after_connect_d7.php или after_connect.php)
1. Проверить права у папки modules
1. Скопировать файлы из нужной папки репозитория (utf8 или win1251) на свой сервер в папку /bitrix/modules/
1. Перейти в административную панель
1. Установить модуль в административной панели.
1. Прочитать сообщение
1. Зайти в Магазин -> Настройки -> Платежные системы -> Добавить платежную систему
1. В пункте "Обработчик", выбираем stripe.
1. Название (NAME) обязательно должно быть Stripe или stripe (иначе вебхук не будет работать)
1. В полях ниже указываем свои данные
1. Настраиваем вебхуки
* Копируем обработчик вебхука stripeWebhook.php, который в корне папки модуля. Копируем в любое публичное место проекта. После указываем путь до обработчика в кабинете stripe.com
* Переходим в кабинет stripe.com
* указываем url-путь до файла `stripeWebhook.php`
* добавляем вебхуки на события:
* `charge.succeeded`
* `checkout.session.completed`
* версия API `2023-08-16`
1. Поблагодарить автора :)
1. Использовать.

## Поддержка режимов:
* тестовый режим (demo mode) - по умолчанию
* боевой режим (live mode)

## Поддержка шаблонов:
* **REDIRECT** - шаблон при котором происходит сразу редирект на платежную страницу stripe.com
* **CUSTOM** - выводится форма, с поддержкой card, Sepa Debit/IBAN, Sofort, Giropay

Куда класть свой шаблон?

_Вы можете создать свой шаблон вывода и в последующем выбрать его в настройках._

Вам нужно положить свой шаблон в одну из нижеследующих каталогов (пути от корня сайта):
* `/local/php_interface/sale_payment/stripe/templates/`
* `/bitrix/php_interface/sale_payment/stripe/templates/`

_Последовательность соблюдена._\
_Совпадения имен игнорируются._

### Как править шаблон
1. копируем шаблон в папку с новым шаблонов (название должно отличаться)
1. заходим в папку с шаблоном и выполняем `npm i` (установка пакетов)
1. правим шаблон
1. в конце делаем `npm run build` (билдим шаблон)
1. теперь можно удалить папку `node_modules`, которая в корне шаблона (ну или оставьте, если не мешает)

## Обновления (migrations)
При обновлении с версии на версию через git, смотрите в папку migrations.

**Миграции применяются после обновления файлов!**

Если на версию на которую вы переходите есть соответствующая миграция, то обязательно применяйте её.

Также настоятельно рекомендую после обновления применять файл ``upgrade.php`` из migrations (он актуализируют скрипты в `bitrix/php_interface/include/sale_payment`)

## Поддержка событий:

* **OnBeforeStripeCharge** - вызывается после создания customer.\
**Передаются параметры:**
* `&$arCreateFields` - массив, который дальше идет в `\Stripe\Charge::create`
* `$customer` - объект от `\Stripe\Customer::create`

* **OnBeforeUpdateOrder** - вызывается после получения статуса оплаты.\
Передаются параметры:
* `&$arFields` - массив полей, который идет в обновление заказа (`CSaleOrder::Update`)
* `$charge` - объект от `\Stripe\Charge::create`
* `$orderID` - идентификатор заказа

* **OnBeforeSuccessOutput** - вызывается перед выводом сообщения о успехе.\
Передаются параметры:
* `&$output` - строка или HTML-код, которая выведет результат.
* `$arFields` - массив полей от заказа (тот же, что был в `CSaleOrder::Update`)
* `$orderID` - идентификатор заказа

* **OnBeforeErrorOutput** - вызывается перед выводом сообщения об ошибке.\
Передаются параметры:
* `&$error` - строка или HTML-код, которая выведет ошибку.
* `$errorText` - строка с сообщением ошибки
* `$arFields` - массив полей от заказа (тот же, что был в `CSaleOrder::Update`)
* `$orderID` - идентификатор заказа
Если есть нарекания или предложения по улучшению модуля пишите на почту техподдержки.