Ваша система и сервер ЮKassa по протоколу HTTPS. Версия TLS — 1.2 или выше. Для аутентификации вам необходимо получить клиентский сертификат в удостоверяющем центре ЮMoney (по запросу). Подробнее см. Взаимодействие по SSL
В процессе взаимодействия с ЮKassa вы будете обмениваться данными, помещенными в криптоконтейнер с АСП (цифровой подписью, аналогом собственноручной подписи). Криптоконтейнер не должен содержать цепочки сертификации. Компрессия данных и шифрование не используются. Криптоконтейнер должен быть закодирован в формате PEM (OpenSSL).
Для выполнения каждой из операций вам необходимо передавать отдельный HTTP-запрос, содержащий криптоконтейнер формата PKCS#7.
Формирование запроса к ЮKassa состоит из нескольких шагов.
Распоряжение формируется как документ по стандарту XML 1.0 (Fifth Edition). Документ должен быть сформирован в кодировке UTF‑8 согласно стандарту ISO 10646.
Адрес сервера для вызова операции
https://payouts.yookassa.ru:9094
Сформированный документ помещается в криптоконтейнер формата PKCS#7 согласно стандарту RFC 5652. Подробные требования к криптоконтейнеру описаны выше.
Сертификат, который вы используете при создании криптоконтейнера, должен соответствовать стандарту X.509 Version 3.
Вы формируете POST-запрос по протоколу HTTP/1.1 (см. также HTTP Over TLS и TLS). Криптоконтейнер можно передавать одним из двух способов:
- В теле POST-запроса, MIME‑тип:
application/pkcs7-mime
. - В качестве multipart-data вложения. MIME‑тип:
application/pkcs7-mime
. POST-запрос должен иметь только один'part'
, криптоконтейнер должен быть вложен как файл. Такой запрос может быть отправлен из стандартной HTML-формы для отправки файла на сервер (подробнее см. в стандарте RFC 7578).
Для авторизации запросов ЮKassa проверяет АСП криптоконтейнера.
Пример сформированного запроса
POST /webservice/deposition/api/makeDeposition HTTP/1.1 Content-Type: application/pkcs7-mime Content-Length: 572 -----BEGIN PKCS7----- MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAaCA JIAEDEhlbGxvIFdvcmxkIQAAAAAAADGCAS8wggErAgEBMCowJTEWMBQGA1UECgwN Qm91bmN5IENhc3RsZTELMAkGA1UEBhMCQVUCAQIwCQYFKw4DAhoFAKBdMBgGCSqG SIb3DQEJAzELBgkqhkiG9w0BBwEwHAYJKoZIhvcNAQkFMQ8XDTEwMDgwNjE1MzE0 M1owIwYJKoZIhvcNAQkEMRYEFC73veYIzlQE6X1fBC+V+J8cIyhxMA0GCSqGSIb3 DQEBAQUABIGAEgIfi0XDEZwbdC8i0I5EPUnFe1PUnBMiRs3heYxdK+oXaG6v3axO Zr+VNG3tnW1W8M2xWtOcM4PdSTwx98WR1mWN8XDb2Wl9HiG6CGbmE7k4TgcDKhcg iZmLV+7anBv302qTprTbKY9vChaaVwclSdQBkjPvxhlPnpBM0C9YdYQAAAAAAAA= -----END PKCS7-----
В ответ ЮKassa отправит вам XML-документ с результатом обработки запроса. MIME-тип:
application/pkcs7-mime
. Документ будет помещен в криптоконтейнер формата PKCS#7.При получении данных вам необходимо проверить АСП ответа, чтобы убедиться, что ответ отправила ЮKassa, а его содержимое не было изменено третьей стороной.