2.5. Bank wire Transfer¶
2.5.1. Спецификация протокола для платежа на произвольный счет в банке¶
Параметры передаются посредством метода POST по адресу: https://gate.payneteasy.eu/paynet/api/v2/bank-wire-transfer/ENDPOINTID
2.5.2. Процесс перевода средств на произвольные банковские реквизиты¶
- Пользователь системы начинает перевод средств, передав необходимые параметры.
- Payneteasy возвращает новый идентификатор заказа для этого перевода
- Пользователь начинает опрашивать статус заказа аналогично Sale Transactions
- Payneteasy возвращает текущий статус заказа. processing статус подразумевает что обработка заказа еще не завершилась.
- Payneteasy выполняет обработку перевода.
- Пользователь продолжает опрашивать статус заказа аналогично Sale Transactions
- Payneteasy возвращает статус approved или declined
Параметры для перевода средств по свободным реквизитам¶
Наименование входного параметра | Длина/Тип | Описание | Обязательность* |
---|---|---|---|
client_orderid | 128/String | Пользовательский идентификатор заказа. | Обязателен |
currency | 3/String | Трехзначный код валюты платежа, например RUB | Обязателен |
payer-fullname | 128/String | ФИО Плательщика | Обязателен |
recipient-account-number | 20/Numeric | Номер счета получателя | Обязателен |
recipient-bank-bic | 9/Numeric | БИК банка получателя | Обязателен |
amount | 10/Numeric | Сумма перевода. Копейки от рублей отделяются точкой. Например 10.5 | Обязателен |
payer-email | 128/String | E-mail плательщика | Необязательно |
payer-phone | 128/String | Телефон плательщика | Необязательно |
recipient-name | 255/String | Получатель платежа | Обязателен |
recipient-inn | 255/String | ИНН получателя | Обязателен |
payment-details | 120/String | Назначение платежа | Обязателен |
vat-amount | 10/Numeric | НДС (сумма) | Обязателен |
payer-identity-document | 64/String | Тип, серия и номер документа, удостоверяющего личность. Укажите нужный тип документа (2 цифры) + запятая + символы от 4 до 64:
|
Обязателен |
control | 40/String | Контрольная сумма, рассчитываемая по алгоритму SHA-1 для строки endpoint + client_orderid + payer-fullname + recipient-name + recipient-account-number + recipient-bank-bic + amount (в копейках) + vat-amount (в копейках) + currency + merchant_control. | Обязателен |
server_callback_url | 128/String | URL для получения результата перевода. Подробнее Merchant Callbacks | Необязателен |
* пробелы в начале и в конце строки будут опущены при рассчете контрольной суммы
Ответ¶
Наименование выходного параметра | Описание |
---|---|
type | Тип ответа. Может принимать значения async-response, validation-error, error. Если тип принимает значение validation-error или error, то параметры error-message и error-code содержат описание ошибки. |
paynet-order-id | Идентификатор заказа, назначаемый Payneteasy |
merchant-order-id | Идентификатор пользователя. |
serial-number | Уникальный номер, назначаемый Payneteasy для каждого запроса пользователя. |
error-message | Если статус error то тогда этот параметр содержит описание ошибки |
error-code | Код ошибки для статуса error |
Пример ответа¶
type=async-response
&serial-number=00000000-0000-0000-0000-0000000624e8
&merchant-order-id=59e1e3ca-5d44-11e1-b3d6-002522b853b4
&paynet-order-id=94935
2.5.3. Описание расчета параметра control¶
Параметр control - это контрольная сумма запроса, рассчитываемая по алгоритму SHA-1 для строки, получаемой конкатенацией следующих параметров:
- ENDPOINTID
- client_orderid
- payer-fullname
- recipient-name
- recipient-account-number
- recipient-bank-bic
- amount (в копейках)
- vat-amount (в копейках)
- currency
- merchant_control
Получившаяся строка должна выглядеть примерно так:
31MID-d05f7318-15f2-4818-a1e6-87d0f0e17d2eИванов Иван ИвановичООО Рога и Копыта40963810202157880527044525700555000RUB874A3BBC-4B9F-D581-1234-111111111111
Далее необходимо получить хэш от этой строки с помощью SHA-1. Получившееся значение необходимо передать в параметр control. Для примера выше, параметр control будет следующий:
2c75b188433dfd92fc2e9f9eccd86bd09f27cb99
2.5.4. Отладка¶
String to sign |
---|
Signature |
---|
|
* iFrame form integration is supported, but might work incorrectly for real cardholder data due to the issuer 3-D Secure form checks and can be used only for integration purposes
2.5.5. Получение статуса заказа¶
Пользователь должен использовать API получения статуса, для определения результата перевода. После отсылки запроса на перевод в Payneteasy , необходимо запомнить paynet-order-id , который будет возвращен в ответе, и использовать его для получения статуса.
URL для API получения статуса¶
API получения статуса использует обращение методом POST на следующий URL:
https://gate.payneteasy.eu/paynet/api/v2/status/ENDPOINTID
Параметры для получения статуса заказа.¶
Наименование входного параметра | Описание |
---|---|
login | Логин пользователя |
client_orderid | Идентификатор пользователя |
orderid | Идентификатор заказа, возвращаемый Payneteasy |
control | Контрольная сумма, SHA-1 для строки login + client-order-id + paynet-order-id + merchant-control. |
Ответ на запрос получения статуса¶
Наименование выходного параметра | Описание |
---|---|
type | Тип ответа, например status-response |
status | Подробнее Status List. |
paynet-order-id | Номер заказа, возвращаемый Payneteasy |
merchant-order-id | Идентификатор заказа клиента |
serial-number | Уникальный номер, назначаемый Payneteasy для каждого запроса пользователя.. |
transaction-type | Тип транзакции (transfer). |
order-stage | Текущее состояние транзакции. Подробнее Order Stage |
error-message | Если статус error то тогда этот параметр содержит описание ошибки |
error-code | Код ошибки для статуса error |
Пример ответа на запрос получения статуса.¶
type=status-response
&status=processing
&serial-number=00000000-0000-0000-0000-00000000006e
&merchant-order-id=MID-027f53ad-f5e1-43db-b954-3542f026e6ea
&paynet-order-id=12
Расчет параметра control для получения статуса заказа¶
Параметр control — это контрольная сумма запроса, рассчитываемая по алгоритму SHA-1 для строки, получаемой конкатенацией следующих параметров:
- login
- client_orderid
- orderid
- merchant_control
Пример:
Наименование параметра | Значение параметра |
---|---|
Наименование параметра | Значение параметра |
client_orderid | 5624444333322221111110 |
orderid | 9625 |
merchant_control | r45a019070772d1c4c2b503bbdc0fa22 |
Полностью строка:
cool_merchant56244443333222211111109625r45a019070772d1c4c2b503bbdc0fa22
Далее необходимо получить хэш от этой строки с помощью SHA-1. Получившееся значение необходимо передать в параметр control, пример:
c52cfb609f20a3677eb280cc4709278ea8f7024c