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

Материал из PayControl Wiki
Перейти к: навигация, поиск

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

1) Нужно мобильное приложение PayControl из PlayMarket или App Store.

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

Пример запроса:

curl --location --request POST 'http://pcs.example:8080/pc-api/6d5f8706-89d7-4378-8a96-707d5939c0f1/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": {
            "expritaion_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": "Exaplme",
            "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

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

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

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

1) Создать транзакцию https://repo.paycontrol.org/server/doc/v5.2/rest-api/#create-transaction

Пример запроса:

curl --location --request POST 'http://pcs.example:8080/pc-api/6d5f8706-89d7-4378-8a96-707d5939c0f1/users/rest-api-test-d3ee8aa6-5467-4dc3-b856-ed39577c9363/transactions' \
--header 'Content-Type: application/json;charset=UTF-8' \
--data-raw '{
	"transaction_data":{
		"text":"Перевод средств на счёт №213154254 на сумму 12000 рублей"
	},
	"notification_type": "Push",
	"callback_url": "https://paycontrol.org/recieve_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/recieve_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"
  • PCP v5.0-5.1
    • Убедитесь, что в БД PCP добавлены данные для отправки пушей.
  • PCP v5.2
    • В данной версии PCP не использует БД, т.к. данные для отправки пушей в приложение уже внесены в конфигурационный файл PCP.

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