...
Для создания счета через API используется метод createInvoice()
из Merchant 2.0 API.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<?php Intellectmoney::CreateInvoice([ // Параметры метода 'eshopId' => 456093, 'orderId' => 1, 'serviceName' => null, 'recipientAmount' => '10.00', 'recipientCurrency' => 'RUB', 'userName' => null, 'email' => 'test@mail.ru', 'successUrl' => null, 'failUrl' => null, 'backUrl' => null, 'resultUrl' => null, 'expireDate' => null, 'holdMode' => null, 'preference' => null, 'recurringType' => 'Activate', // Данные для авторизации API запросов и расчета подписей 'token' => 'Bearer myToken', 'signSecretKey' => 'mySignSecretKey', 'eshopSecretKey' => 'mySecretKey', ]); class IntellectMoney { // Создание счета для операций по расписанию public static function CreateInvoice($params) { // URL запроса $url = 'https://api.intellectmoney.ru/merchant/createInvoice'; // Расчет подписи для заголовка авторизации API запросов, sign (SHA256) $signSignature = [ $params['eshopId'], $params['orderId'], $params['serviceName'], $params['recipientAmount'], $params['recipientCurrency'], $params['userName'], $params['email'], $params['successUrl'], $params['failUrl'], $params['backUrl'], $params['resultUrl'], $params['expireDate'], $params['holdMode'], $params['preference'], $params['signSecretKey'], ]; $signHash = hash('sha256', implode('::', $signSignature)); // Заголовки запроса $headers = [ 'Authorization: '.$params['token'], 'Sign: '.$signHash, ]; // Расчет подписи для переданных данных из счёта, purchaseHash (MD5) $purchaseHashSignature = [ $params['eshopId'], $params['orderId'], $params['serviceName'], $params['recipientAmount'], $params['recipientCurrency'], $params['recurringType'], $params['eshopSecretKey'], ]; $purchaseHash = md5(implode('::', $purchaseHashSignature)); // Расчет подписи для преданных данных, hash (MD5) $hashSignature = [ $params['eshopId'], $params['orderId'], $params['serviceName'], $params['recipientAmount'], $params['recipientCurrency'], $params['userName'], $params['email'], $params['successUrl'], $params['failUrl'], $params['backUrl'], $params['resultUrl'], $params['expireDate'], $params['holdMode'], $params['preference'], $params['eshopSecretKey'], ]; $hash = md5(implode('::', $hashSignature)); // Данные (тело) запроса $data = [ 'eshopId' => $params['eshopId'], 'orderId' => $params['orderId'], 'serviceName' => $params['serviceName'], 'recipientAmount' => $params['recipientAmount'], 'recipientCurrency' => $params['recipientCurrency'], 'userName' => $params['userName'], 'email' => $params['email'], 'successUrl' => $params['successUrl'], 'failUrl' => $params['failUrl'], 'backUrl' => $params['backUrl'], 'resultUrl' => $params['resultUrl'], 'expireDate' => $params['expireDate'], 'holdMode' => $params['holdMode'], 'preference' => $params['preference'], 'recurringType' => $params['recurringType'], 'purchaseHash' => $purchaseHash, 'hash' => $hash, ]; // Выполняем запрос $response = Intellectmoney::CurlRequest($url, $headers, $data); print_r((string)$response); } private static function CurlRequest($url, $headers, $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_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $queryString); curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); $response = curl_exec($ch); curl_close($ch); return $response; } } ?> |
...
Для создания счета через HTML форму используется форма запроса платежа из протокола приема платежей IntellectMoney.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
<?php $eshopId = "456093"; $orderId = 1; $serviceName = 'Оплата заказа 1'; $recipientAmount = 10.00; $recipientCurrency = "RUB"; $email = "test@mail.ru"; $recurringType = "Activate"; $secretKey = 'mySecretKey'; $hash_str = $eshopId."::".$orderId."::".$serviceName."::".$recipientAmount."::".$recipientCurrency."::".$recurringType."::".$secretKey; $hash = md5($hash_str); ?> <form action='https://merchant.intellectmoney.ru/ru/' enctype="application/x-www-form-urlencoded"> <input id='eshopId' type='hidden' value='<?=$eshopId?>' name='eshopId'/> <input id='orderId' type='hidden' value='<?=$orderId?>' name='orderId'/> <input id='serviceName' type='hidden' value='<?=$serviceName?>' name='serviceName'/> <input id='recipientAmount' type='hidden' value='<?=$recipientAmount?>' name='recipientAmount'/> <input type='hidden' value='<?=$recipientCurrency?>' name='recipientCurrency'/> <input id='user_email' type='hidden' value='<?=$email?>' name='email'/> <input id='recurringType' type='hidden' value='<?=$recurringType?>' name='recurringType'/> <input type='hidden' name='hash' value="<?=$hash?>" /> <input type=submit value='createInvoce' /><br/> </form> |
...