Описание
Сервис является внутренней разработкой Приватбанка. Он позволяет получить полную информацию о владельце карты по ее номеру. Platon выступает в качестве посредника между сервисом Привата и МФО, которые совершают верификацию карт. Сервис позволит совершать более точную верификацию заемщиков, которые хотят получить займ на карту Приватбанка.
Процесс подключения к сервису
...
Подписание договора
...
Создать Public Key и передать его в тех саппорт Platon. Он будет использован для шифрования.
...
Создать Private Key. Он будет использован вами для расшифровки.
...
Даний сервіс надає можливість отримати інформацію про власника картки. Інформація доступна по карткам ПриватБанк та РайфайзенБанк Аваль.
Підписання договору
Створити Public Key та передати його в тех підтримку Platon. Він буде використаний для шифрування.
Створити Private Key. Він буде використаний для розшифрування.
Передати в тех підтримку посилання для коллбеків Bank ID, которая будет прописана на стороне Platon.
...
...
...
...
необхідно підключити сервіс.
Для просмотра примера раскройте список
...
Приклад генерації Private Key |
|
...
|
Code Block |
---|
| $config = [
"digest_alg" => "sha256",
"private_key_bits" => 2048,
"private_key_type" => OPENSSL_KEYTYPE_RSA,
];
$res = openssl_pkey_new($config); // Create the private and public key
openssl_pkey_export($res, $privateKey); // Extract the private key from $res to $privateKey
$publicKey = openssl_pkey_get_details($res); // Extract the public key from $res to $pubKey
$publicKey = $publicKey["key"]; //this is the public keys Platon needs to encrypt personal data values |
|
...
...
який необхідно передати в Platon |
|
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApS+BNczlkRMpWliY7Dx0 7NTxGyI1r5H97MNpEkLvARoyF0tLiR/vvkNwky9XsSNTKm9vsnjVBD5+Q1ztwoDu Dbwu4/cHkmtXd8b45iEeKZq2uk5qfBTi0jb9zkMAgM0+Tp5wkxEvan1zdmNtyDj2 g0OQSBgcqhuUHVBgPcFIWNFT15AmpYCWEBXJhf1EPn+pRNDxMGEHYGQYpVGT4U9u 3ZwSm4E1P2UXlErgfVcT4+CNuomdAun5rfh7SbkmA7SCQPI5uyvnB38hrA+bb5td 1MIOKxUut0riZ/B20B/gBae1hZPGvn7OmNmlxcOvr53oRR876GIGc5xiEAz6sQg0 bQIDAQKL -----END PUBLIC KEY----- |
...
HTTP METHOD:
API ENDPOINT: https://secure.platononline.com/bank_id/
...
Значение
...
Описание
...
Особенности
...
Обязательно
...
| Значення | Опис | Особливості |
---|
key
Status |
---|
colour | Green |
---|
title | ОБов'язковий |
---|
|
| String | API ключ мерчанта | Ключ |
...
надається на пошту мерчанта |
action
|
...
...
...
...
...
...
...
card_token
...
...
...
...
hash
...
Перечень параметров в Bank ID Callback
Для просмотра примера раскройте список
Контрольний підпис | Code Block |
---|
| md5(
strtoupper(
strrev($client_password).
strrev($request_id).
strrev($card_token)
)
) |
|
...
...
Проміжний успішний Response |
|
|
...
Опис |
---|
action
| GET_BANK_ID
| result
| ACCEPTED/DECLINED(При |
|
...
неправильному action) | request_id
| Unique Order ID in merchant’s system |
|
...
Проміжний невдалий Response |
|
|
...
Опис |
---|
action
| GET_BANK_ID
| error_message
| Description of the error | request_id
| Unique Order ID in merchant’s system | status
| ERROR |
|
...
...
параметрів Bank ID в callback |
|
...
...
коллбекі використовується content-type: application/x-www-form-urlencoded |
|
...
Увага! Всі дані зашифровані вашим Public Key |
Code Block |
---|
| {
"action": "GET_BANK_ID",
"status": "SUCCESS",
"state": "155fe6e01f11cab84a705e7baa5453fe",
"request_id": "53467567657",
"hash": "611431a06030410046ba2025ee9b02bb",
"personal_data": {
"type": "0n19rYzVpBF16MjiSBYoCL\/FenhjQz+Xbi9PLTdCHchqZVAFca0B409Aakby2boZ23bmJ3JpIDtHhApI37yDwOdJAtz\/ZkWrdzSy1aKIU0pdvpJvI5OzsjiE7dSHKFEFmryljCQL5rYObI0e4LDFApnLw5nkBLiaOEkZ8XEZirS6sSajFd33u0zrrC7TiAZccIqs4ANZlPP\/f67MhE\/FiVI5Lpma0Xcwy7tnT\/zNPgVp3L12TJ0Ms7vd+j4TC0\/xTMGUKHgtHa433wirQoOfib9Xe1ld+3WOWRW0f\/z1JNEVnjKAxzwEwO8v3YX0o5UA\/45iwVbUGWKSq4vZ9VpX2A==",
"inn": "DTuiYjvX8oqLuNaJ+d+7WDOIL6FNZrFa\/ENynvAs88cbqyIk0kyeDqDckAuDTawRH7znXPVSeVH3zIMONFPmcWRnfJK99iWBHvdfc9VFrL6SXHVPTwS4Ca48J0tWU7cW+36bTjTyU6gmfbWWDeVJ8xcJg31bJqWxJ81kFckU8xlLvL9gdCLBXuX+IwtymByJpyrhFa1qhMytJLoteMCWB4cGcHUIhuy9dP0tAQAYscKCWXdH1856x5PCARtUvMRwH5uWDz2f2KCx53YUhRZbwas0UzxSQRV+9YqcNWLqgEIHn5zTkPEchxF98K\/u61M48mx7aulXqKB2H7DlnxK6\/Q==",
"birthday": "AcdCKqcF8q3LLr18rAcQ+7e3UZ12w1+\/X094amXFWMKdm10jDFBNSA9pX\/bWoGTU+BAZiNXMa6DTiDEBwogGpoRobvSTyOUJJ+OuDH8mwJt3uDJZXO5aJLeF539WvS\/705xuNTee44JG8p1KKnKi5sITzXSajmMZ0WF4ARJc0C8bA1zsXOqsAaB9t1dXeBu6Ei8W4uv63OAWA1tWRwz\/81YzC\/in2Kkm3QElPtlxz1TJBroyAq7hHxpUGq89mhFY6aQbVoEVqnQHOvTyLCdIdmDDXNUN+uuFMltSRf5OmLm5We2gCZrcIGN7Kz9a6mS7GvW1deQamc0BSqzR8FxjRw==",
"firstName": "Dr7UWWJPH3fOgg+Wqz\/VZsZdz75rEKzbhFFeJ03qYNe9Vc+xPwjSdSmnWg3XBUU2iXd0KCmx2jQ7SE0Xsj\/EkoW1ZhN1pHxx1UCcX2zSCOk711QYCpDAhBO3FAAI5D8+JrI6+FfmBk3L9GmgkM4RXn9rES1FzV3UYI5GRUBjGot9xX3OVI9tlTL2JdblZOlVDQkD0L8pWlEReiDXBS\/Mv6JoTw0HdbH5aPqVj7m32IlV3u+hKc12kJGGkyBHaCziSkzjruzmgIWWzCVdwTQ60hHUqU2DzYfG5Dad2LwVqzgFt1t2lac4Oj\/RmSlsPnqlRXlVDy3roPXbcGS62PM5CA==",
"lastName": "NRZO3mQNiwiIiusK2zc5ABh+jdVRQSqsdAOq4ZVmRlsVsccjEtfUkpN1l\/0EiWdB5uXITkMAai6ot3aiQxoXx0GX8KXQ56MW0cjwSrJkqE4e0dm7fuBT2YlSMu\/c+krDJzbk4xN5ypRTWd6r6bITNr67PzgjQIGI9gTzbhmMRv0HwYPiR0f0OXfRtIGOTAcwHJEMtEhmiWCgKyM\/mY5SDNa3GFpFCIJRzw1XbxujpKOzNbxMHA0SvxMVF6Mex+zmnbjIGEGeGDa2GdLizFoTKswn3+XXyivlZ354A8efsBKNnowLhIxvo3vfdDIdswGxPdGmBd+dHI3AkYDdOoigLA==",
"middleName": "AqCla4V+s1Eqb\/wZ1L4adfEWmtDoqSxOeS4JeAYAjY7KnWLs3ZntEyDxPI4qAa8kqLyXe0to9IpOPnUht8iN6EkM0g4pYJ2FuR\/IRlENhkhKaw0P7qgIxjvp7vh5sNxC5uw9xCBQY68OHSJv33E91qzBXvoTyiButK0cgbLnnMUBFfyFbJVqd+uZ1PROAQeQg9p4k3gJ6NyHd7cVuAuONl7wsubtP3vJ9+AX197xh4GuR\/J3cdUfjGNFR+U2PH8l7ecyS00OMbCU\/FRcj+jtkPNHqW9gThKGTwi8BGAQOzktbxwOxRgWqutG+UlVWIkeR8X\/iBUgh3C\/SuMk8phdWg==",
"phone": "tS9bICWq378wxRBKDmfI+kgCQcdc+aB742MvB6AIkmFObB4ct0+TI4xIGy+ACuNgKSG\/fD\/JzKjxeLfs2BYGLspxoWc4m\/kayIvV40hFWBkIn822zItn\/LXlQym+Ea2l+slvFfmEIRl+bguuRZzaOfF84TibPNY0fzOkZ5pP75D6ZHO51R8VovIYp\/UOtXq2FW+6KSapx+v8BpRsnEKT8trayCIj4B8vnJhWlANXpbg4fC2phfA5IBOyxbehNKgR1yF5avp5cntGgVPzDw454hHKgWo177BY2ISnUuJ\/FlvJVZ00PN+ZOffWGZGNYkktIcZjjPft64Qx7vUvwzcX+w==",
"sex": "m3lsQqrL3W7xzLYOhf65XxdR0WDFweRNXQTFZmIrhJWFstTyDjXKbdf\/EHxMqutieWkrVA+v7G\/2c8TJAKJ\/ngBL21VLMD08ulp2knaQerH8jwxDZGXtCHNVwReswFcKgkOifHpoQlm6SbgGRXa3Ui+MW639JlK278e2hZQsktmLYROOLzPvJepThZb8B2iwLPTlN4L4wRWbXFXTwZxc4xk5AL3kSmd4h0U5jyB+JToBW\/jhh6XWauNyM8RTxeORjGU7F0kUAE20nd8QlSd2rXyixeZEYBsJeXLHuwQn6Ix3xlSat1rBTEnDTwi4ckU8eQbjSCS3B8e01G6hSmmwfg==",
"resident": "oongqY83C90TdkNcfR14tj9UYa5ANM\/VDT2g7Sd3c5blD26lL+zQrnJJJC7nhQZwnMikx2lsu09+bWtxzGuhnYg+PB7A8daK1EMga1KoZ0WWnlNKQWypus8nUlAzWEOfD7xMkrKPjIKEA8lJEl5PdTCXRtLet8gK7JnpvjQAXCJLzQt\/qykd5tA1dCPpMci0wCGuAPSSvfVWtSXD++xuuO7\/MR\/rN7Xrw8YWUoHYrjsYuhq0Nxvxa1R4jCjjFEvZK7fTEIVJidLmaTS4qQ+HKSEVHcNrA\/mt9PjLoVGsx4zDlA5X018q3ciKYeRoIXzNrSuUU\/A9bK1rO4jzJyQ03A=="
},
"date": {
"date": "2021-01-19 21:49:37.799296",
"timezone_type": "3",
"timezone": "UTC"
}
} |
|
...
Опис |
---|
action
| GET_BANK_ID
| status
| SUCCESS
| state
| Ордер |
|
...
запиту Bank ID | request_id
| Ордер в |
|
...
...
Контрольний підпис Code Block |
---|
| md5(
strrev(
json_encode(personal_data)
).
strrev(CLIENT_PASSWORD)
) |
| type
|
|
...
...
...
...
...
...
...
...
...
...
...
Расшифровка Bank ID Callback
...
Дані в колбеці необхідно розшифрувати використовуючи ваш Private Key.
Для просмотра примера раскройте список
...
...
|
Code Block |
---|
| function decryptPersonalData(array $encryptPersonalData): array {
$result = [];
foreach ($encryptPersonalData as $key => $value)
{
if (is_iterable($value)) {
$result[$key] = $this->decryptPersonalData($value);
}
else {
$result[$key] = $this->decrypt($value);
}
}
return $result;
}
function decrypt(string $data): string {
if (openssl_private_decrypt(base64_decode($data), $encrypted, '----- PRIVATE KEY-----'))
{
return $encrypted;
}
return '';
}
|
|
...
Тестирования
В целях тестирования необходимо использовать реальную картку Приватбанк на реальных транзакциях.
Ошибки запросов
В ходе проведения запрос вы можете получить разные ошибки. Пожалуйста, ознакомьтесь со списком возможных ошибок, их причин и возможности решения.
Для просмотра примера раскройте список
...
title | Список ошибок и их решение |
---|
...
Ошибка
...
Причины
...
Решение
...
Merchant not active
...
Мерчант не активен
...
Invalid signature
...
Неверная подпись hash
...
Проверьте формулу формирования hash
...
Incorect input data
...
Токен не принадлежит этому мерчанту
...
Отправьте запрос с того ключа, где был получен токен
...
System error
...
Ситуация требует внимания сотрудников Platon.
...
Рекомендуем обратиться в тех саппорт Platon для проверки причины.
...
Card is not issued by Privatbank
...
Карта не принадлежит Приватбанку или по карте не получили Personal Data от Bank ID
...
Request limit exceeded
...
Исчерпан лимит запросов
...
Duplicate request
...
Повторный запрос с уже существующим request_id в рамках данного client_key
...
Создайте новый запрос с новым уникакальным request_id
...
Inactive/blocked card
...