Перейти к содержанию

Ручная проверка работоспособности PayControl v6

Материал из PayControl Wiki

Создание пользователя и транзакции

В примерах ниже замените плейсхолдеры на свои значения:

  • pcs.example:8080 — адрес и порт вашего сервера PayControl;
  • systemid — идентификатор вашей системы;
  • userid — идентификатор созданного пользователя.

Значения в примерах ответов приведены для наглядности и могут отличаться в зависимости от версии сервера.

1) Установите мобильное приложение PayControl из Google Play, RuStore, Huawei AppGallery или Apple App Store.

2) Для запроса на создание пользователя с выводом ключевой информации в QR ознакомьтесь с его описанием: https://repo.paycontrol.org/server/doc/latest/rest-api/en/#create-user

Пример запроса (нужно вписать ваш systemid):

curl --location --request POST 'http://pcs.example:8080/pc-api/systemid/users' \
--header 'Content-Type: application/json' \
--data-raw '{
	"id_prefix":"rest-api-test-",
	"key_params":{
		"with_finger_print": false,
		"collect_events": true,
		"collect_device_info": true,
		"collect_device_SIM_info": false,
		"collect_device_location": false,
		"pass_policy": 0,
		"deny_store_with_OS_protection": false,
		"deny_renew_public_key": false,
		"scoring_enabled": true,
		"autosign_enabled": false
	},
	"return_key_method":"FULL_QR"
}'

Пример ответа:

{
    "answer_type": "user_created",
    "answer": {
        "result": {
            "error_message": "Success",
            "error_code": 0
        },
        "user_created": {
            "expiration_date": "2022-03-19",
            "system_settings": {
                "confirm_code_time_sampling_interval": 180,
                "auth_code_time_sampling_interval": 180
            },
            "user_id": "rest-api-test-d3ee8aa6-5467-4dc3-b856-ed39577c9363",
            "system_id": "6d5f8706-89d7-4378-8a96-707d5939c0f1",
            "expiration_timestamp": 1647698161,
            "system_name": "Example",
            "key_flags": 6,
            "ext_auth_available_methods": [
                "codeword"
            ],
            "key_QR": "R0lGODlhLAEsAfAAAAAAAP///ywAAAAALAEsAUAC/4yPq...uqhLuqjTuqlbuqnjuqpruqrzuqt7uqvHoYFAAA7"
        }
    },
    "answer_version": 3
}

Работа с QR-кодом

1) Отобразить возвращённый QR можно, например, с помощью этой утилиты https://base64.guru/converter/decode/image/gif, скопировав из ответа на создание пользователя данные поля key_QR

"key_QR": "данные_QR_кода"

2) Убедитесь, что в полученном QR-коде прописан правильный адрес для подключения к PC External, отсканировав его в любом QR-ридере.

3) Добавьте ключ в мобильное приложение PC, отсканировав QR-код.

Создание транзакции и пуша

1) Для запроса на создание транзакции ознакомьтесь с его описанием: https://repo.paycontrol.org/server/doc/latest/rest-api/en/#create-transaction

Пример запроса (нужно вписать ваш systemid и userid созданного пользователя):

curl --location --request POST 'http://pcs.example:8080/pc-api/systemid/users/userid/transactions' \
--header 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{
	"transaction_data":{
		"text":"Перевод средств на счёт №213154254 на сумму 12000 рублей"
	},
	"notification_type": "Push",
	"callback_url": "https://paycontrol.org/receive_request/",
	"confirm_code_length": 8,
	"ttl": 0
}'

Пример ответа:

{
    "answer_type": "transaction_created",
    "answer": {
        "result": {
            "error_message": "Success",
            "error_code": 0
        },
        "transaction_created": {
            "transaction_id": "b82f3436-c618-4c57-9760-4dec3a1ba807",
            "system_id": "6d5f8706-89d7-4378-8a96-707d5939c0f1",
            "autosign_enabled": false,
            "pc_transaction_version": 3,
            "confirm_code_length": 8,
            "ttl": 0,
            "callback_url": "https://paycontrol.org/receive_request/",
            "user_id": "rest-api-test-d3ee8aa6-5467-4dc3-b856-ed39577c9363",
            "extended_check": false,
            "data_type": "TEXT",
            "text_render_type": "raw",
            "confirm_type": "PUSH",
            "transaction_qr": "R0lGODlhLAEsAfAAAAAAAP///ywAAAAALAEsAUAC/4yPqcvt...jTuqlbuqnjuqpruqrzuqt7uqvDutpWAAAOw==",
            "status": "initialized"
        }
    },
    "answer_version": 3
}

2) Чтобы на устройство был отправлен пуш, при создании транзакции нужно указать следующий параметр в теле запроса

"notification_type": "Push"

Для PC Pusher должны быть доступны адреса, пописанные по ссылке - https://repo.paycontrol.org/server/doc/latest/infrastructure/ru/#адреса-для-отправки-push-уведомлений

3) После создания транзакции, подтвердите её в мобильном приложении.