Page tree

Versions Compared

Key

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

...

Multiexcerpt
hiddentrue
MultiExcerptNameВозможные значения OperationState.Code


Expand
titleВозможные значения


0успех
2ошибка




Multiexcerpt
hiddentrue
MultiExcerptNameВозможные значения Result.State.Code


Expand
titleВозможные значения


0успех
1успех с предупреждениями
любое другое значениеошибка




Section


Column
width60%

CreateInvoice - ВЫСТАВЛЕНИЕ СЧЁТА К ОПЛАТЕ

Multiexcerpt include
MultiExcerptNameЗаголовки Merchant 2.0 API
PageWithExcerptБыстрый старт

Code Block
languagetext
titleШаблон формирования заголовка Sign
eshopId::orderId::serviceName::recipientAmount::recipientCurrency::userName::email::successUrl::failUrl::backUrl::resultUrl::expireDate::holdMode::preference::signSecretKey


Code Block
languagetext
titleШаблон формирования параметра hash
eshopId::orderId::serviceName::recipientAmount::recipientCurrency::userName::email::successUrl::failUrl::backUrl::resultUrl::expireDate::holdMode::preference::secretKey



Column



...

Section


Column
width60%

Запрос

Имя параметраОписание
eshopId
Обязательный
ID магазина
orderId
Обязательный
Уникальный идентификатор покупки из вашей системы.
до 50 символов
recipientAmount
Обязательный
Сумма платежа, разделенная точкой. Минимальное значение - 10.00.
До 13 символов, до 2 цифр после точки.
recipientCurrency
Обязательный

Валюта платежа.

Multiexcerpt include
MultiExcerptNameВозможные значения Currency
PageWithExcerptБыстрый старт

email
Обязательный
E-mail покупателя.
До 100 символов.
hash
Обязательный

Контрольная подпись запроса

Expand
titleФормирование подписи запроса

Multiexcerpt include
MultiExcerptNameПараметр hash
addpaneltrue
PageWithExcerptБыстрый старт


serviceNameНазначение платежа - описание товара или услуги.
До 1024 символов.
userNameИмя покупателя
До 255 символов.
successUrlАдрес, на который происходит перенаправление плательщика с платежной страницы после успешной оплаты
До 512 символов.
failUrlАдрес, на который происходит перенаправление плательщика с платежной страницы в случае неуспешной оплаты
До 512 символов.
backUrlАдрес ссылки "Вернуться в магазин" на платежной странице
До 512 символов.
resultUrlАдрес, на который система IntellectMoney посылает HTTP/S POST запросы об изменении состояния cчёта
До 512 символов.
preference

Возможные способы оплаты счёта. Если не передавать, счет можно будет оплатить любым из подключенных способов.

Expand
titleВозможные значения
  • BankCard
  • YandexPay
  • Sbp

Можно перечислить несколько значений через запятую, например BankCard,YandexPay,Sbp


holdMode

Сразу списывать средства с карты, или холдировать (замораживать)

Expand
titleВозможные значения
  • 1 - включить холдирование
  • 0 - отключить холдирования
  • null/не передан - использовать настройки холдирования магазина


expireDate
Обязательный при holdMode = 1

Срок существования счёта - дата и время, по достижению которых оплатить счёт станет невозможно.
Формат: yyyy-MM-dd HH:mm:ss.
holdTime
Обязательный при holdMode = 1

Время, через которое захолдированные средства будут автоматически зачислены на счёт магазина или возвращены покупателю, измеряется в часах.
Целое число от 1 до 119 часов

В этой таблице опущена часть параметров, например параметры связанные с онлайн кассой и рекаррингом. См. полный список параметров в описании Merchant 2.0 API.


Column


Tip
iconfalse
titleПример запроса


Localtab Group


Localtab
activetrue
titleСырое тело


Code Block
languagetext
titleЗаголовки
Content-Type: application/json
Accept: application/json
Authorization: Bearer 92022dd8245a56d8a73446b43ebb3590
Sign: 58654f0550d44fb36fdb986080318aa9b277e1c7336ff6bdb2d00e329f2550e2


