Ручная проверка работоспособности PayControl v5 — различия между версиями

Материал из PayControl Wiki
Перейти к: навигация, поиск
(Пуши)
(Создание транзакции и пуша)
 
(не показаны 24 промежуточные версии этого же участника)
Строка 1: Строка 1:
 
=Создание пользователя и транзакции=
 
=Создание пользователя и транзакции=
  
Для проверки можете установить мобильное приложение PayControl из PlayMarket или App Store.
+
1) Установите мобильное приложение PayControl из PlayMarket или App Store.
  
1) Установить PayControl Server(PCS) и PayControl External(PCE).
+
2) Для запроса на создание пользователя с выводом ключевой информации в QR ознакомьтесь с его описанием: https://repo.paycontrol.org/server/doc/latest/rest-api/en/#create-user
  
2) Создать пользователя с выводом ключевой информации в QR. https://repo.paycontrol.org/server/doc/v5.2/rest-api/#create-user
+
Пример запроса (нужно вписать ваш '''systemid'''):
 +
<syntaxhighlight lang="json">
 +
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"
 +
}'
 +
</syntaxhighlight>
  
Пример:
+
Пример ответа:
 +
<syntaxhighlight lang="json">
 +
{
 +
    "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
 +
}
 +
</syntaxhighlight>
  
3) Отобразить возвращённый QR, например с помощью этой утилиты https://base64.guru/converter/decode/image/gif
+
=Работа с QR-кодом=
 +
1) Отобразить возвращённый QR можно, например, с помощью этой утилиты https://base64.guru/converter/decode/image/gif, скопировав из ответа на создание пользователя данные поля key_QR
 +
<syntaxhighlight lang="json">
 +
"key_QR": "данные_QR_кода"
 +
</syntaxhighlight>
  
Пример:
+
2) Убедитесь, что в полученном QR-коде прописан правильный адрес для подключения к PCE, отсканировав его в любом QR-ридере.
  
4) Убедиться, что в ключе прописан правильный адрес для подключения к PCE.
+
3) Добавьте ключ в мобильное приложение PC, отсканировав QR-код.
  
5) Добавить ключ в мобильное приложение PC, отсканировав QR-код.
+
=Создание транзакции и пуша=
 +
1) Для запроса на создание транзакции ознакомьтесь с его описанием: https://repo.paycontrol.org/server/doc/latest/rest-api/en/#create-transaction
  
6) Создать транзакцию https://repo.paycontrol.org/server/doc/v5.2/rest-api/#create-transaction
+
Пример запроса (нужно вписать ваш '''systemid и userid''' созданного пользователя):
 +
<syntaxhighlight lang="json">
 +
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/recieve_request/",
 +
"confirm_code_length": 8,
 +
"ttl": 0
 +
}'
 +
</syntaxhighlight>
 +
Пример ответа:
 +
<syntaxhighlight lang="json">
 +
{
 +
    "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
 +
}
 +
</syntaxhighlight>
  
Пример:
+
2) Чтобы на устройство был отправлен пуш, при создании транзакции нужно указать следующий параметр в теле запроса
 
+
<syntaxhighlight lang="json">
7) Подтвердить транзакцию в мобильном приложении.
+
"notification_type": "Push"
 +
</syntaxhighlight>
  
=Пуши=
+
*PCP v5.0-5.1
Для проверки пушей необходимо установить PayConrol Pusher(PCP).
 
*v5.0-5.1
 
 
**Убедитесь, что в БД PCP добавлены данные для отправки пушей.
 
**Убедитесь, что в БД PCP добавлены данные для отправки пушей.
*v5.2
+
*PCP v5.2 и выше
 
**В данной версии PCP не использует БД, т.к. данные для отправки пушей в приложение уже внесены в конфигурационный файл PCP.
 
**В данной версии PCP не использует БД, т.к. данные для отправки пушей в приложение уже внесены в конфигурационный файл PCP.
При создании транзакции нужно указать в параметр
+
 
"notification_type": "Push"
+
3) После создания транзакции, подтвердите ее в мобильном приложении.
чтобы на устройство был отправлен пуш.
 

Текущая версия на 11:45, 21 ноября 2022

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

1) Установите мобильное приложение PayControl из PlayMarket или 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": {
            "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, отсканировав его в любом 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/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) После создания транзакции, подтвердите ее в мобильном приложении.