> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ycloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# whatsapp.payment.updated

> Происходит при изменении статуса платежной транзакции WhatsApp.

Используйте `whatsapp.payment.updated` для обработки этого события на вашей конечной точке Webhook.

## Триггеры

Происходит при изменении статуса платежной транзакции WhatsApp.

Подпишитесь на `whatsapp.payment.updated`, когда будете [настраивать конечную точку Webhook](https://docs.ycloud.com/ru/api-reference/guides/api-fundamentals/configure-webhooks.md).

## Синтаксис

YCloud отправляет HTTP-запрос `POST` на настроенный вами URL Webhook. Ниже показан один из вариантов полезной нагрузки. Значения в угловых скобках являются заполнителями; их типы перечислены в разделе **Параметры**. Необязательные поля и другие варианты описаны ниже.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "<ID>",
  "type": "whatsapp.payment.updated",
  "apiVersion": "<API_VERSION>",
  "createTime": "<CREATE_TIME>",
  "whatsappPayment": {
    "wabaId": "<WABA_ID>",
    "referenceId": "<REFERENCE_ID>",
    "status": "<STATUS>",
    "transactions": [
      {
        "id": "<ID>",
        "type": "<TYPE>",
        "status": "<STATUS>",
        "createdTimestamp": "<CREATED_TIMESTAMP_VALUE>",
        "updatedTimestamp": "<UPDATED_TIMESTAMP_VALUE>",
        "amount": {
          "value": "<VALUE_VALUE>",
          "offset": "<OFFSET_VALUE>"
        },
        "currency": "<CURRENCY>",
        "methodType": "<METHOD_TYPE>",
        "error": {
          "code": "<CODE>",
          "reason": "<REASON>"
        }
      }
    ]
  }
}
```

## Параметры

Проверьте HTTP-заголовок `YCloud-Signature` перед обработкой тела JSON. См. [проверку подписи](https://docs.ycloud.com/ru/api-reference/guides/api-fundamentals/configure-webhooks.md).

### Конверт события

| Параметр | Тип | Обязательный | Описание |
| - | - | - | - |
| `id` | string | Да | Уникальный идентификатор события. Минимальная длина: `6`. Максимальная длина: `128`. |
| `type` | string | Да | Всегда `whatsapp.payment.updated`. |
| `apiVersion` | string | Да | Версия API, использованная для формирования этого события. |
| `createTime` | string (date-time) | Да | Время создания этого события в формате [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339). Например, `2022-06-01T12:00:00.000Z`. |

### Полезная нагрузка события

| Параметр | Тип | Обязательный | Описание |
| - | - | - | - |
| `whatsappPayment` | object | Нет | Полезная нагрузка `whatsappPayment`, специфичная для конкретного события. |

Четыре общих поля конверта обязательны. Поля полезной нагрузки зависят от варианта события. В каждой таблице объектов статус **Обязательный** применяется при наличии родительского объекта. Необязательные поля могут быть опущены; их присутствие в примере не делает их обязательными.

#### whatsappPayment

| Параметр | Тип | Обязательный | Описание |
| - | - | - | - |
| `wabaId` | string | Да | Идентификатор WhatsApp Business Account. |
| `referenceId` | string | Да | Уникальный идентификатор платежа, предоставленный компанией. Чувствителен к регистру, не может быть пустой строкой, может содержать только буквы латинского алфавита, цифры, знаки подчеркивания, дефисы или точки и не должен превышать 35 символов. |
| `status` | string | Да | Статус этого платежа.<ul><li>`captured`: указывает, что платеж успешно завершен.</li><li>`pending`: указывает, что пользователь совершил попытку, но сигнал об успешном проведении транзакции еще не получен.</li></ul> |
| `transactions` | object\[] | Нет | Содержит последнюю попытку транзакции для этого платежа. |

> [accordion] whatsappPayment.transactions\[]
>
> | Параметр | Тип | Обязательный | Описание |
> | - | - | - | - |
> | `id` | string | Да | Идентификатор транзакции. |
> | `type` | string | Да | Тип оплаты для этих транзакций. Одно из значений: `billdesk`, `razorpay`, `payu` или `zaakpay`. |
> | `status` | string | Да | Статус транзакции. Одно из значений: `pending`, `success` или `failed`. |
> | `createdTimestamp` | integer (int64) | Да | Время создания транзакции в миллисекундах epoch. |
> | `updatedTimestamp` | integer (int64) | Да | Время последнего обновления транзакции в миллисекундах epoch. |
> | `amount` | object | Да | Общая сумма, оплаченная пользователем. |
> | `currency` | string | Да | Валюта этого платежа. В настоящее время единственным поддерживаемым значением является `INR`. |
> | `methodType` | string | Нет | Описывает тип метода оплаты, использованного клиентом для оплаты заказа. Может быть одним из следующих: `upi`, `card`, `wallet` или `netbanking`. Информация о способе оплаты может быть недоступна для неудавшихся платежей. |
> | `error` | object | Нет | Подробные сведения об ошибке платежа могут быть доступны не для всех попыток оплаты. |

> [accordion] whatsappPayment.transactions\[].amount
>
> | Параметр | Тип | Обязательный | Описание |
> | - | - | - | - |
> | `offset` | integer (int32) | Да | Должно быть `100` для `INR`. |
> | `value` | integer (int32) | Да | Положительное целое число, представляющее сумму, умноженную на offset. Например, для ₹12.34 значение равно 1234. |
> | `description` | string | Нет | Используйте только для `tax`, `shipping` или `discount`. Описание суммы. Максимальная длина — 60 символов.Максимальная длина: `60`. |
> | `discount_program_name` | string | Нет | Используйте только для `discount`. Текст, используемый для описания поощрительных заказов. Если заказ поощрительный, продавец должен указать эту информацию. Максимальная длина — 60 символов.Максимальная длина: `60`. |

> [accordion] whatsappPayment.transactions\[].error
>
> | Параметр | Тип | Обязательный | Описание |
> | - | - | - | - |
> | `code` | string | Да | Описывает причину сбоя платежа, сгенерированную платежным шлюзом и передаваемую Meta партнерам. |
> | `reason` | string | Да | Описывает причину сбоя платежа в виде обычного текста, которая сгенерирована платежным шлюзом и передается Meta партнерам. |

## Пример

Следующий JSON представляет собой тело, доставленное вашему получателю. Идентификаторы, номера телефонов и другие значения учетной записи приведены для наглядности.

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "id": "evt_eEkn26qar3nOB8md",
  "type": "whatsapp.payment.updated",
  "apiVersion": "v2",
  "createTime": "2024-10-10T07:08:00.000Z",
  "whatsappPayment": {
    "wabaId": "WABA-ID",
    "referenceId": "<reference-id>",
    "status": "captured",
    "transactions": [
      {
        "id": "<transaction-id>",
        "type": "razorpay",
        "status": "success",
        "createdTimestamp": 1728544066000,
        "updatedTimestamp": 1728544066000,
        "amount": {
          "value": 21000,
          "offset": 100
        },
        "currency": "INR",
        "methodType": "upi | card | wallet | netbanking",
        "error": {
          "code": "error-code",
          "reason": "error-reason"
        }
      }
    ]
  }
}
```

После проверки подписи и надежного сохранения события верните ответ `2xx`. Длительные операции выполняйте асинхронно.

```http theme={"theme":{"light":"github-light","dark":"github-dark"}}
HTTP/1.1 200 OK
```

Пошаговые сценарии см. в разделе [примеров с пояснениями](https://docs.ycloud.com/ru/api-reference/guides/examples/webhook-examples/whatsapp-payment-updated-webhook-examples).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.