webapi/b2puser/sd-services/SDReverse - Отмена или возврат средств
Описание
- HTTP‑метод:
POST - URL:
/webapi/b2puser/sd-services/SDReverse/ - Форма взаимодействия: Сервер-сервер
- Формат тела запроса:
application/x-www-form-urlencoded - Назначение: выполнение отмены или возврата средств по операциям пополнения Кубышки и покупки с её помощью.
Важно: Идентификатор кубышки необходимо указывать только для отмены операций, созданных в рамках
sd_ref.
URL
1 | |
1 | |
Структура запроса
| Поле | Тип | Обяз. | Описание |
|---|---|---|---|
sector |
str |
✔ | Уникальный идентификатор учетной записи ТСП в ПЦ. |
id |
int |
✔ | Уникальный идентификатор платежа (Заказа) в ПЦ. |
signature |
str |
✔ | Цифровая подпись. В формировании подписи участвуют параметры (если они использованы в запросе): sector, id, amount, currency, sd_ref, unique_key, password в указанном порядке. |
| Необязательные параметры | |||
payer_wallet_public_id |
str |
Публичный идентификатор кошелька (в API сервиса). | |
sd_ref |
str |
Уникальный идентификатор Кубышки. Применяется только для сделок, которые были выполнены с указанием этого параметра. Для возвратов операций SDRelocateFunds укажите идентификатор Кубышки получателя средств из оригинальной (отменяемой) операции. | |
amount |
int |
Общая сумма Возврата/Отмены в минимальных единицах валюты. Для рублей — копейки. Если не указана — считается, что запрос сделан на полную остаточную сумму заказа. Сумма не может быть больше суммы отменяемого Заказа. | |
currency |
int |
Код валюты по ISO4217 (643 для RUB; 978 для EUR; 840 для USD). Если не указан — берется из Заказа. | |
unique_key |
str |
Ключ уникальности запроса. Генерируется на стороне ТСП. При получении ключа ПЦ выполняет проверку на наличие дубликата среди обрабатываемых запросов и созданных операций. Формат: допустимы цифры [0-9], латинские буквы [a-zA-Z], дефис и нижнее подчеркивание [-_]. Предупреждение: возможность использования ключа уникальности осуществляется по согласованию с Оператором. | |
Структура ответа
| Элемент | Тип | Описание |
|---|---|---|
order_id |
int |
Идентификатор заказа в ПЦ. |
order_state |
str |
Статус заказа |
reference |
str |
Номер заказа на стороне ТСП. |
id |
int |
Идентификатор операции в ПЦ |
date |
datetime |
Дата и время совершения операции в ПЦ (YYYY.MM.DD HH:MM:SS). |
type |
str |
Тип операции. |
state |
str |
Статус операции |
reason_code |
int |
Код ответа на операцию ПЦ |
message |
str |
Краткое описание кода ответа на операцию ПЦ |
amount |
int |
Сумма заказа в минимальных единицах валюты (для RUB — копейки). |
curency |
int |
Код валюты по ISO 4217 (643 — RUB, 978 — EUR, 840 — USD). |
approval_code |
str |
Код авторизации, полученный в Банке на данную операцию. |
sector_id |
str |
Уникальный идентификатор учётной записи ТСП в ПЦ. |
bin_issuer |
str |
Идентификационный номер банка-Эмитента. |
expdate |
str |
Дата истечения срока действия карты. |
iso |
str |
Код валюты по ISO 4217 (643 — RUB, 978 — EUR, 840 — USD). |
ps |
str |
Платёжная система. Возможные значения параметра: 0 (по умолчанию) — не установлена; 1 — Visa; 2 — MasterCard; 8 — Maestro; 10 – MIR; 11 — СБП; 12 — Uzcard; 13 — JCB; 14 — оплата со счёта мобильного телефона; 16 — HUMO; 17 — CHUP. |
rrn |
str |
RRN банковской транзакции. |
terminal_id |
str |
Идентификатор банковского терминала. |
ofd_state |
str |
Статус обработки платежа онлайн-кассой. |
signature |
str |
Цифровая подпись сообщения. В подписи участвуют значения всех тегов в порядке их следования и пароль для расчёта цифровой подписи, предоставляемый ТСП после его регистрации в ПЦ. |
Пример ответов
<?xml version="1.0" encoding="UTF-8"?>
<operation>
<order_id>1009982</order_id>
<order_state>REGISTERED</order_state>
<reference>test</reference>
<id>5587788</id>
<date>2024.01.28 00:23:19</date>
<type>P2PTRANSFER</type>
<state>APPROVED</state>
<reason_code>1</reason_code>
<message>Successful financial transaction</message>
<amount>100</amount>
<currency>643</currency>
<approval_code>122004</approval_code>
<sector_id>893</sector_id>
<bin_issuer>JOINT STOCK COMMERCIAL BANK MOSCOW INDUSTRIAL BANK</bin_issuer>
<expdate>10/2024</expdate>
<iso>643</iso>
<ps>2</ps>
<rrn>33147812</rrn>
<terminal_id>POS_1</terminal_id>
<ofd_state>APPROVED</ofd_state>
<signature>Y2Y0ZjllMGI3NDc0YjhjYTU2Yzk1ZTg1NGMxMmI1MDQ=</signature>
</operation>
<?xml version="1.0" encoding="UTF-8"?>
<error>
<description>Sector not found</description>
<code>105</code>
</error>
<?xml version="1.0" encoding="UTF-8"?>
<error>
<duplicated_operation>
<unique_key>test2</unique_key>
<id>449800</id>
<type>REVERSE</type>
<state>APPROVED</state>
<order_id>480413</order_id>
<reference>721716fc-6837-4dbc-8308-37de445c30f0</reference>
</duplicated_operation>
<code>299</code>
<description>unique_key is not unique</description>
<signature>OWY5YTY5YjljOTFhNTNkOGQyMDQ0YTY4ZGUxOTBhM2I=</signature>
</error>
Примечания
- При получении запроса ПЦ проверяет:
- Если в запросе передан параметр
unique_key, то ПЦ проверяет запрос на наличие дубля; - Правильность расчета подписи и корректность параметров запроса;
-
Статус Заказа должен быть
AUTHORIZEDилиCOMPLETED. -
Дальнейшие проверки и обработка запроса зависят от того, какая операция подлежит отмене/возврату:
- Если отмена/возврат выполняется для SDPayInDebit: отмена возможна только на полную сумму заказа. При указании
sd_refсумма баланса Кубышки не изменяется; - Если отмена/возврат выполняется для SDComplete, SDPayIn: если в запросе указан
sd_ref, такой жеsd_refдолжен быть задан у отменяемой операции. Сумма возврата не должна превышать сумму баланса Кубышки. При успешной операции баланс Кубышки уменьшится на величинуamount; -
Если отмена/возврат выполняется для SDPurchase: если в запросе указан
sd_ref, такой жеsd_refдолжен быть задан у отменяемой операции. При успешной операции баланс Кубышки увеличится на величинуamount. -
По окончании работы сервиса в случае успешной операции если сумма списания равна остаточной сумме заказа, то статус заказа меняется на
CANCELED.