Versions Compared

Key

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

Описание

Параметры, передаваемые в форме выставления счета описаны в документации протокола:    Документация API-merchant 2.0 (Оплата банковской картой)   .

Обязательными параметрами являются:

• eshopId   - номер магазина в системе IntellectMoney
• invoiceId - номер счета
• pan - Номер карты плательщика
• expiredMonth - Месяц, до которого действует карта
• expiredYear - Год, до которого действует карта
• returnUrl - Адрес, на который перенаправляет плательщика после успешного ввода 3DS-пароля
• ipAddress - IP адрес сайта, с которого выставляется платеж.
• hash   - контрольная подпись, правила формирования описаны тут.

Пример создания запроса

Начальные параметры:

• eshopId=453271  - номер магазина в системе IntellectMoney
• invoiceId=3053551762 - номер счета 
• pan=55555555444444
• expiredMonth=10
• expiredYear=21
• returnUrl='https://sait.ru/return_url.php'
• ipAddress='127.0.0.1'
• hash=dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20v3MvZ3Nkb21haW52YWxzaGEyZzIuY3JsMIG


В примере используется язык программирования - PHP:


Code Block
languagephp
themeRDark
titlebankcardpayment
$url = "https://api.intellectmoney.ru/merchant/bankcardpayment"; //Url обращения к методу bankcardpayment
$cert_file = 'c://сertificate.pem'; //Путь к сертификату
$cert_password = 'test'; //Пароль к сертификату

//Набор параметров 
$secretKey = 'test';
$eshopId = '453271';
$invoiceId = '3053551762';
$pan = '55555555444444';
$expiredMonth = '10';
$expiredYear = '21';
$returnUrl = 'https://sait.ru/return_url.php';
$ipAddress = '127.0.0.1';
$cardHolder = 'TEST';
$cvv = '123';

// Формат формирования хэша
//eshopId::invoiceId::pan::cardHolder::expiredMonth::expiredYear::cvv::returnUrl::ipAddress::secretKey

// Формирование хэша
$hash = md5($eshopId . '::' . $invoiceId . '::' . $pan . '::' . $cardHolder . '::' . $expiredMonth . '::' . $expiredYear . '::' . $cvv . '::' . $returnUrl . '::' . $ipAddress . '::' . $secretKey);

// Массив обязательных параметров
$params = [
    'eshopId' => $eshopId,
    'invoiceId' => $invoiceId,
    'pan' => $pan,
    'cardHolder' => $cardHolder,
    'expiredMonth' => $expiredMonth,
    'expiredYear' => $expiredYear,
    'returnUrl' => $returnUrl,
    'ipAddress' => $ipAddress,
    'cvv' => $cvv,
    'hash' => $hash,
    'debugexception' => "true"
];

// Отправляем запрос
echo (curlRequest($url, $params));

// Вспомогательная функция для отправки запросов
function curlRequest($url, $data) {
    $queryString = http_build_query($data);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $queryString);
    curl_setopt($ch, CURLOPT_SSLCERT, $cert_file);
    curl_setopt($ch, CURLOPT_SSLCERTPASSWD, $cert_password);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}