Пример запросов к API на PHP

Пример выполнения запросов к API на PHP

Ниже представлен пример работы с API на языке программирования PHP.

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>INECOPAY-TEST-PHP</title>
</head>
<body>
<?
// Регистрация заказа

// Для получения секретного ключа необходимо в личном кабинете открыть магазин 
// и зайти в Настройки->Интеграция
// там же выбрать тип шифрования MD5,SHA1 или SHA256(рекомендуется)
$secret_key = 'zvJI2Ipwtwsp6DIGn2LInxzuJuFzFwLqytntssvJwsEvIzGtpRC';  // Секретный ключ из настроек в личном кабинте
$partnerId = '1007';    // ID магазина
$paymentType = '14';    // Тип платежной 14 - Кредитной картой
$amount = 100;          // Сумма заказа в копейках !!!!!!!!! В КОПЕЙКАХ
 
// Генерация хеша-подписи на основе ключа, используя метод HMAC-SHA256
$sign = hash_hmac('sha256', $partnerId.$paymentType.$amount, $secret_key);

$url = 'https://inecopay.ru/inecogate/rest/api/v1.0/gate/register';
$params = array(
    'partnerId' => $partnerId,  
    'paymentType' => $paymentType,  
    'amount' => $amount,  
    'sign' => $sign, 
//    'orderId' => 'A10101',  здесь можете вставлять дополнительные данные согласно описанию в API 

// Документация к API по адресу
// https://inecopay.ru/inecogate/doc/dist/index.html?url=https://inecopay.ru/inecogate/doc/inecogate_gate.json
// Если у магазина открыт тестовый режим, то для проведения платежей используем список тестовых карт
// https://inecopay.ru/inecogate/doc/test_card.html

);

$result = file_get_contents($url, false, stream_context_create(array(
    'http' => array(
        'method'  => 'POST',
        'header'  => 'Content-type: application/x-www-form-urlencoded',
        'content' => http_build_query($params)
    )
)));

echo "Ответ вызова сервиса <b>register</b>";
echo $result.'<hr>';
$jsonReg = json_decode($result);
$frameUrl = $jsonReg->{'frameUrl'};
$transactionId = $jsonReg->{'transactionId'};
echo "Этот URL нужно открыть либо во фрейме, либо на новой странице. Как угодно.... -> ".$frameUrl;
?>
<!--Пример вывода платежной страницы в фрейме -->
<iframe src="<?php echo $frameUrl ?>" width="100%" height="540" frameBorder="0" scrolling="no"></iframe>

<?php
// Пример кода для проверки статуса платежа
$apiURL = "https://inecopay.ru/inecogate/rest/api/v1.0/gate/status?transactionId=".$transactionId;
$result = file_get_contents($apiURL);
echo "Ответ вызова сервиса <b>status</b>";
echo $result."<hr>";
$obj = json_decode($result);
    
print $obj->{'statusName'}."<br>";
?>



</body>
</html>