Перейти к содержимому

Создание pay-out сделки

POST
/payment/pay-out
curl --request POST \
--url https://example.comhttps://svc.cashwell.io/payment/pay-out \
--header 'Content-Type: application/json' \
--header 'X-Secure-Key: example' \
--data '{ "amount": 10000, "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" }, "requisite": { "cardNumber": "2200241433210494", "ostCardNumber": "2200241433210494", "ownerName": "Иван Иванов", "sbpNumber": "79123215109", "qrCode": "https://bank.example/qr/abc123", "bank": "SBER" }, "callbackUrl": "https://example.com/callback", "merchantTransactionId": "100500", "timeoutInMin": 60, "isMatching": false, "matchingTransactionId": "MATCH-20260311-001" }'
X-Secure-Key
required
string

API ключ, который привязан к вашему кабинету

Media typeapplication/json
object
amount
required

Сумма выплаты в фиатной валюте, от 100 до 1 000 000. По ней рассчитывается сумма списания с баланса по текущему курсу. Допускает дробные значения

number

Example

10000
currency

Фиатная валюта выплаты. По умолчанию — валюта кабинета

string

Example

RUB
payerInfo

Данные получателя в вашей системе. Используются при разборе спорных ситуаций

object
userAgent

User-Agent браузера или приложения плательщика

string

Example

Mozilla/5.0 (Linux; Android 13; SM-G991B) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/121.0.0.0 Mobile Safari/537.36
ip

IP-адрес плательщика

string

Example

203.0.113.45
userId

Идентификатор клиента в вашей системе

string

Example

usr_847392
fingerprint

Отпечаток устройства или сессии плательщика по стандарту FingerprintJS

string

Example

9d1f2c8a7b6e5d4c3a2f1e0d9c8b7a6e5d4c3b2a1f0e9d8c7b6a5f4e3d2c1
registeredAt

Дата регистрации клиента в вашей системе: timestamp в миллисекундах, строкой

string

Example

1714567890123

Example

{
"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"
}
requisite
required

Реквизиты получателя. Передайте один платёжный идентификатор — он определяет способ перевода

object
cardNumber

Реквизиты банковской карты для осуществления выплаты

string

Example

2200241433210494
ostCardNumber

Реквизиты банковской карты для выплаты через OST C2C

string

Example

2200241433210494
ownerName

Имя владельца платёжного средства

string

Example

Иван Иванов
sbpNumber

Номер, используемый для перевода через СБП

string

Example

79123215109
qrCode

QR-код или строка для QR-оплаты, которую должен использовать трейдер при выплате

string

Example

https://bank.example/qr/abc123
bank

Банк получателя

string

Example

SBER
callbackUrl

Адрес для webhook-уведомлений об изменении статуса этой выплаты. Переопределяет значение, заданное в кабинете

string

Example

https://example.com/callback
merchantTransactionId
required

Идентификатор операции в вашей системе. Обязателен и должен быть уникален в рамках кабинета: по нему выполняется поиск выплаты и защита от повторного создания

string

Example

100500
timeoutInMin

Сколько минут выплата ждёт исполнителя, прежде чем будет отменена автоматически. От 1 до 1440. Уже начатая выплата по этому таймеру не отменяется

number

Example

60
isMatching

Если true, вместо обычной выплаты создаётся matching-заявка, которую закрывают входящие invoice-платежи

boolean

Example

false
matchingTransactionId

Отдельный идентификатор matching-заявки в вашей системе. Должен быть уникален в рамках кабинета. Если не передан, используется merchantTransactionId

string

Example

MATCH-20260311-001

Создание pay-out сделки

Media typeapplication/json
object
category
required

Категория callback payload

string
Allowed values: trade matching
id
required

Уникальный идентификатор сделки

string
merchantTransactionId
required

Идентификатор транзакции мерчанта (внешний)

object
matchingTransactionId

Идентификатор matching-транзакции, если callback относится к matching-linked pay-out.

object
amount
required

Сумма в фиатной валюте

number
crypto
required

Сумма в криптовалюте (для мерчанта)

string format: int64
rate
required

Курс обмена фиат → крипто (для мерчанта)

number
fee
required

Комиссия мерчанта

string format: int64
type
required

Тип сделки

string
Allowed values: pay-in pay-out
method
required

Метод реквизитов/оплаты

string
Allowed values: account ca_sbp ca_c2c sbp sbp_invoice qr ftd_qr qr_vietnam c2c ost_c2c c2c_invoice link foreign_sbp foreign_c2c alfa_tjs_sbp abh_sbp abh_c2c mobile_commercial mobile_commerce_tjs
status
required

Текущий статус сделки

string
Allowed values: pending active checking checking_manually manual_review dispute success_changed success canceled
requisite
required

Реквизиты для проведения сделки

object
id
required

Идентификатор реквизита

string
ownerName
required

Имя владельца платёжного метода

string
firstName

Имя владельца отдельным полем — для банков, которые требуют разделения имени и фамилии

object
lastName

Фамилия владельца отдельным полем — для банков, которые требуют разделения имени и фамилии

object
bank
required

Идентификатор банка для сделки

string
cardNumber
required

Номер карты платёжного метода

string
sbpNumber
required

Номер телефона для СБП

string
link
required

Ссылка на платёжный метод

string
qrCode
required

QR-код для отображения

string
accountNumber
required

Номер банковского счёта

string
bankBic

BIC банка для банковского счёта

object
currency
required

Фиатная валюта платёжного метода

string
crossBorderCurrency

Трансграничная валюта платёжного метода

object
paymentPageUrl
required

Ссылка на внешнюю платёжную страницу, где клиент видит реквизиты, сумму и таймер

string
dispute
required

Информация о споре/отмене (если есть)

object
disputeCreatedAt
required

Дата и время создания спора

object
disputeResolvedAt
required

Дата и время разрешения спора

object
disputeMerchantCheckUrl
required

Ссылка для мерчанта на проверку чека по спору

object
disputeTraderCheckUrl
required

Ссылка для трейдера на проверку чека по спору

object
disputeTraderFiatAmount
required

Фиатная сумма, заявленная трейдером в споре

object
disputeTraderDeclineReason
required

Причина отказа трейдера (если применимо)

object
cancelReason
required

Причина отмены сделки (если применимо)

object
payerInfo
required

Информация о плательщике (как хранится в системе)

object
userAgent

User-Agent браузера или приложения плательщика

string
ip

IP-адрес плательщика

string
userId

Идентификатор клиента в вашей системе

string
fingerprint

Отпечаток устройства или сессии плательщика по стандарту FingerprintJS

string
registeredAt

Дата регистрации клиента в вашей системе: timestamp в миллисекундах, строкой

string
payerBank

Банк плательщика, если он был передан при создании pay-in.

object
paymentLifetime
required

Окно транзакции в минутах

number
createdAt
required

Дата и время создания сделки

string format: date-time
invoicesUrl
required

Ссылка на инвойсы

Array<string>
nullable
factFiatAmount

Фактическая выплаченная сумма для matching callback

number
nullable
tradeIdsAll

ID всех сделок, связанных с matching

Array<string>
tradeIdsSuccess

ID успешных сделок, участвующих в закрытии matching

Array<string>
receiptValidation

Краткий публичный результат проверки загруженного чека.

object
summary
required

Краткий публичный результат проверки чека.

string
matchingId

ID matching, если сделка привязана к matching.

object
matchingTradeType

Тип связи сделки с 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": "Требуется ручное решение."
}
}