Описание
Сервис является внутренней разработкой Приватбанка. Он позволяет получить полную информацию о владельце карты по ее номеру. 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
|
...
...
...
request_id
...
...
...
...
...
...
...
...
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.
...
Дані в колбеці необхідно розшифрувати використовуючи ваш 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 '';
}
|
|
...
Тестирования
...