Fondy

Матеріал з NoDeny
Версія від 14:55, 25 червня 2021, створена Sv (обговорення | внесок) (→‎Оплата без участия абонента)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Описание

Fondy - платежная система, работающая в Украине, России и в Европе. Преимуществом является возможность осуществлять выплаты не только юридическим лицам, но и физлицам на пластиковые карты.

Процесс оплаты

Абонент заходит в личный кабинет и в разделе «Оплата через сервис Fondy» вводит сумму, на которую желает пополнить счет. Если в данный момент баланс отрицательный, модуль подсказывает сумму. После этого абонент переходит на сайт Fondy и вводит реквизиты пластиковой карты. После успешной оплаты, сервис Fondy связывается с вашим сервером NoDeny и платеж проводится в вашей системе. Обычно это происходит довольно быстро.


Дополнительные возможности модуля:

  • Позволяет переложить комиссию на абонента как процент от суммы платежа
  • Позволяет использовать для разных абонентов разные мерчанты. Например, в вашей организации будет несколько предпринимателей, между которыми вы хотите распределять поступления с оплат абонентов

Настройка

После регистрации и создания мерчанта в Fondy, там же необходимо зайти в технические настройки вашего магазина (мерчанта) и получить 2 параметра: id мерчанта и ключ платежа (публичный и приватный ключи). Эти параметры внести в настройки в раздел «Платежные системы» → «Fondy» в админке вашего биллинга. Заполните остальные параметры этого раздела и не забудьте, как там указано в комментарии проверить «Url NoDeny обработчика ответов от API Fondy».


Осуществите тестовую оплату. Через небольшое время посмотрите, не появился ли платеж в NoDeny на заданную сумму. Если нет, смотрите логи:

/usr/local/nodeny/logs/fondy_err.log
/usr/local/nodeny/logs/fondy_ok.log

Вы можете запросить повторную посылку сигнала «платеж успешен» на странице Fondy - это называется «послать callback».

Несколько мерчантов

Если вы хотите, чтобы оплаты шли через разные мерчанты для разных клиентов, вам нужно:

  • Создать дополнительное поле с именем, например, «ФОП куратора» или «Мерчант», с именем поля в бд «_merchant» и типом «выпадающий список». Это поле будет говорить о том, какой мерчант использовать при оплате
  • У абонентов заполнить это поле, допустим будут такие варианты:
    • Иванов
    • Петров
    • Сидоров
  • В настойках модуля Fondy в параметре «Имя допполя» ввести «_merchant»
  • В параметре «В каждой строке перечислите через двоеточие»:
Иванов:i1234560:xxxxxxxx
Петров:i1234561:yyyyyyyy
Сидоров:i1234562:zzzzzzzz

где i1234560 и xxxxxxxx соответственно публичный и приватный ключи

Оплата без участия абонента

Есть возможность автоматического пополнения счета без участия абонента. Если в настройках установить в «да» параметр «Использовать возможность автоматической оплаты по токену без участия абонента», то после успешной оплаты, NoDeny получит от Fondy токен, по которому сможет производить списания с карты без ее номера и без подтверждения.

Списание происходит в момент когда баланс становится отрицательным, например, после подключения услуги. Что нужно:

  • Установить в «да» параметр «Использовать возможность автоматической оплаты по токену без участия абонента» а настройках модуля Fondy
  • В настройках Ядро→Балансы установить в «да» параметр «При отрицательном балансе автоматически пополнять счет абонента, используя токен, выданный платежной системой»
  • Рестартнуть ядро
  • В настройках «Кабинет клиента» добавить плагин autopays
  • Обратиться в поддержку Fondy чтобы они включили возможность оплаты по токену

Благодаря плагину autopays, пользователи смогут включать/выключать автопополнение в личном кабинете.

Дополнительная информация

Токены для пополнения хранятся в таблице paysystems_tokens базы данных.

Чтобы убедиться, что Fondy передает токены, нужно после успешной оплаты посмотреть в лог /usr/local/nodeny/logs/fondy_ok.log и обнаружить присутствие rectoken в фагменте:

{
  'input' => {
      ...
      ...
     'rectoken' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxx',
      ...
  },
  ...
};