Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Описание

Сервис является внутренней разработкой Приватбанка. Он позволяет получить полную информацию о владельце карты по ее номеру. Platon выступает в качестве посредника между сервисом Привата и МФО, которые совершают верификацию карт. Сервис позволит совершать более точную верификацию заемщиков, которые хотят получить займ на карту Приватбанка.

Процесс подключения к сервису

...

Подписание договора

...

Создать Public Key и передать его в тех саппорт Platon. Он будет использован для шифрования.

...

Создать Private Key. Он будет использован вами для расшифровки.

...

Опис

Даний сервіс надає можливість отримати інформацію про власника картки. Інформація доступна по карткам ПриватБанк та РайфайзенБанк Аваль.


Процес підключення

  1. Підписання договору

  2. Створити Public Key та передати його в тех підтримку Platon. Він буде використаний для шифрування.

  3. Створити Private Key. Він буде використаний для розшифрування.

  4. Передати в тех підтримку посилання для коллбеків Bank ID, которая будет прописана на стороне Platon.

...

  1. Повідомити тех

...

  1. підтримці на

...

  1. який API ключ

...

  1. необхідно підключити сервіс.

Для просмотра примера раскройте список

Expand
title

...

Приклад генерації Private Key

...

та Public Key на PHP
Code Block
languagephp
$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
Expand
title

...

Приклад Public Key,

...

який необхідно передати в Platon

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApS+BNczlkRMpWliY7Dx0
7NTxGyI1r5H97MNpEkLvARoyF0tLiR/vvkNwky9XsSNTKm9vsnjVBD5+Q1ztwoDu
Dbwu4/cHkmtXd8b45iEeKZq2uk5qfBTi0jb9zkMAgM0+Tp5wkxEvan1zdmNtyDj2
g0OQSBgcqhuUHVBgPcFIWNFT15AmpYCWEBXJhf1EPn+pRNDxMGEHYGQYpVGT4U9u
3ZwSm4E1P2UXlErgfVcT4+CNuomdAun5rfh7SbkmA7SCQPI5uyvnB38hrA+bb5td
1MIOKxUut0riZ/B20B/gBae1hZPGvn7OmNmlxcOvr53oRR876GIGc5xiEAz6sQg0
bQIDAQKL
-----END PUBLIC KEY-----


API

...

параметри

HTTP METHOD:

Status
colourGreen
titlePOST

API ENDPOINT: https://secure.platononline.com/bank_id/

Параметр

...

Значение

...

Описание

...

Особенности

...

Обязательно

...

Значення

Опис

Особливості

key

Status
colourGreen
titleОБов'язковий

String

API ключ мерчанта

Ключ

...

надається на пошту мерчанта

action

Status
colourGreen
title

...

ОБов'язковий

GET_BANK_ID_TOKEN

Код

...

метода

request_id

Status
colourGreen
title

...

ОБов'язковий

String

...

Унікальний ID

...

запиту мерчанта

Max 255

...

символів

card_token

Status
colourGreen
title

...

card_token

ОБов'язковий

String

Токен

...

картки

card_token

...

отриманий з коллбека

hash

Status
colourGreen
title

...

ОБов'язковий

...

hash

String

...

Перечень параметров в Bank ID Callback

Для просмотра примера раскройте список

Контрольний підпис

Code Block
languagephp
md5(
  strtoupper(
    strrev($client_password).
    strrev($request_id).
    strrev($card_token)
  )
)

...

Status
colourGreen
titleДА


Callback & Response

Expand
title

...

Проміжний успішний Response

Параметр

...

Опис

action

GET_BANK_ID

result

ACCEPTED/DECLINED(При

...

неправильному action)

request_id

Unique Order ID in merchant’s system

Expand
title

...

Проміжний невдалий Response

Параметр

...

Опис

action

GET_BANK_ID

error_message

Description of the error

request_id

Unique Order ID in merchant’s system

status

ERROR

Expand
title

...

Приклад POST

...

параметрів Bank ID в callback

...

Info

В

...

коллбекі використовується content-type: application/x-www-form-urlencoded

Note

...

Увага! Всі дані зашифровані вашим Public Key

Code Block
languagejson
{
    "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

Ордер в

...

системі мерчанта

hash

...

Контрольний підпис

Code Block
languagephp
 md5(
  strrev(
    json_encode(personal_data)
  ).
  strrev(CLIENT_PASSWORD)
)

type

...

Фіз/юр

...

особа

inn

...

ІПН

birthday

Дата

...

народження

firstName

...

Ім'я

lastName

...

Прізвище

middleName

...

Побатькові

phone

Номер

...

телефону

sex

...

Стать

resident

...

Громадянство

date

Дата

...

Расшифровка Bank ID Callback

...

отримання інформації


Розшифровка Callback

Дані в колбеці необхідно розшифрувати використовуючи ваш Private Key.

Для просмотра примера раскройте список

Expand
title

...

Приклад функції для

...

розшифровки
Code Block
languagephp
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

...