Создание pay-in сделки
const url = 'https://example.comhttps://svc.cashwell.io/payment/pay-in';const options = { method: 'POST', headers: {'X-Secure-Key': 'example', 'Content-Type': 'application/json'}, body: '{"bank":"ALFA","payerBank":"ALFA","method":"account","amount":1000.24,"currency":"RUB","payerInfo":{"userAgent":"Mozilla/5.0 (iPhone; CPU iPhone OS 17_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1","ip":"127.0.0.1","userId":"0000001","fingerprint":"fbb77b9f4265b18538e66cac5a37c6410dc2cdd7f0cddfde6eda25aa10df669b","registeredAt":"1767908042023"},"callbackUrl":"https://example.com/callback","successUrl":"https://example.com/payment/success","errorUrl":"https://example.com/payment/error","merchantTransactionId":"100500","counteragent":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.comhttps://svc.cashwell.io/payment/pay-in \ --header 'Content-Type: application/json' \ --header 'X-Secure-Key: example' \ --data '{ "bank": "ALFA", "payerBank": "ALFA", "method": "account", "amount": 1000.24, "currency": "RUB", "payerInfo": { "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "ip": "127.0.0.1", "userId": "0000001", "fingerprint": "fbb77b9f4265b18538e66cac5a37c6410dc2cdd7f0cddfde6eda25aa10df669b", "registeredAt": "1767908042023" }, "callbackUrl": "https://example.com/callback", "successUrl": "https://example.com/payment/success", "errorUrl": "https://example.com/payment/error", "merchantTransactionId": "100500", "counteragent": true }'Parameters
Заголовок раздела «Parameters»Header Parameters
Заголовок раздела «Header Parameters»API ключ, который привязан к вашему кабинету
Request Bodyrequired
Заголовок раздела «Request Bodyrequired»object
Банк реквизита. Если поле передано, будут возвращены реквизиты именно этого банка; иначе банк подбирается автоматически
Example
ALFAБанк плательщика. Сохраняется отдельно от банка реквизита и не влияет на подбор реквизита
Example
ALFAМетод оплаты. Легаси-значение ca_classic принимается как синоним ca_sbp.
Example
c2cСумма в фиатной валюте, от 1 до 3 000 000. Допускает дробные значения, например 5000.20
Example
1000.24Фиатная валюта сделки. По умолчанию — валюта кабинета
Example
RUBДанные плательщика. Используются антифрод-механизмами и при разборе спорных ситуаций
object
User-Agent браузера или приложения плательщика
Example
Mozilla/5.0 (Linux; Android 13; SM-G991B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Mobile Safari/537.36IP-адрес плательщика
Example
203.0.113.45Идентификатор клиента в вашей системе
Example
usr_847392Отпечаток устройства или сессии плательщика по стандарту FingerprintJS
Example
9d1f2c8a7b6e5d4c3a2f1e0d9c8b7a6e5d4c3b2a1f0e9d8c7b6a5f4e3d2c1Дата регистрации клиента в вашей системе: timestamp в миллисекундах, строкой
Example
1714567890123Example
{ "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 17_2 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Mobile/15E148 Safari/604.1", "ip": "127.0.0.1", "userId": "0000001", "fingerprint": "fbb77b9f4265b18538e66cac5a37c6410dc2cdd7f0cddfde6eda25aa10df669b", "registeredAt": "1767908042023"}Адрес для webhook-уведомлений об изменении статуса этой сделки. Переопределяет значение, заданное в кабинете. Если адрес не меняется, задайте его один раз в кабинете
Example
https://example.com/callbackSuccess URL. Куда вернуть плательщика после успешной оплаты. Переопределяет значение из настроек мерчанта.
Example
https://example.com/payment/successError URL. Куда вернуть плательщика после неуспешной оплаты. Переопределяет значение из настроек мерчанта.
Example
https://example.com/payment/errorИдентификатор операции в вашей системе. Должен быть уникален в рамках кабинета: повторный запрос с тем же значением вернёт ошибку вместо второй сделки
Example
100500Указывайте true если вы запрашиваете реквизит для контрагентов. Канал контрагента определяется полем method: c2c — карточный контрагент (в ответе только номер карты), любой другой метод — СБП-контрагент (в ответе только номер телефона).
Example
trueResponses
Заголовок раздела «Responses»Создание pay-in сделки
object
Категория callback payload
Уникальный идентификатор сделки
Идентификатор транзакции мерчанта (внешний)
object
Идентификатор matching-транзакции, если callback относится к matching-linked pay-out.
object
Сумма в фиатной валюте
Сумма в криптовалюте (для мерчанта)
Курс обмена фиат → крипто (для мерчанта)
Комиссия мерчанта
Тип сделки
Метод реквизитов/оплаты
Текущий статус сделки
Реквизиты для проведения сделки
object
Идентификатор реквизита
Имя владельца платёжного метода
Имя владельца отдельным полем — для банков, которые требуют разделения имени и фамилии
object
Фамилия владельца отдельным полем — для банков, которые требуют разделения имени и фамилии
object
Идентификатор банка для сделки
Номер карты платёжного метода
Номер телефона для СБП
Ссылка на платёжный метод
QR-код для отображения
Номер банковского счёта
BIC банка для банковского счёта
object
Фиатная валюта платёжного метода
Трансграничная валюта платёжного метода
object
Ссылка на внешнюю платёжную страницу, где клиент видит реквизиты, сумму и таймер
Информация о споре/отмене (если есть)
object
Дата и время создания спора
object
Дата и время разрешения спора
object
Ссылка для мерчанта на проверку чека по спору
object
Ссылка для трейдера на проверку чека по спору
object
Фиатная сумма, заявленная трейдером в споре
object
Причина отказа трейдера (если применимо)
object
Причина отмены сделки (если применимо)
object
Информация о плательщике (как хранится в системе)
object
User-Agent браузера или приложения плательщика
IP-адрес плательщика
Идентификатор клиента в вашей системе
Отпечаток устройства или сессии плательщика по стандарту FingerprintJS
Дата регистрации клиента в вашей системе: timestamp в миллисекундах, строкой
Банк плательщика, если он был передан при создании pay-in.
object
Окно транзакции в минутах
Дата и время создания сделки
Ссылка на инвойсы
Фактическая выплаченная сумма для matching callback
ID всех сделок, связанных с matching
ID успешных сделок, участвующих в закрытии matching
Краткий публичный результат проверки загруженного чека.
object
Краткий публичный результат проверки чека.
ID matching, если сделка привязана к matching.
object
Тип связи сделки с matching.
object
Example
{ "category": "trade", "id": "9ee42dff-83ec-4a90-8dfb-1fc74d3afbe4", "merchantTransactionId": "MERCH-TRX-20240910-00042", "matchingTransactionId": "MATCHING-TRX-20240910-00042", "amount": 2500, "crypto": "124825278", "rate": 80.12, "fee": "125000", "type": "pay-in", "method": "account", "status": "pending", "requisite": { "id": "a3c9f2e1-7d44-4c9a-9c21-8bfa11223344", "ownerName": "Иван Иванов", "firstName": "Иван", "lastName": "Иванов", "bank": "SBER", "cardNumber": "4111111111111111", "sbpNumber": "79035554433", "link": "https://pay.example.com/transfer/12345", "qrCode": "https://cdn.example.com/qrcode/payment.png", "accountNumber": "RU02000000000000001234", "bankBic": "040702615", "currency": "RUB", "crossBorderCurrency": "RUB" }, "paymentPageUrl": "https://pay.example.com/external/4b9a1a2c-9c10-4f6b-88aa-77bb66cc55dd", "dispute": { "disputeCreatedAt": "2024-09-10T10:15:00.000Z", "disputeResolvedAt": "2024-09-11T18:40:00.000Z", "disputeMerchantCheckUrl": "https://merchant.example.com/disputes/check/aa11bb22", "disputeTraderCheckUrl": "https://trader.example.com/disputes/check/cc33dd44", "disputeTraderFiatAmount": 1800, "disputeTraderDeclineReason": "Платёж не найден в выписке банка", "cancelReason": "Истекло время оплаты" }, "payerInfo": { "name": "Алексей", "phone": "79001234567" }, "payerBank": "ALFA", "paymentLifetime": 20, "createdAt": "2024-09-10T10:00:00.000Z", "invoicesUrl": "https://merchant.example.com/invoices/trade/c2f8a3e1", "factFiatAmount": 43650, "receiptValidation": { "summary": "Требуется ручное решение." }}