Здравствуйте. У меня стоит задача сделать на сайте оплату услуг используя API Тинькофф. У меня возникли сложности на этапе шифрования данных карты клиента. Язык программирования PHP.
На сайте Тинькофф сказано, что данные карты шифруются открытым ключом X509 RSA 2048 (вкладка Запросы
https://oplata.tinkoff.ru/develop/api/payments/fin...). Так же тут сказано, что банк выдаёт открытый ключ при регистрации терминала.
Погуглив, как примерно это всё делается я наткнулся на статья на Хабре (
https://habr.com/ru/post/255799/). С статье приводится следующий код, который мне понятен и всё бы ничего, но у меня нет открытого ключа.
<?php
$pub = <<<SOMEDATA777
-----BEGIN PUBLIC KEY-----
MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALqbHeRLCyOdykC5SDLqI49ArYGYG1mq
aH9/GnWjGavZM02fos4lc2w6tCchcUBNtJvGqKwhC5JEnx3RYoSX2ucCAwEAAQ==
-----END PUBLIC KEY-----
SOMEDATA777;
$data = "PHP is my secret love.";
$pk = openssl_get_publickey($pub);
openssl_public_encrypt($data, $encrypted, $pk);
echo chunk_split(base64_encode($encrypted));
?>
Мне были выданы следующий данные от Тинькофф: терминал (17 символов) и пароль (16 символов). Но открытый ключ выдан не был. Я связался с тех поддержкой Тинькофф и мне сказали, что терминала, который мне выдали, достаточно. Я в небольшом замешательстве, так как не понимаю как мне шифровать данные карты клиента. Подскажите пожалуйста, нужно ли мне как-то сгенерировать открытый ключ самостоятельно или выполнить какие-нибудь другие действия? Ранее мне не приходилось настраивать интернет эквайринг, поэтому возникли сложности и обратиться за помощью больше не к кому.