/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": {
        "cartUpdated": false,
        "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

Description

event*

Type: string

Enum: TRANSACTION_STATUS_UPDATE, ORDER_STATUS_UPDATED, OPERATION_STATUS_UPDATED, SUBSCRIPTION_STATUS_UPDATED

eventTime*

Type: string<date-time>

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

merchantId*

Type: string<uuid>

operation

Type: OperationWebhookData

order

Type: OrderWebhookData

если event == ORDER_STATUS_UPDATED

subscription

Type: SubscriptionWebhookData

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

OperationWebhookData

Name

Description

operationId*

Type: string<uuid>

operationType*

Type: string

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

orderId*

Type: string

status*

Type: string

Enum: PENDING, SUCCESS, FAIL

externalOperationId

Type: string

OrderWebhookData

Name

Description

orderId*

Type: string

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

cartUpdated

Type: boolean

Была ли обновлена корзина. Возвращается при оплате баллами.Если флаг имеет значение true, получите актуальную корзину.

deliveryStatus

Type: string

Статусы доставки

Enum: NEW, ESTIMATING, EXPIRED, READY_FOR_APPROVAL, COLLECTING, PREPARING, DELIVERING, DELIVERED, RETURNING, RETURNED, FAILED, CANCELLED, null

paymentStatus

Type: string

Статус заказа

Enum: PENDING, AUTHORIZED, CAPTURED, VOIDED, REFUNDED, CONFIRMED, PARTIALLY_REFUNDED, FAILED, null

SubscriptionWebhookData

Name

Description

customerSubscriptionId*

Type: string<uuid>

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

status*

Type: string

Статус подписки

Enum: NEW, ACTIVE, CANCELLED, EXPIRED

subscriptionPlanId*

Type: string<uuid>

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

nextWriteOff

Type: string<date-time>

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

Responses

200 OK

success

Body

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

Name

Description

status

Type: string

Default: success

400 Bad Request

bad request

Body

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

Name

Description

reasonCode*

Type: 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

reason

Type: string

status

Type: string

Default: fail

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