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

Compare with Current View Page History

« Previous Version 6 Next »

Общая информация

Обращение к методам API IntellectMoney осуществляется через прикладывание к запросам SSL-сертификата, который выдается по заявке от пользователя после подтверждения менеджером запрашиваемого уровня доступа. Проверить работоспособность Вашего доступа можно на тестовом API, см. примеры. Доступ к API необходимо подтверждать с периодичность раз в год.

Уровни доступа

Базой уровень доступа

Минимально необходимый уровень доступа ко всем методам API для пользователей кошельков и интернет-магазинов. Этот уровень выставляется по умолчанию при создании заявки на доступ.

Доступ уровня PCI DSS

Необходимый уровень доступа к методам API, в которые передаются ДДК (данные держателей карт). Доступ требует подтверждения Вашего уровня соответствия стандарту PCI DSS.

Доступ уровня PCI DSS обязателен для следующих методов API

APIМетоды
Merchant API

BankCardPayment

GetBankCardPaymentState

ActivationPay

ApplePayPayment

Apple Pay APIGetButtonCode
PeerToPeer API

GetFormUrl

GetFormUrlByOrderId

GetFormUrlState

CheckPay

CheckPayState

Создание заявки на доступ

Заявка на доступ создается в личном кабинете (пункт меню "Доступ к API" в разделе "Настройки") пользователя кошелька или интернет-магазина.

В случае если Вам требуется доступ уровня PCI DSS, поставьте галочку "Запросить доступ к использованию ДДК", загрузите документ SAQ и укажите срок его действия (информация о формировании отчета SAQ см. на сайте pcisecuritystandards.org).

Результат обработки заявки на доступ будет выслан на почту, указанную при регистрации кошелька или интернет-магазина. В случае отклонения заявки на доступ, Вы можете подать ее повторно, приложив актуальные данные о документе SAQ.

Получение SSL-сертификата

Пользователь, в случае успешной обработки заявки на доступ, получает письмо с темой "Выпущен новый сертификат для доступа к API". Скачайте сертификат из личного кабинета (пункт меню "Доступ к API" в разделе "Настройки"). Перед скачиванием задайте пароль для использования сертификата. Проверьте работоспособность Вашего доступа на тестовом API, см. примеры.

Используйте сертификат в Ваших приложениях, отправляющих запросы к API.

Внимание

Обращаем Ваше внимание на то, что в целях безопасности сертификат можно скачать только один раз. В случае утери скачанного файла, процедуру получения доступа следует инициировать заново.

Продление доступа

Срок действия SSL-сертификата составляет один год. О выпуске продленного сертификата пользователь уведомляется по почте (тема письма "Выпущен новый сертификат для доступа к API"). Скачайте новый сертификат из личного кабинета и используйте его в Ваших приложениях, отправляющих запросы к API.

Если Вы используете API уровня PCI DSS, дополнительно следует подтверждать Ваш уровень соответствия стандарту PCI DSS по истечении срока действия документа SAQ. О необходимости обновления сведений о документе SAQ пользователь уведомляется по почте (тема письма "Срок действия документа SAQ подходит к концу").

Примеры использования

Для тестирования SSL-сертификата доступны методы API:

Пример PHP
<?php
	//openssl pkcs12 -in cert_file.pfx -out cert_file.pem
	$url = "https://api.intellectmoney.ru/personal/certificate/getCertificateValidationBaseLevel";
	$cert_file = 'cert_file.pem';
	$cert_password = '1234';
	$ch = curl_init();
	$options = array(
	CURLOPT_RETURNTRANSFER => true,
	CURLOPT_URL => $url,
	CURLOPT_SSLCERT => $cert_file,
	CURLOPT_SSLCERTPASSWD => $cert_password,
	);
	curl_setopt_array($ch, $options);
	$output = curl_exec($ch);
	if ($output === false) {
	echo "Curl Error : " . curl_error($ch);
	} else {
	echo $output;
	}
?>
Пример C#
using (X509Certificate2 certificate = new X509Certificate2(@"cert.pfx", "1234"))
{
	HttpClientHandler clientHandler = new HttpClientHandler();
	clientHandler.SslProtocols = SslProtocols.Tls12 | SslProtocols.Tls13;
	clientHandler.ClientCertificates.Add(certificate);
	clientHandler.ClientCertificateOptions = ClientCertificateOption.Manual;
	var requestParams = new Dictionary<string, string>
	{
		{"property", "value"}
	};
	using (var content = new FormUrlEncodedContent(requestParams))
	{
		using (HttpClient client = new HttpClient(clientHandler))
		{
			using (HttpResponseMessage response = client.PostAsync($"https://api.intellectmoney.ru/personal/certificate/getCertificateValidationPcidssLevel", content).Result)
			{
				response.EnsureSuccessStatusCode();
				string responseText = response.Content.ReadAsStringAsync().Result;
				Console.WriteLine(responseText);
			}
		}
	}
}
Пример ответа успешной валидации
{
  "OperationState": {
    "Code": 0,
    "Desc": "Успешно обработана"
  },
  "OperationId": "e8d24ac5-099b-41ce-a84a-a09b4ad9fe40",
  "Result": {
    "State": {
      "Code": 0,
      "Desc": "Успешно обработан."
    },
    "Data": "Congratulations! Your certificate is valid. Property value is value"
  }
}

  • No labels