Versions Compared

Key

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

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

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

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

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

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

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

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

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

APIМетоды
Merchant API

BankCardPayment

GetBankCardPaymentState

ActivationPay

ApplePayPayment

PeerToPeer API

GetFormUrl

GetFormUrlByOrderId

GetFormUrlState

CheckPay

CheckPayState

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

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

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

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

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

Пользователь, в случае успешной обработки заявки на доступ получает письмо с темой "Выпущен новый сертификат для доступа к API". Задайте пароль и скачайте сертификат из личного кабинета (пункт меню "Доступ к API" в разделе "Настройки"). Безопасный пароль должен быть длиной от 7 до 20 символов, состоять из букв латинского алфавита (минимум одна буква в верхнем и нижнем регистре), цифр и хотя бы одного символа (@, $, !, %, *, ?, &). Сертификат скачивается в формате PFX. Проверьте работоспособность Вашего доступа на тестовом API, см. примеры.

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

Info
titleВнимание

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

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

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

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

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

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

Для использования сертификата в PHP его следует импортировать из формата PFX в PEM. Используйте утилиту OpenSSL 

Code Block
languagebash
openssl pkcs12 -in cert_file.pfx -out cert_file.pem


Code Block
languagephp
titleПример 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;
	}
?>


Code Block
languagec#
titleПример 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);
			}
		}
	}
}


Code Block
languagetext
titleПример ответа успешной валидации
{
  "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"
  }
}

Инструкция по получению SAQ для организации

Для получения SAQ необходимо пройти программу соответствия PCI DSS. В этом Вам помогут специализированные компании (список квалифицированных компаний можно посмотреть здесь).

Например, можно подтвердить соответствие PCI DSS и получить SAQ обратившись в компанию trustwave.com
Для этого потребуется купить аккаунт по ссылке (нажать на кнопку "get started"), либо обратиться в отдел продаж по почте InfoSales@Trustwave.com или по бесплатному телефону: 888-878-7817.

Table of Contents