/v1/webhook

Нотификации об изменении статуса.

Запрос отправляется при изменении статуса заказа.

Поддерживаемые события:

  • ORDER_STATUS_UPDATED - изменение статуса платежа или доставки
  • OPERATION_STATUS_UPDATED - изменение статуса операции по подтверждению, отмене или возврату платежа

Request

POST

https://example.merchant.ru/v1/webhook

Production

POST

https://sandbox.example.merchant.ru/v1/webhook

Sandbox

Body

application/json
{
    "event": "TRANSACTION_STATUS_UPDATE",
    "eventTime": "2022-12-29T18:02:01Z",
    "merchantId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b",
    "operation": {
        "externalOperationId": "string",
        "operationId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b",
        "operationType": "AUTHORIZE",
        "orderId": "string",
        "status": "PENDING"
    },
    "order": {
        "deliveryStatus": "NEW",
        "orderId": "string",
        "paymentStatus": "PENDING"
    },
    "subscription": {
        "customerSubscriptionId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b",
        "nextWriteOff": "2022-12-29T18:02:01Z",
        "status": "NEW",
        "subscriptionPlanId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b"
    }
}

Name

Type

Description

event*

string

Enum: TRANSACTION_STATUS_UPDATE, ORDER_STATUS_UPDATED, OPERATION_STATUS_UPDATED, SUBSCRIPTION_STATUS_UPDATED

eventTime*

string<date-time>

время события в формате RFC 3339; YYYY-MM-DDThh:mm:ssTZD

merchantId*

string<uuid>

operation

OperationWebhookData

order

OrderWebhookData

если event == ORDER_STATUS_UPDATED

subscription

SubscriptionWebhookData

Состояние подписки. Передается, если event == SUBSCRIPTION_STATUS_UPDATED.

OperationWebhookData

Name

Type

Description

externalOperationId

string

operationId*

string<uuid>

operationType*

string

Enum: AUTHORIZE, BIND_CARD, REFUND, CAPTURE, VOID, RECURRING

orderId*

string

status*

string

Enum: PENDING, SUCCESS, FAIL

OrderWebhookData

если event == ORDER_STATUS_UPDATED

Name

Type

Description

deliveryStatus

string

Статусы доставки
Enum: NEW, ESTIMATING, EXPIRED, READY_FOR_APPROVAL, COLLECTING, PREPARING, DELIVERING, DELIVERED, RETURNING, RETURNED, FAILED, CANCELLED, null

orderId*

string

ID заказа, полученный в ответе /order/create

paymentStatus

string

Статус заказа
Enum: PENDING, AUTHORIZED, CAPTURED, VOIDED, REFUNDED, PARTIALLY_REFUNDED, FAILED, null

SubscriptionWebhookData

Состояние подписки. Передается, если event == SUBSCRIPTION_STATUS_UPDATED.

Name

Type

Description

customerSubscriptionId*

string<uuid>

ID подписки. Возвращается из SDK при успешном создании подписки. Также можно сохранить подписку при получении первой нотификации по ней. Дальнейшие обновления по этой подписке будут приходить с таким же значением этого поля.

nextWriteOff

string<date-time>

Дата следующей попытки списания денег по подписке

status*

string

Статус подписки
Enum: NEW, ACTIVE, CANCELLED, EXPIRED

subscriptionPlanId*

string<uuid>

ID плана подписки, созданного в личном кабинете или через API.

Responses

200 OK

success

Body

application/json
{
    "status": "success"
}

Name

Type

Description

status

string

Default: success

400 Bad Request

bad request

Body

application/json
{
    "reason": "string",
    "reasonCode": "FORBIDDEN",
    "status": "fail"
}

Name

Type

Description

reason

string

reasonCode*

string

Enum: FORBIDDEN, ITEM_NOT_FOUND, ORDER_NOT_FOUND, ORDER_AMOUNT_MISMATCH, ORDER_DETAILS_MISMATCH, OUT_OF_INVENTORY, PICKUP_POINT_NOT_FOUND, SHIPPING_DETAILS_MISMATCH, OTHER, UNAUTHORIZED, TOKEN_EXPIRED, CONFLICT

status

string

Default: fail

Предыдущая
Следующая