Уведомления о изменении статуса платежа (PayIn, PayOut)
Магазин получает уведомления о состоянии оплаты, и на их основе предоставляет услугу или товар покупателю.
Для корректной обработки уведомления продавец должен отправить ответ с кодом "200" и сообщением "OK".
Если статус не равен "OK", то уведомление не считается успешным. Сервис будет повторно отправлять уведомление каждый час в течение 24 часов. Если уведомление так и не будет доставлено через 24 часа, оно будет помещено в архив и храниться там еще 24 часа.
Куда будут приходить уведомления?
Попросите нас настроить терминал и укажите желаемый URL для получения увдомлений и мы создадим терминал под ваши нужны
Какая структура уведомлений (PayIn)?
При интеграции будет приходить уведомление только типа PaymentPaid, PaymentExpired, PaymentCancelled, PaymentDisputPaid
Примеры нотификаций (PayIn)
- payment-paid
- payment-expired
- payment-cancelled
- payment-disput-paid
Тип рассчета - deposit
PaymentPaid - случается при получении нами средств от клиента
{
type: "payment-paid",
payment: {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "paid",
"amount": 0,
"orderId": "3123",
"currency": "rub",
"expiredAt": "2023-03-29T19:12:45.035Z"
}
}
Тип рассчета - deposit
PaymentExpired - случается при истечении срока жизни платежа
{
type: "payment-expired",
payment: {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "expired",
"amount": 0,
"orderId": "3123",
"currency": "rub",
"expiredAt": "2023-03-29T19:12:45.035Z"
}
}
Тип рассчета - deposit
PaymentCancelled - случается при отмене платежа самим клиентом.
{
type: "payment-cancelled",
payment: {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"status": "cancelled",
"amount": 0,
"orderId": "3123",
"currency": "rub",
"expiredAt": "2023-03-29T19:12:45.035Z"
}
}
Тип рассчета - deposit
PaymentDisputPaid - происходит, когда платеж оплачивается после возникновения диспута. Это отличается от статуса paid тем, что может произойти после перехода платежа в статусы expired или cancelled, а также содержит поле finalAmount.
finalAmount - фактически полученное количество средств после разрешения диспута. Вы должны зачислить пользователю именно "finalAmount"
{
"type": "payment-disput-paid",
"payment": {
"id": "d0afe1e7-0000-4f5f-0000-422598c00000",
"amount": 25000,
"finalAmount": 30000,
"orderId": "1234orderid",
"status": "disput-paid",
"currency": "rub",
"expiredAt": "2023-04-20T10:40:00.503Z"
}
}
Какая структура уведомлений (PayOut)?
При интеграции будет приходить уведомление только типа PayoutPaidNotification, PayoutExpiredNotification, PayoutCancelledNotification, PayoutDisputPaidNotification Нотификации очень похожи на PayIn. Из очевидных изменений это изменение type нотификаций
Примеры нотификаций (PayOut)
- payout-paid
- payout-expired
- payout-cancelled
- payout-disput-paid
PayoutPaidNotification - случается при выплате средств клиенту
{
"type": "payout-paid", // Тип уведомления: оповещает, что выплата произведена
"payout": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Уникальный идентификатор выплаты
"status": "paid", // Статус выплаты
"amount": 1000, // Сумма выплаты
"currency": "rub", // Валюта выплаты. Возможные значения: rub
"orderId": "3123", // Уникальный идентификатор заказа
"userId": "12345", // Уникальный идентификатор пользователя
"rate": {
"USDT": {
"price": 70.5, // Курс валюты
"createdAt": "2023-03-29T19:12:45.035Z" // Дата получения курса
}
}
}
}
PayoutExpired - случается при истечении срока жизни платежа
{
"type": "payout-expired", // Тип уведомления: оповещает, что время выплаты истекло
"payout": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Уникальный идентификатор выплаты
"status": "expired", // Статус выплаты
"amount": 1000, // Сумма выплаты
"currency": "rub", // Валюта выплаты. Возможные значения: rub
"orderId": "3123", // Уникальный идентификатор заказа
"userId": "12345", // Уникальный идентификатор пользователя
"rate": {
"USDT": {
"price": 70.5, // Курс валюты
"createdAt": "2023-03-29T19:12:45.035Z" // Дата получения курса
}
}
}
}
PaymentCancelled - случается при отмене платежа самим клиентом.
{
"type": "payout-cancelled", // Тип уведомления: оповещает, что выплата была отменена
"payout": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Уникальный идентификатор выплаты
"status": "cancelled", // Статус выплаты
"amount": 1000, // Сумма выплаты
"currency": "rub", // Валюта выплаты. Возможные значения: rub
"orderId": "3123", // Уникальный идентификатор заказа
"userId": "12345", // Уникальный идентификатор пользователя
"rate": {
"USDT": {
"price": 70.5, // Курс валюты
"createdAt": "2023-03-29T19:12:45.035Z" // Дата получения курса
}
}
}
}
PayoutDisputPaid - происходит, когда платеж оплачивается после возникновения диспута. Это отличается от статуса paid тем, что может произойти после перехода платежа в статусы expired или cancelled и наличием поля finalAmount
{
"type": "payout-disput-paid", // Тип уведомления: оповещает, что выплата произведена по результатам диспута
"payout": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6", // Уникальный идентификатор выплаты
"status": "disput-paid", // Статус выплаты
"amount": 1000, // Запрошенная сумма выплаты
"finalAmount": 950 // Фактическая сумма выплаты
"currency": "rub", // Валюта выплаты. Возможные значения: rub
"orderId": "3123", // Уникальный идентификатор заказа
"userId": "12345", // Уникальный идентификатор пользователя
"rate": {
"USDT": {
"price": 70.5, // Курс валюты
"createdAt": "2023-03-29T19:12:45.035Z" // Дата получения курса
}
}
}
}