Code Block
languagetext
titleТело
{
    "eshopId": "465932",
    "orderId": "a072334a33c0428d8a447072a779ddf0",
    "recipientAmount": "15.00",
    "recipientCurrency": "TST",
    "email": "e.mozgovoy+1@intellectmoney.ru",
    "hash": "9b37951051c0ef86f837d1ed5a0780f6"
}



Localtab
titlePHP (библиотека IM)


Code Block
languagephp
titleПример PHP с библиотекой IM
// Используется библиотека <тут ссылка на библиотеку>
<?php
// TODO сделать нормальный пример
require_once __DIR__ . '/../vendor/autoload.php';
use IntellectMoney\SDK\MerchantApiClient;
use IntellectMoney\SDK\Structs\Common\AuthData;
use IntellectMoney\SDK\Structs\Request\CreateInvoiceDataModel;
use IntellectMoney\SDK\Structs\Common\Money;

$dataModel = new CreateInvoiceDataModel([
	"eshopId" => "465932",
	"orderId" => "fdsfdsfsd",
	"recipientAmount" => new Money(10),
	"email" => "e.mozgovoy+1@intellectmoney.ru"
]);

$authData = new AuthData(123456);

$result = MerchantApiClient::createInvoice($dataModel, $authData);
echo "<pre>";
var_dump($result);



Localtab
titleBash/Curl


Code Block
languagebash
#!/bin/bash

# Ключи
bearer_token="d41d8cd98f00b204e9800998ecf8427e"
sign_secret_key="1d5dde3821c0acfd4e3c748de9aaea5c"
eshop_secret_key="123456"

# Параметры запроса
eshop_id="465932"
order_id="order_$(date +%s | sha1sum | head -c 8)"
recipient_amount="10.00"
recipient_currency="TST"
email="e.mozgovoy+1@intellectmoney.ru"
service_name=""
user_name=""
success_url=""
fail_url=""
back_url=""
result_url=""
preference=""
hold_mode=""
expire_date=""
hold_time=""

# Генерируем хеш для заголовка Sign
sign_hash_string="${eshop_id}::${order_id}::${service_name}::${recipient_amount}::${recipient_currency}::${user_name}::${email}::${success_url}::${fail_url}::${back_url}::${result_url}::${expire_date}::${hold_mode}::${preference}::${sign_secret_key}"
sign_hash=$(echo -n "$sign_hash_string" | sha256sum | awk '{print $1}')

# Генерируем хеш для параметра hash
hash_string="${eshop_id}::${order_id}::${service_name}::${recipient_amount}::${recipient_currency}::${user_name}::${email}::${success_url}::${fail_url}::${back_url}::${result_url}::${expire_date}::${hold_mode}::${preference}::${eshop_secret_key}"
hash=$(echo -n "$hash_string" | md5sum | awk '{print $1}')

response=$(curl -X POST \
  -H "Authorization: Bearer ${bearer_token}" \
  -H "Sign: ${sign_hash}" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  --data-urlencode "eshopId=${eshop_id}" \
  --data-urlencode "orderId=${order_id}" \
  --data-urlencode "recipientAmount=${recipient_amount}" \
  --data-urlencode "recipientCurrency=${recipient_currency}" \
  --data-urlencode "email=${email}" \
  --data-urlencode "hash=${hash}" \
  --data-urlencode "serviceName=${service_name}" \
  --data-urlencode "userName=${user_name}" \
  --data-urlencode "successUrl=${success_url}" \
  --data-urlencode "failUrl=${fail_url}" \
  --data-urlencode "backUrl=${back_url}" \
  --data-urlencode "resultUrl=${result_url}" \
  --data-urlencode "preference=${preference}" \
  --data-urlencode "holdMode=${hold_mode}" \
  --data-urlencode "expireDate=${expire_date}" \
  --data-urlencode "holdTime=${hold_time}" \
  https://api.intellectmoney.ru/merchant/createInvoice)

echo "Response: $response"






...