|  |     | 
| (не показано 19 промежуточных версий 1 участника) | 
| Строка 1: | Строка 1: | 
| − | =Подготовка БД=
 | + | {{Уведомление|Актуальная документация по версии 5 располагается по адресу https://repo.paycontrol.org/index/safe-tech/#paycontrol}} | 
| − | * Создать базу данных и пользователя на сервере СУБД, где будет работать база данных PCS (pcs-user, pcs-pass, pcs-db, pcs-db-host). Предоставить права на доступ пользователю к БД.
 |  | 
| − | * Создать базу данных и пользователя на сервере СУБД, где будет работать база данных PCP (pcp-user, pcp-pass, pcp-db, pcp-db-host). Предоставить права на доступ пользователю к БД.
 |  | 
| − | =Установка Java=
 |  | 
| − | Установить последнюю версию JRE ветки 1.8 или 11
 |  | 
| − | ==Обновление Security==
 |  | 
| − | ===JRE 1.8===
 |  | 
| − | * Скачать архив по адресу http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
 |  | 
| − | * Распаковать и скопировать файлы поадресу ''<JRE>\lib\security\'', заменив старые версии.
 |  | 
| − | ===JRE 11===
 |  | 
| − | Замена файлов библиотек не требуется.
 |  | 
| − | =Установка Wildfly=
 |  | 
| − | * Скачать актуальную версию WildFly Server – https://wildfly.org/downloads/
 |  | 
| − | Далее по тексту, под %WF_PATH% имеется в виду адрес созданной символьной ссылки.
 |  | 
| − | ==Linux==
 |  | 
| − | * Распаковать Wildfly, например, в /opt/.
 |  | 
| − | * Создать символьную ссылку /opt/wildfly на распакованную директорию:<source lang="bash">ln -s /opt/wildfly-18.0.1.Final/ /opt/wildfly</source>
 |  | 
| − | ==Windows==
 |  | 
| − | * Распаковать Wildfly, например, в C:\.
 |  | 
| − | * Создать символьную ссылку, к примеру ''C:\wildfly'', на распакованную директорию. Пример команды:<syntaxhighlight lang="bat">mklink /D c:\wildfly c:\wildfly-18.0.1.Final\</syntaxhighlight>
 |  | 
| − | ==Удаление настроек WildFly по-умолчанию==
 |  | 
| − | Для удаления настроек по-умолчанию, необходимо выполнить пункты описанные по ссылке [[PCWiki:Wildfly#Удаление настроек по умолчанию|Wildfly - Удаление настроек по умолчанию]]
 |  | 
| − | =Настройка подключения к БД=
 |  | 
| − | ==Добавление JDBC-драйвера СУБД==
 |  | 
| − | ===PostgreSQL===
 |  | 
| − | * Скачать актуальный JDBC-драйвер по адресу https://jdbc.postgresql.org/
 |  | 
| − | * Создать директорию %WF_PATH%/modules/org/postgresql/main/<source lang="bash">sudo mkdir -p /opt/wildfly/modules/org/postgresql/main/</source>
 |  | 
| − | * В директорию поместить скачанный jar.<source lang="bash">sudo mv postgresql-42.2.2.jar /opt/wildfly/modules/org/postgresql/main/</source>
 |  | 
| − | * Создать в этой же папке файл module.xml<source lang="bash">sudo vi /opt/wildfly/modules/org/postgresql/main/module.xml</source>следующего содержания, указав имя файла драйвера вместо "JAR_PATH":<source lang="xml">
 |  | 
| − | <?xml version="1.0" encoding="UTF-8"?>
 |  | 
| − | <module xmlns="urn:jboss:module:1.0" name="org.postgresql">
 |  | 
| − |   <resources>
 |  | 
| − |      <resource-root path="JAR_PATH"/>
 |  | 
| − |   </resources>
 |  | 
| − |   <dependencies>
 |  | 
| − |     <module name="javax.api"/>
 |  | 
| − |     <module name="javax.transaction.api"/>
 |  | 
| − |     <module name="javax.servlet.api" optional="true"/>
 |  | 
| − |   </dependencies>
 |  | 
| − | </module>
 |  | 
| − | </source>
 |  | 
| − | * Добавить установленный модуль в качестве драйвера для подключения к СУБД в файл %WF_PATH%/standalone/configuration/standalone.xml, в секцию ''<datasources/drivers>'', добавив следующий блок:
 |  | 
| − | <source lang="xml">
 |  | 
| − | <drivers>
 |  | 
| − |     <driver name="postgresql" module="org.postgresql">
 |  | 
| − |         <driver-class>org.postgresql.Driver
 |  | 
| − |         </driver-class>
 |  | 
| − |     </driver>
 |  | 
| − | </drivers>
 |  | 
| − | </source>
 |  | 
| − |   |  | 
| − | ===MS SQL===
 |  | 
| − | * Скачать JDBC-драйвер с сайта Microsoft https://docs.microsoft.com/ru-ru/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver15
 |  | 
| − | * Создать директорию ''%WF_PATH%/modules/system/layers/base/com/microsoft/sqlserver/main/''
 |  | 
| − | * В директорию распаковать файлы и директории драйвера. Файлы драйвера (*.jar) должны располагаться непосредственно в директории ''main/''
 |  | 
| − | * Создать в этой же папке файл module.xml следующего содержания, заменив JAR_PATH на имя файла драйвера, например на ''mssql-jdbc-6.2.1.jre8.jar'':
 |  | 
| − | <syntaxhighlight lang="xml"><?xml version="1.0" encoding="UTF-8"?>
 |  | 
| − | <module xmlns="urn:jboss:module:1.3" name="com.microsoft.sqlserver">
 |  | 
| − |   <resources>
 |  | 
| − |     <resource-root path="JAR_PATH"/>
 |  | 
| − |   </resources>
 |  | 
| − |   <dependencies>
 |  | 
| − |     <module name="javax.api"/>
 |  | 
| − |     <module name="javax.transaction.api"/>
 |  | 
| − |     <module name="javax.xml.bind.api"/>
 |  | 
| − |   </dependencies>
 |  | 
| − | </module>
 |  | 
| − | </syntaxhighlight>
 |  | 
| − | * Добавить установленный модуль в качестве драйвера для подключения к СУБД в файл %WF_PATH%/standalone/configuration/standalone.xml, в секцию ''<datasources/drivers>'', добавив следующий блок:
 |  | 
| − | <syntaxhighlight lang="xml">
 |  | 
| − | <driver name="mssql" module="com.microsoft.sqlserver">
 |  | 
| − | 	<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
 |  | 
| − | </driver>
 |  | 
| − | </syntaxhighlight>
 |  | 
| − | ==Добавление источников данных для модулей==
 |  | 
| − | ===PostgreSQL===
 |  | 
| − | ====PCS====
 |  | 
| − | В файл ''%WF_PATH%/standalone/configuration/standalone.xml'' внести следующие изменения добавить новый источник данных в секцию ''<datasources></datasources>'' заменив pcs-db-host, port, pcs-db, pcs-user, pcs-pass:
 |  | 
| − | <source lang="xml">
 |  | 
| − | <datasource jta="true" jndi-name="java:jboss/datasources/PCServerDS" pool-name="PCServerDS" enabled="true" use-ccm="true">
 |  | 
| − |     <connection-url>jdbc:postgresql://pcs-db-host:port/pcs-db</connection-url>
 |  | 
| − |     <driver-class>org.postgresql.Driver</driver-class>
 |  | 
| − |     <connection-property name="url">
 |  | 
| − |         jdbc:postgresql://pcs-db-host:port/pcs-db
 |  | 
| − |     </connection-property>
 |  | 
| − |     <driver>postgresql</driver>
 |  | 
| − |     <security>
 |  | 
| − |         <user-name>pcs-user</user-name>
 |  | 
| − |         <password>pcs-pass</password>
 |  | 
| − |     </security>
 |  | 
| − |     <validation>
 |  | 
| − |         <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker"/>
 |  | 
| − |         <background-validation>true</background-validation>
 |  | 
| − |         <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter"/>
 |  | 
| − |     </validation>
 |  | 
| − | </datasource>
 |  | 
| − | </source>
 |  | 
| − | ====PCP====
 |  | 
| − | На сервере PCP добавить новый источник данных в секцию ''<datasources></datasources>'', заменив pcp-db-host, port, pcp-db, pcp-user, pcp-pass:
 |  | 
| − | <source lang="xml">
 |  | 
| − | <datasource jta="true" jndi-name="java:jboss/datasources/PCPusherDS" pool-name="PCPusherDS" enabled="true" use-ccm="true">
 |  | 
| − |     <connection-url>jdbc:postgresql://pcp-db-host:port/pcp-db</connection-url>
 |  | 
| − |     <driver-class>org.postgresql.Driver</driver-class>
 |  | 
| − |     <connection-property name="url">
 |  | 
| − |         jdbc:postgresql://pcp-db-host:port/pcp-db
 |  | 
| − |     </connection-property>
 |  | 
| − |     <driver>postgresql</driver>
 |  | 
| − |     <security>
 |  | 
| − |         <user-name>pcp-user</user-name>
 |  | 
| − |         <password>pcp-pass</password>
 |  | 
| − |     </security>
 |  | 
| − |     <validation>
 |  | 
| − |         <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLValidConnectionChecker"/>
 |  | 
| − |         <background-validation>true</background-validation>
 |  | 
| − |         <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.postgres.PostgreSQLExceptionSorter"/>
 |  | 
| − |     </validation>
 |  | 
| − | </datasource>
 |  | 
| − | </source>
 |  | 
| − | ===MS SQL===
 |  | 
| − | ====PCS====
 |  | 
| − | В файл ''%WF_PATH%/standalone/configuration/standalone.xml'' внести следующие изменения добавить новый источник данных в секцию ''<datasources></datasources>'' заменив pcs-db-host, port, pcs-db-host, pcs-db, pcs-user, pcs-pass:
 |  | 
| − | <source lang="xml">
 |  | 
| − | <datasource jta="true" jndi-name="java:jboss/datasources/PCServerDS" pool-name="PCServerDS" enabled="true" use-ccm="true">
 |  | 
| − | 	<connection-url>jdbc:sqlserver://pcs-db-host:port;databaseName=pcs-db</connection-url>
 |  | 
| − | 	<connection-property name="url">
 |  | 
| − | 		jdbc:sqlserver://pcs-db-host:port;databaseName=pcs-db
 |  | 
| − | 	</connection-property>
 |  | 
| − | 	<driver>mssql</driver>
 |  | 
| − | 	<security>
 |  | 
| − | 		<user-name>pcs-user</user-name>
 |  | 
| − | 		<password>pcs-pass</password>
 |  | 
| − | 	</security>
 |  | 
| − | 	<pool>
 |  | 
| − | 		<min-pool-size>5</min-pool-size>
 |  | 
| − | 		<max-pool-size>50</max-pool-size>
 |  | 
| − | 		<prefill>false</prefill>
 |  | 
| − | 		<use-strict-min>false</use-strict-min>
 |  | 
| − | 		<flush-strategy>FailingConnectionOnly</flush-strategy>
 |  | 
| − | 	</pool>
 |  | 
| − | 	<validation>
 |  | 
| − | 		<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"></valid-connection-checker>
 |  | 
| − | 	</validation>
 |  | 
| − | </datasource>
 |  | 
| − | </source>
 |  | 
| − | ====PCP====
 |  | 
| − | На сервере PCP добавить новый источник данных в секцию ''<datasources></datasources>'', заменив pcp-db-host, port, pcp-db-host, pcp-db, pcp-user, pcp-pass:
 |  | 
| − | <source lang="xml">
 |  | 
| − | <datasource jta="true" jndi-name="java:jboss/datasources/PCPusherDS" pool-name="PCPusherDS" enabled="true" use-ccm="true">
 |  | 
| − | 	<connection-url>jdbc:sqlserver://pcp-db-host:port;databaseName=pcp-db</connection-url>
 |  | 
| − | 	<connection-property name="url">
 |  | 
| − | 		jdbc:sqlserver://pcp-db-host:port;databaseName=pcp-db
 |  | 
| − | 	</connection-property>
 |  | 
| − | 	<driver>mssql</driver>
 |  | 
| − | 	<security>
 |  | 
| − | 		<user-name>pcp-user</user-name>
 |  | 
| − | 		<password>pcp-pass</password>
 |  | 
| − | 	</security>
 |  | 
| − | 	<pool>
 |  | 
| − | 		<min-pool-size>5</min-pool-size>
 |  | 
| − | 		<max-pool-size>50</max-pool-size>
 |  | 
| − | 		<prefill>false</prefill>
 |  | 
| − | 		<use-strict-min>false</use-strict-min>
 |  | 
| − | 		<flush-strategy>FailingConnectionOnly</flush-strategy>
 |  | 
| − | 	</pool>
 |  | 
| − | 	<validation>
 |  | 
| − | 		<valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mssql.MSSQLValidConnectionChecker"></valid-connection-checker>
 |  | 
| − | 	</validation>
 |  | 
| − | </datasource>
 |  | 
| − | </source>
 |  | 
| − |   |  | 
| − | =Настройка подключения PCE к PCS=
 |  | 
| − | На сервере PCE необходимо установить адрес сервера PCS (host и port заменить на реальные значения). Для этого:
 |  | 
| − | * на Linux в файл ''%WF_PATH%/bin/standalone.conf'' нужно добавить <syntaxhighlight lang="bash">JAVA_OPTS="$JAVA_OPTS -Dpc_url=http://<host>:<port>/pc-api/ -Dpc_locale=ru"</syntaxhighlight>
 |  | 
| − | * на Windows в файл ''%WF_PATH%/bin/standalone.conf.bat'' нужно добавить <syntaxhighlight lang="bat">set "JAVA_OPTS=%JAVA_OPTS% -Dpc_url=http://<host>:<port>/pc-api/ -Dpc_locale=ru"</syntaxhighlight> выше метки :JAVA_OPTS_SET
 |  | 
| − |   |  | 
| − | =Настройка выделения памяти серверу=
 |  | 
| − | На всех серверах установить максимальный объем доступной для использования памяти:
 |  | 
| − | * на Linux в ''%WF_PATH%/bin/standalone.conf'' указать объём «ОбщийОбъёмОЗУ - 512MB»
 |  | 
| − | * на Windows в ''%WF_PATH%\bin\standalone.conf.bat'' указать объём «ОбщийОбъёмОЗУ - 1536MB»
 |  | 
| − | Для этого в строке
 |  | 
| − | ''JAVA_OPTS="-Xms64m -Xmx512m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true"'' поменять значение параметра ''Xmx'' на выделяемый объём.
 |  | 
| − | ==Запуск проекта==
 |  | 
| − | * Скопировать файл приложения сервера ''%WF_PATH%\standalone\deployments\'':
 |  | 
| − | ** на PC Server - файл ''pc-server-<VERSION>.ear''
 |  | 
| − | ** на PC Pusher - файл ''pc-pusher-<VERSION>.war''
 |  | 
| − | ** на PC External - файл ''pc-external-<VERSION>.war''
 |  | 
| − | Один сервер WildFly может запускать одно или несколько приложений сервера
 |  | 
| − | * Запустить
 |  | 
| − | ** Linux <syntaxhighlight lang="bash">%WF_PATH%/bin/standalone.sh -b 0.0.0.0</syntaxhighlight>
 |  | 
| − | ** Windows <syntaxhighlight lang="bat">%WF_PATH%\bin\standalone.bat -b 0.0.0.0</syntaxhighlight>
 |  | 
| − | *:  где -b 0.0.0.0 - позволяет подключаться к серверу используя любой его интерфейс (опция bind)
 |  | 
| − | * Дождаться старта WF, проверить, что нет ошибок запуска.
 |  | 
| − | ==Настройка автозапуска службы сервера==
 |  | 
| − | ===Linux===
 |  | 
| − | Для настройки автозапуска службы, перейти в каталог %WF_PATH%/docs/contrib/scripts/systemd/ и выполнить шаги, описанные в файле README в этом каталоге, за исключением пунктов распаковки и создания символьной ссылки на каталог.
 |  | 
| − | Пункт <code>chown -R wildfly:wildfly /opt/wildfly</code> необходимо выполнить с параметрами «-RH» (параметр «H» указывает, что если на вход подана символьная ссылка, то нужно пойти вглубь каталога, на который она ссылается). Таким образом команда должна выглядеть следующим образом:
 |  | 
| − | <syntaxhighlight lang="bash">chown -RHv wildfly:wildfly /opt/wildfly</syntaxhighlight>
 |  | 
| − | При запуске в качестве службы, возможно отклонение запросов. В таком случае необходимо установить параметры JAVA_OPTS в файле standalone.conf:
 |  | 
| − | <syntaxhighlight lang="bat">JAVA_OPTS="$JAVA_OPTS -Djboss.bind.address=0.0.0.0"</syntaxhighlight>
 |  | 
| − | ===Windows===
 |  | 
| − | Скопировать папку<br>
 |  | 
| − | ''%WF_PATH%\docs\contrib\scripts\service\''<br>
 |  | 
| − | в папку<br>
 |  | 
| − | ''%WF_PATH%\bin\''<br>
 |  | 
| − | Выполнить
 |  | 
| − | <syntaxhighlight lang="bat">%WF_PATH%\bin\service\service.bat install /startup</syntaxhighlight>
 |  | 
| − | При запуске в качестве службы, возможно отклонение запросов. В таком случае необходимо установить параметры JAVA_OPTS в файле standalone.conf.bat выше метки :JAVA_OPTS_SET.
 |  | 
| − | <syntaxhighlight lang="bat">set "JAVA_OPTS=%JAVA_OPTS% -Djboss.bind.address=0.0.0.0"</syntaxhighlight>
 |  | 
| − |   |  | 
| − | ==URL-фильтрация при совмещении PC Pusher и PC External==
 |  | 
| − | При совмещении ролей PC Pusher и PC External на одном сервере необходимо исключить возможность выполнения запросов PC Pusher со стороны сети интернет. <br>
 |  | 
| − | Для этого необходимо со стороны сети интернет разрешить подключения только на конечную точку PC External. <br>
 |  | 
| − | Конечная точка PC External - ''<host>:<port>/pc-client-api/*''<br>
 |  | 
| − | Доступ к другим конечным точкам должен быть запрещен.
 |  | 
| − |   |  | 
| − | При этом доступ к PC Pusher со стороны PC Server должен сохраниться. <br>
 |  | 
| − | Конечная точка PC Pusher - ''<host>:<port>/pc-pusher-api/*''
 |  | 
| − | =Внесение изменений в БД=
 |  | 
| − | ==Создание индексов БД PCS==
 |  | 
| − | После первого запуска приложения, в базе данных будут созданы необходимые таблицы.
 |  | 
| − |   |  | 
| − | На продуктивной среде после этого необходимо создать индексы в базе данных PC Server.
 |  | 
| − |   |  | 
| − | Для этого выполните SQL скрипт:
 |  | 
| − | <syntaxhighlight lang="sql">
 |  | 
| − | create index pc_keyinfo1_idx on PC_KEYINFO (userID, expiration_date, is_deleted);
 |  | 
| − | create index pc_delayedkeyinfo1_idx on PC_DELAYEDKEYINFO (userID, is_deleted);
 |  | 
| − | create index pc_device1_idx on PC_DEVICE (userID, is_deleted); 
 |  | 
| − | create index pc_transaction1_idx on PC_TRANSACTION (userID, status);
 |  | 
| − | create index pc_device2_idx on PC_DEVICE (userID); 
 |  | 
| − | create index pc_keyinfo2_idx on PC_KEYINFO (userID); 
 |  | 
| − | create index pc_transaction2_idx on PC_TRANSACTION (userID); 
 |  | 
| − | create indexpc_user1_idx on PC_USER (systemID);
 |  | 
| − | </syntaxhighlight>
 |  | 
| − | ==Корректировка типов данных для MS SQL==
 |  | 
| − | Java-приложение при создании таблиц БД неоптимально устанавливает тип для одного из полей для СУБД MS SQL.
 |  | 
| − |   |  | 
| − | Для его корректировки после того, как таблицы созданы, выполните запрос
 |  | 
| − | <syntaxhighlight lang="sql">
 |  | 
| − | ALTER TABLE PC_TRANSACTION ALTER COLUMN DATA_BINARY image;
 |  | 
| − | </syntaxhighlight>
 |  | 
| − | ==Регистрация системы==
 |  | 
| − | После успешного запуска приложения PC Server до начала работы необходимо зарегистрировать прикладную систему.
 |  | 
| − |   |  | 
| − | Это действие выполняется путем отправки на PC Server HTTP POST запроса, сформированного ST/Airome. Содержание запроса предоставляется дополнительно.
 |  | 
| − |   |  | 
| − | Для отправки запроса можно использовать любое средство отправки HTTP-запросов.
 |  | 
| − | ===Примеры===
 |  | 
| − | ====PowerShell====
 |  | 
| − | <syntaxhighlight lang="PowerShell">
 |  | 
| − | $headers = New-Object "System.Collections.Generic.Dictionary[[String],[String]]"
 |  | 
| − | $headers.Add("Content-Type", "application/json")
 |  | 
| − |   |  | 
| − | $body = "{n  "request`":"eyJyZXF1ZXN0Ijp7InFyVVJMU2NoZW1lIjEE9NoZ+W1lIjEE9NoZW... ...9NoZW1lIjEE+9NoZW1lIjEE9NoZW1lIjEE9PSJ9"`n}"
 |  | 
| − |   |  | 
| − | $response = Invoke-RestMethod 'https://dev.paycontrol.org/v5.0/pc-api/' -Method 'POST' -Headers $headers -Body $body
 |  | 
| − | $response | ConvertTo-Json
 |  | 
| − | </syntaxhighlight>
 |  | 
| − | ====cURL====
 |  | 
| − | <syntaxhighlight lang="bat">
 |  | 
| − | curl --location --request POST 'http://<host>:<port>/pc-api/' --header 'Content-Type: application/json' --data-raw '{"request":"eyJyZXF1ZXN0Ijp7InFyVVJMU2NoZW1lIjEE9NoZ+W1lIjEE9NoZW1lIjEE9... ...IjEE9NoZW1lIjEE9PSJ9"}'
 |  | 
| − | </syntaxhighlight>
 |  | 
| − |   |  | 
| − | ==Доступ к сервисам==
 |  | 
| − | Адреса конечных точек по умолчанию:
 |  | 
| − | * PC Server - http://<host>:8080/pc-api/
 |  | 
| − | * PC Pusher - http://<host>:8080/pc-pusher-api/
 |  | 
| − | * PC External - http://<host>:8080/pc-client-api/
 |  | 
| − |   |  | 
| − | ===Health Check===
 |  | 
| − | Адреса конечных точек health check:
 |  | 
| − | * PC Server - http://<host>:8080/pc-api/health_check
 |  | 
| − | * PC Pusher - http://<host>:8080/pc-pusher-api/health_check
 |  | 
| − | * PC External - http://<host>:8080/pc-client-api/health_check
 |  | 
| − | =Внесение аутентификационных данных для отправки push-уведомлений=
 |  | 
| − | {{Предупреждение|Для отличных от PostgreSQL СУБД измените метод работы с последовательностями}}
 |  | 
| − |   |  | 
| − | Для '''MSSQL''' необходимо вместо строк <code>nextval('pc_split_pusher_creds_seq'),</code> использовать строку <code>NEXT VALUE FOR pc_split_pusher_creds_seq,</code>.
 |  | 
| − |   |  | 
| − | Для '''Oracle''' необходимо вместо строк <code>nextval('pc_split_pusher_creds_seq'),</code> использовать строку <code>pc_split_pusher_creds_seq.NEXTVAL,</code>.
 |  | 
| − | ==В приложение PayControl==
 |  | 
| − | Для внесение аутентификационных данных для отправки push-уведомлений в приложение PayControl необходимо выполнить следующие запросы к БД PC Pusher, заменив значения %SYSTEMID% на корректное.
 |  | 
| − |   |  | 
| − | Обратите внимание, что знаки процента '''нужно удалить'''.
 |  | 
| − | После выполнения запросов необходимо [[Руководство_администратора_PayControl_5#Запуск и остановка служб сервера PayControl|перезапустить Wildfly]] сервера PC Pusher.
 |  | 
| − |   |  | 
| − | Пример для СУБД PostgreSQL:
 |  | 
| − | <syntaxhighlight lang="sql">INSERT INTO pc_split_pusher_credentials (
 |  | 
| − | id,
 |  | 
| − | appid,
 |  | 
| − | credentials,
 |  | 
| − | os,
 |  | 
| − | systemid)
 |  | 
| − | VALUES (
 |  | 
| − | nextval('pc_split_pusher_creds_seq'),
 |  | 
| − | 'org.paycontrol.app',
 |  | 
| − | '{"google_api_key":"AAAAoZ7vyz4:APA91bFqLfNegQCs_GfHGFeOmS68PHWWSzWpeZaYKfnLul9iHufIQJiNIAjgAykeWrTxiDDs9qQzullXww3o5XR0VS9tlBEpuhTMlz4CyHdmN2EhntJBBUlSQa-8--Rw_UzDbKBCGCXk"}',
 |  | 
| − | 'Android',
 |  | 
| − | '%SYSTEMID%');
 |  | 
| − |   |  | 
| − | INSERT INTO pc_split_pusher_credentials (
 |  | 
| − | id,
 |  | 
| − | appid,
 |  | 
| − | credentials,
 |  | 
| − | os,
 |  | 
| − | systemid)
 |  | 
| − | VALUES (
 |  | 
| − | nextval('pc_split_pusher_creds_seq'),
 |  | 
| − | 'org.paycontrol.app',
 |  | 
| − | '{"apns_key_file":"C:\\wildfly\\safetech-apns-JVBQX52N5Z.p8","apns_key_id":"JVBQX52N5Z","apns_team_id":"48HZH4RWJD"}',
 |  | 
| − | 'iOS',
 |  | 
| − | '%SYSTEMID%');</syntaxhighlight>
 |  | 
| − |   |  | 
| − | ==В приложение PayConfirm==
 |  | 
| − | Для внесение аутентификационных данных для отправки push-уведомлений в приложение PayConfirm необходимо выполнить следующие запросы к БД PC Pusher, заменив значения %SYSTEMID% на корректное. 
 |  | 
| − |   |  | 
| − | Обратите внимание, что знаки процента '''нужно удалить'''.
 |  | 
| − | После выполнения запросов необходимо [[Руководство_администратора_PayControl_5#Запуск и остановка служб сервера PayControl|перезапустить Wildfly]] сервера PC Pusher.
 |  | 
| − |   |  | 
| − | Пример для СУБД PostgreSQL:
 |  | 
| − | <syntaxhighlight lang="sql">INSERT INTO pc_split_pusher_credentials (
 |  | 
| − | id,
 |  | 
| − | appid,
 |  | 
| − | credentials,
 |  | 
| − | os,
 |  | 
| − | systemid)
 |  | 
| − | VALUES (
 |  | 
| − | nextval('pc_split_pusher_creds_seq'),
 |  | 
| − | 'org.payconfirm.app',
 |  | 
| − | '{"google_api_key":"AAAA4H70m7M:APA91bFsaPiXXiIuRyj4h-xGZpyd0-I3B9F1udIIergxaK8uL9vPPvUQXOvPfau2w8E-xur_6TlTzmhb2JsO13hBCxVDrNybD6Rj8k4hZKXfs7tC5fnJuWmCIB3-O_4dLo0QHlhfSbGn"}',
 |  | 
| − | 'Android',
 |  | 
| − | '%SYSTEMID%');
 |  | 
| − |   |  | 
| − | INSERT INTO pc_split_pusher_credentials (
 |  | 
| − | id,
 |  | 
| − | appid,
 |  | 
| − | credentials,
 |  | 
| − | os,
 |  | 
| − | systemid)
 |  | 
| − | VALUES (
 |  | 
| − | nextval('pc_split_pusher_creds_seq'),
 |  | 
| − | 'org.payconfirm.app',
 |  | 
| − | '{"apns_key_file":"C:\\wildfly\\safetech-apns-JVBQX52N5Z.p8","apns_key_id":"QCC684AGC4","apns_team_id":"B98K5P3YHV"}',
 |  | 
| − | 'iOS',
 |  | 
| − | '%SYSTEMID%');</syntaxhighlight>
 |  | 
| − |   |  | 
| − | ==В другое мобильное приложение==
 |  | 
| − | Для внесение аутентификационных данных для отправки push-уведомлений необходимо выполнить запрос к БД PC Pusher, заменив значение %SYSTEMID%, %appid%, %путь к файлу ключа%, %apns_key_id%, %apns_team_id%, %google_api_key% на корректные (эти данные, за исключением %SYSTEMID%, можно получить от владельцев аккаунта, под чьим именем публикуется приложение), и, '''удалив''' знаки процента:
 |  | 
| − | <syntaxhighlight lang="sql">
 |  | 
| − | INSERT INTO pc_split_pusher_credentials (
 |  | 
| − | id,
 |  | 
| − | appid,
 |  | 
| − | credentials,
 |  | 
| − | is_default,
 |  | 
| − | os,
 |  | 
| − | systemid)
 |  | 
| − | VALUES (
 |  | 
| − | nextval('pc_split_pusher_credentials_id_seq'),
 |  | 
| − | '%appid%',
 |  | 
| − | '{"google_api_key":"%google_api_key%"}',
 |  | 
| − | 1,
 |  | 
| − | 'Android',
 |  | 
| − | '%SYSTEMID%');
 |  | 
| − |   |  | 
| − | INSERT INTO pc_split_pusher_credentials (
 |  | 
| − | id,
 |  | 
| − | appid,
 |  | 
| − | credentials,
 |  | 
| − | is_default,
 |  | 
| − | os,
 |  | 
| − | systemid)
 |  | 
| − | VALUES (
 |  | 
| − | nextval('pc_split_pusher_credentials_id_seq'),
 |  | 
| − | '%appid%',
 |  | 
| − | '{"apns_key_file":"%путь к файлу ключа%","apns_key_id":"%apns_key_id%","apns_team_id":"%apns_team_id%"}',
 |  | 
| − | 1,
 |  | 
| − | 'iOS',
 |  | 
| − | '%SYSTEMID%');
 |  | 
| − |   |  | 
| − | commit;
 |  | 
| − | </syntaxhighlight>
 |  | 
| − |   |  | 
| − | =Корректировка (смена) адресов компонентов серверов PC (при необходимости)=
 |  | 
| − | {{Предупреждение|Не рекомендуется дополнительно указывать номер порта, в случаях, если для HTTP используется порт 80, или для HTTPS используется порт 443}}
 |  | 
| − | ==Учёт изменения адреса сервера PC Server==
 |  | 
| − | Для учёта изменения адреса PCS необходимо произвести изменения в настройках PCE. В файле /opt/wildfly/bin/standalone.conf, в следующей строке, указав правильный адрес и при необходимости порт сервера PC Server, а также уточнив протокол подключения (HTTP/HTTPS):
 |  | 
| − | <syntaxhighlight lang="bash">
 |  | 
| − | JAVA_OPTS="$JAVA_OPTS -Dpc_url=http[s]://<IP или DNS-имя>[:PORT]/pc-api/ -Duser.language=ru -Dpc_locale=ru"
 |  | 
| − | </syntaxhighlight>
 |  | 
| − |   |  | 
| − | ==Учёт изменения адреса сервера PC Pusher==
 |  | 
| − | Для учёта изменения адреса сервера PCP, необходимо, предварительно указав корректные данные (протокол (HTTP/HTTPS), имя или IP сервера, порт, идентификатор системы), выполнить запрос к БД PCS: 
 |  | 
| − | <syntaxhighlight lang="sql">update pc_system set pc_is_internal_url = 'http[s]://<IP или DNS-имя>[:PORT]/pc-pusher-api/' where systemid='<SYSTEMID>';</syntaxhighlight>
 |  | 
| − | ==Учёт изменения внешнего адреса сервера PC External==
 |  | 
| − | {{Предупреждение|Если система была переведена в промышленную эксплуатацию, при смене адреса для доступа мобильных устройств, не рекомендуется выводить из действия предыдущий адрес на протяжении всего срока действия выпущенных ключей пользователя. Иначе мобильное приложение потеряет доступ к серверу PC и для восстановления будет необходимо перевыпустить ключ и заново добавить его в приложение пользователя.}}
 |  | 
| − | Для учёта изменения внешнего адреса сервера PC, по которому связываются мобильное приложение с сервером PC, необходимо, предварительно указав корректные данные (протокол (HTTP/HTTPS), имя или IP сервера, порт, идентификатор системы), выполнить запрос к БД PCS:
 |  | 
| − | <syntaxhighlight lang="sql">update pc_system set pc_is_external_url = 'http[s]://<IP или DNS-имя>[:PORT]/pc-client-api/' where systemid='<SYSTEMID>';</syntaxhighlight>
 |  |