Paycom (UZ), Payme

Skip to end of metadata
Go to start of metadata

Paycom (UZ)

Сайт платёжной системы https://paycom.uz

Документация по api http://paycom.uz/api/

Тесты платежной системы http://test.paycom.uz/

Настройка

  1. Создать кассу в личном кабинете Paycom. Используется тип счета: "накопительный". В настройках кассы опцией необходимо добавить параметр для идентификации пользователя (должен совпадать с опцией Поле для идентификации пользователя).
  2. Настроить данные в разделе Платежные системы, пункт Настройка Paycom (UZ)
    Пожалуйста, обратите внимание, что максимальная сумма и минимальная сумма указываются в сумах. Paycom обычно оперирует тийинами, т.е. сотыми долями сума. Например, при проведении тестов, если Вы укажите минимальную сумму в биллинге равную 1000, тогда в тестовой среде Paycom нужно проводить платёж на 100000 или больше.

    Опции:

    • Включить платежную систему
    • Песочница (тестовый режим)
    • ID для системы
    • Key для системы
    • Максимальная сумма
    • Минимальная сумма
    • Поле для идентификации пользователя. Например, contract_number или login, должен совпадать с полем идентификации из настроек кассы Paycom (поля доступны в разделе Выбранное поле для идентификации абонента)
  3. Указать для платежной системы адрес обработчика, например https://10.0.0.1:2443/paycom_uz.php, где 10.0.0.1 замените на адрес Вашего биллинга, доступный из интернет
  4. Для приема платежей со стороны платежной системы необходимо добавить IP-адреса, с которых осуществляется запрос в список разрешенных, IP через пробел.
    Это делается через настройки сети для платежных систем.

Отладка

Curl

Вы можете смотреть логи обработчика уведомлений в файле
/app/asr_fiscal/var/log/paysystems/PAYCOM_UZ.log

Для теста возможности провести платёж, Вы можете использовать следующий запрос:

curl \
    -u Paycom:"Passord%1" \
    -k http://10.0.0.1:1444/paycom_uz.php \
    --referer https://helpdesk.carbonsoft.ru
    -d '{"jsonrpc":"2.0","id":1234,"method":"CheckPerformTransaction","params":{"amount":10000,"account":{"login":"test"}}}' \
| jq .
  • Пользователь Basic авторизации всегда Paycom
  • Пароль Passord%1 возьмите из поля "Key для системы" в настройках. Пароль обязательно должен быть настроен, он используется для Basic авторизации.
  • 10.0.0.1 замените на IP Вашего биллинга
  • login - это "Поле для идентификации пользователя" из настроек, так же там может быть contract_number, укажите как в настройках,
  • Если используется login, то это логин из учётной записи абонента; если учётных записей несколько, подойдёт любая
  • test - укажите соответственно логин или номер договора абонента, на котором хотите провести проверку, этот абонент должен быть уже заведён в биллинге
  • jq - утилита, форматирующая вывод JSON, если будет ошибка попробуйте выполнить yum -y install jq и повторить проверку

tcpdump

В период тестов или для отладки проблем в процессе эксплуатации может быть полезным посмотреть какие именно данные приходят в запросах от платёжной системы. Это можно сделать командой tcpdump, если отправлять запросы по протоколу http (по-умолчанию порт 1444).

Настройте платёжку так, чтобы она обращалась к биллингу по HTTP, например http://10.0.0.1:1444/paycom_uz.php, перед тестом запустите в терминале tcpdump

tcpdump -A -nn -i any -s 0 'tcp port 1444'

В терминале Вы сможете увидеть что-то вроде этого:

[root@carbon ~]# tcpdump -A -nn -i any -s 0 'tcp port 1444'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 65535 bytes


12:56:15.645610 IP 10.0.0.1.1444 > 10.0.0.2.57860: Flags [S.], seq 672616883, ack 1665113934, win 14480, options [mss 1460,sackOK,TS val 1811669256 ecr 1173652606,nop,wscale 7], length 0
E..<..@.@..7_.d....U....(.Q.c?.N..8.)c.........
k...E..~....
12:56:15.729663 IP 10.0.0.2.57860 > 10.0.0.1.1444: Flags [.], ack 1, win 502, options [nop,nop,TS val 1173652690 ecr 1811669256], length 0
E..4Fw..6......U_.d.....c?.N(.Q......u.....
E...k...
12:56:15.729822 IP 10.0.0.2.57860 > 10.0.0.1.1444: Flags [P.], seq 1:406, ack 1, win 502, options [nop,nop,TS val 1173652690 ecr 1811669256], length 405
E...Fx..6..2...U_.d.....c?.N(.Q.....ol.....
E...k...POST /paycom_uz.php HTTP/1.1
Host: 10.0.0.1:1444
Authorization: Basic UGF5Y29tOlBhc3NvcmQlMQ==
User-Agent: curl/7.81.0
Accept: */*
Referer: https://carbonsoft.ru
Content-Length: 125
Content-Type: application/x-www-form-urlencoded

{"jsonrpc":"2.0","id":84339,"method":"CheckPerformTransaction","params":{"amount":10000,"account":{"login":"test"}}}

Тут можно увидеть заголовки и тело запроса, и отладить проводя локальные тесты с подобными данными с помощью curl.

Песочница Paycom

Документация на сайте Paycom

Ссылка на песочницу

Для песочницы используйте данные из настроек:

  • Merchant ID - это "ID для системы"
  • TEST_KEY - это "Key для системы"

Параллельно на сервере запустите мониторинг лога /app/asr_fiscal/var/log/paysystems/PAYCOM_UZ.log и захват трафика с tcpdump.

Обратите внимание, что в песочнице размер платежа указывается в тийинах, а в настройках платёжки в биллинге - в сумах. Т.е. указав в песочнице сумму "10000", чтобы он прошел успешно, "Минимальная сумма" со стороны биллинга должна быть указана "100" или меньше.

Метки

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.