Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Описание

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


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

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

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

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

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

  5. Сообщить в тех саппорт на какой API ключ необходимо подключить сервис.

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

 Пример генерации Private Key и Public Key на PHP
$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
 Пример 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: POST

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


Параметр

Значение

Описание

Особенности

Обязательно

key

String

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

Ключ предоставляется на почту мерчанту

ДА

action

GET_BANK_ID_TOKEN

Код платежного метода

ДА

request_id

String

Уникальный ID запроса мерчанта

Max 255 символов

ДА

card_token

String

Токен карты

card_token из коллбека первичной транзакции

ДА

hash

String

Контрольная подпись

md5(
  strtoupper(
    strrev($client_password).
    strrev($request_id).
    strrev($card_token)
  )
)

ДА


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

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

 Промежуточный успешный 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

 Пример POST параметров Bank ID в callback при успешной верификации

В коллбеке используется content-type: application/x-www-form-urlencoded

Внимание! Все персональные данные в коллбеке зашифрованы вашим Public Key

{
    "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

Зашифрованная подпись для проверки достоверности коллбека

 md5(
  strrev(
    json_encode(personal_data)
  ).
  strrev(CLIENT_PASSWORD)
)

type

Физ/юр лицо

inn

ИНН

birthday

Дата рождения

firstName

Имя

lastName

Фамилия

middleName

Отчество

phone

Номер телефона

sex

Пол

resident

Гражданство

date

Дата получения информации


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

После этого необходимо провести расшифровку используя ранее созданный Private Key.

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

 Пример функции для дешифровки
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 '';
}

Тестирования

В целях тестирования необходимо использовать реальную картку Приватбанк на реальных транзакциях. На картах не Приватбанк всегда буде получен ответ с status = FAILED.

  • No labels