treasurer/internal/models/yandex/webhook.go

55 lines
1.5 KiB
Go
Raw Normal View History

2023-06-13 13:22:51 +00:00
package yandex
type WebhookEventType string
const (
/* Платеж перешел в статус ожидания. */
WebhookEventPaymentWaiting WebhookEventType = "payment.waiting_for_capture"
/* Платеж перешел в статус "Успешно". */
WebhookEventPaymentSucceeded WebhookEventType = "payment.succeeded"
/* Платеж перешел в статус "Отменён". */
WebhookEventPaymentCanceled WebhookEventType = "payment.canceled"
)
const (
/* Возврат перешел в статус "Успешно". */
WebhookEventRefundSucceeded WebhookEventType = "refund.succeeded"
)
const (
/* Сделка перешла в статус "Закрыта". */
WebhookEventDealClosed WebhookEventType = "deal.closed"
)
const (
/* Выплата перешла в статус "Отменено". */
WebhookEventPayoutCanceled WebhookEventType = "payout.canceled"
/* Выплата перешла в статус "Успешно". */
WebhookEventPayoutSucceeded WebhookEventType = "payout.succeeded"
)
type CreateWebhookRequest struct {
Event WebhookEventType `json:"event"`
URL string `json:"url"`
}
type GetWebhooksResponse struct {
Type string `json:"type"`
Webhooks []Webhook `json:"items"`
}
type Webhook struct {
ID string `json:"id"`
Event WebhookEventType `json:"event"`
URL string `json:"url"`
}
type WebhookNotification[T any] struct {
Type string `json:"type"`
Event WebhookEventType `json:"event"`
Object T `json:"object"`
}