Ручная проверка работоспособности PayControl v5
Создание пользователя и транзакции
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, скопировав из ответа на создание пользователя данные поля key_QR
"key_QR": "данные_QR_кода"
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) После создания транзакции, подтвердите ее в мобильном приложении.