Приём платежей через платежные ссылки | Документация для разработчиков
Принимайте платежи через платежные ссылки
Обновлено: 14 ноября 2025 г
Эта функция пока недоступна для широкой публики. Для получения дополнительной информации, [email protected]
Ваш бизнес может предоставить клиентам возможность оплачивать заказы, интегрировав в WhatsApp все поддерживаемые вашей платформой способы оплаты. Компании могут отправлять клиентам сообщения с подробными данными заказа (
счета-фактуры ), а затем получать уведомления об обновлении статуса платежа через веб-хуки платежного шлюза.Обзор
В настоящее время клиенты просматривают каталоги компаний, добавляют товары в корзину и отправляют заказы с помощью нашего набора решений для обмена сообщениями в сфере электронной коммерции, который включает в себя сообщения для отдельных товаров, сообщения для нескольких товаров и страницы с подробной информацией о товаре .
С помощью API WhatsApp Messaging компании могут отправлять клиентам счет для завершения заказа с использованием одного из поддерживаемых способов оплаты.
Как это работает
компания должна отправить потребителю сообщение
order_details заголовок , тело , нижний колонтитул и действие . В действия компания указывает всю информацию, необходимую клиенту для завершения платежа.Каждое
order_details содержит уникальный идентификатор reference_id, предоставленный компанией, и этот уникальный номер используется на протяжении всего процесса для отслеживания заказа. Этот идентификатор reference_id используется для генерации платежной ссылки от платежного шлюза.После отправки сообщения компания ожидает обновления статуса платежа или транзакции непосредственно от платежного шлюза. Получив подтверждение оплаты заказа, компания должна передать это подтверждение клиенту через интерактивное сообщение
order_status Уведомление пользователя о подтверждении оплаты важно, поскольку это сообщение обновляет информацию о заказе и отображает детали заказа для потребителя, отражая подтверждение заказа от продавца. Это показано на примере в последующих разделах.
Процесс покупки в приложении
В клиентском приложении WhatsApp процесс покупки состоит из следующих этапов:
Клиент отправляет заказ с выбранными товарами в компанию, или компания определяет товары, которые клиент проявил интерес к покупке.
После получения заказа или идентификации товара, если компания принимает платежи другими способами, помимо UPI, такими как кредитные карты и электронные кошельки и т. д., то компания отправит пользователю сообщение с просьбой указать предпочтительный способ оплаты заказа.

Когда потребители хотят оплатить заказ другим способом, компания должна сгенерировать платежную ссылку, обратившись к платежному шлюзу, указав уникальный «идентификатор ссылки» и другую информацию, такую как сумма, срок действия и т. д. Затем компания может использовать сгенерированную платежную ссылку для формирования сообщения с подробной информацией о заказе и отправки его потребителю.


Когда пользователь нажимает кнопку «Оплатить сейчас/Продолжить», он перенаправляется на страницу оплаты в специально разработанном браузере приложения, где отображается список поддерживаемых способов оплаты, таких как кредитная карта, дебетовая карта, электронный кошелек или приложения UPI. Пользователь может выбрать любой из этих способов оплаты для оформления заказа.
Ниже представлен пример перенаправления по ссылке для оплаты внутри приложения, принимающего различные способы оплаты, такие как кредитные и дебетовые карты, электронные кошельки и приложения UPI.


После завершения платежа компания получит уведомление от платежного шлюза, и ей необходимо отправить клиенту информацию о статусе заказа, сообщая о ходе его выполнения. Это обновит сообщения с призывами к действию (CTA) в подробных сведениях о заказе, на экране сведений о заказе и в самом статусе заказа. Статус заказа должен содержать соответствующий «идентификатор ссылки» в подробных сведениях о заказе.


Этапы интеграции
Описанные ниже шаги предполагают, что компания собирается отправить сообщение с подробной информацией о заказе клиенту.
На следующей диаграмме показана типичная последовательность интеграции API WA Payments: 

Шаг 1: Получите платежную ссылку от платежного шлюза
После того, как потребитель выразил заинтересованность в покупке товара, используя платежную ссылку, компании необходимо обратиться к платежному шлюзу, предоставив необходимую информацию, такую как идентификатор ссылки, сумма и срок действия, для генерации платежной ссылки. Ниже приведен пример платежной ссылки:
https://rzp.io/i/rNiAagU8y
сведения о заказе ) необходимо использовать один и тот же идентификатор ссылки, сумму и срок действия Шаг 2: Соберите интерактивный объект
Для отправки
order_details предприятиям необходимо собрать интерактивный объект типа order_details , состоящий из следующих компонентов:| Объект | Описание |
|---|---|
типобъект |
Необходимый.
Должно быть «order_details». |
заголовокобъект |
Необязательный.
Содержимое заголовка отображается поверх сообщения. Если заголовок не указан, API использует изображение первого доступного продукта в качестве заголовка |
телообъект |
Необходимый.
Объект, содержащий тело сообщения. Объект содержит следующее поле:
текстовая строкатело сообщения. Содержимое сообщения. Поддерживаются эмодзи и разметка Markdown. Максимальная длина — 1024 символа. |
нижний колонтитулобъект |
Необязательный.
Объект, содержащий нижнюю часть сообщения. Объект содержит следующие поля:
текстовая строканижний колонтитул . Содержимое нижнего колонтитула. Поддерживаются эмодзи, разметка Markdown и ссылки. Максимальная длина — 60 символов. |
действиеобъект |
Необходимый.
Объект действия, который пользователь должен выполнить после прочтения сообщения. Этот объект действия содержит следующие поля:
строка Обязательно . Должно быть «review_and_pay».
имениобъект См. объект «Параметры» для получения дополнительной информации.параметров |
Объект параметров
| Объект | Описание |
|---|---|
reference_idнить |
Необходимый.
Уникальный идентификатор заказа или счета-фактуры, предоставленный компанией. Он чувствителен к регистру, не может быть пустой строкой и может содержать только английские буквы, цифры, подчеркивания, дефисы или точки, а также не должен превышать 35 символов.
Идентификатор ссылки (reference_id) должен быть уникальным для каждого order_details , относящегося к одному и тому же заказу. Если партнер хочет отправить несколько сообщений order_details для одного и того же заказа, счета-фактуры и т. д., рекомендуется включить порядковый номер в reference_id ( например,reference_id . |
типобъект |
Необходимый.
Тип товаров, оплачиваемых в этом заказе. В настоящее время поддерживаются варианты цифровых товаров и физических товаров. |
бенефициарымножество |
Требуется для отгружаемых физических товаров.
Список получателей данного заказа. Получатель — это предполагаемый получатель физических товаров, указанных в заказе. Список содержит следующие поля:
Информация о получателях не отображается пользователям, но необходима по юридическим причинам и в целях соблюдения нормативных требований. строка Обязательно. Имя физического лица или организации, получающей физический товар. Не более 200 символов.
именистрока Обязательно. Адрес доставки (номер дома/башни, название улицы и т. д.). Не более 100 символов.
адрес_строка1строка Необязательно. Адрес доставки (ориентир, район и т. д.). Не должен превышать 100 символов.
адрес_строка2городская струнастрока Обязательно. Название штата.
состояниякантри струнастрока Обязательно. 6-значный почтовый индекс адреса доставки.почтового индекса |
payment_type |
Необходимый.
Должно быть «upi». |
настройки оплаты |
Обязательно. Дополнительные сведения см. в объекте «Настройки платежей» |
валюта |
Необходимый.
Валюта для этого заказа. В настоящее время поддерживается только валюта INR . |
Общая суммаобъект |
Необходимый.
Объект
total_amount содержит следующие поля:смещение целое число100 индийских рупий .
значение целое числоЗначение total_amount.value должно быть равно order.subtotal.value + order.tax.value + order.shipping.value - order.discount.value . |
заказобъект |
Необходимый.
см. объект заказа . |
Объект настроек платежа
| Объект | Описание |
|---|---|
тип строка |
Обязательно. Должно быть payment_link . |
|
объект payment_link |
Обязательно. Дополнительную информацию см. в объекте «Платежная ссылка» |
Объект ссылки для оплаты
| Объект | Описание |
|---|---|
|
строка uri |
Обязательно. Действительная платежная ссылка, сгенерированная через платежный шлюз.
Для приема платежей необходимо включить домены, на которых генерируются платежные ссылки. Для получения дополнительной информации, [email protected] |
|
строка success_url |
Необязательно. Процесс завершается с успешным статусом при достижении адреса success_url. |
cancel_url string |
Необязательно. Процесс завершается с ошибкой при срабатывании cancel_url. |
Объект заказа
| Объект | Описание |
|---|---|
статуснить |
Необходимый.
order_details находится в состоянии ожидания только допустимое значение .В сообщении order_status статус может быть следующим: pending , captured или failed . |
типнить |
Необязательный.
Поддерживается только значение quick_pay . При передаче этого поля кнопка «Просмотреть и оплатить» скрывается, и в окне с подробной информацией о заказе отображается только кнопка «Оплатить сейчас». |
предметыобъект |
Необходимый.
Объект со списком товаров для данного заказа, содержащий следующие поля:
retailer_id stringстрока Обязательно. Название товара, которое будет отображаться пользователю. Не может превышать 60 символов.
имениобъект Необязательно. Пользовательское изображение для элемента, отображаемого пользователю. См. объект изображения элемента для получения дополнительной информации.
изображенияИспользование этого поля изображения ограничит массив товаров максимум 10 элементами, и его нельзя использовать с retailer_id или catalog_id .суммы со значением и смещением — см. поле «Итоговая сумма» выше.sale_amount amount objectколичество целое числострока Обязательно, если country_of_origincatalog_id отсутствует. Страна происхождения продукта.
importer_name stringcatalog_id отсутствует. Название компании-импортера.
importer_adress stringcatalog_id отсутствует. Адрес компании-импортера. |
промежуточная суммаобъект |
Необходимый.
Значение должно быть равно сумме
order.amount.value * order.amount.quantity Для пояснения полей offset и value см. total_amount.Следующие поля являются частью
«Промежуточный итог» :смещение целое число100 индийских рупий.
значение целое число |
налогобъект |
Необходимый.
Налоговая информация по данному заказу содержит следующие поля:
смещение целое число100 индийских рупий.
значение целое числострока Необязательно. Максимальное количество символов — 60.описания |
перевозкиобъект |
Необязательный.
Стоимость доставки заказа. Объект содержит следующие поля:
смещение целое число100 индийских рупий.
значение целое числострока Необязательно. Максимальное количество символов — 60.описания |
скидкаобъект |
Необязательный.
Скидка на заказ. Объект содержит следующие поля:
смещение целое число100 индийских рупий.
значение целое числострока Необязательно. Максимальное количество символов — 60.
описанияdiscount_program_name string |
catalog_idобъект |
Необязательный.
Уникальный идентификатор каталога Facebook, используемого компанией.
Если вы не укажете это поле, вам необходимо указать следующие поля в объекте items: country_of_origin , importer_name и importer_address. |
срок действияобъект |
Необязательный.
Срок действия данного заказа. Бизнес-процесс должен определить следующие поля внутри этого объекта:
с меткой времени – UTC-метка времени в секундах, когда должен истечь срок действия ордера. Минимальный порог – 300 секунд.Описание – Текстовое пояснение к сроку действия. Максимальное количество символов – 120. |
Объект изображения элемента
| Объект | Описание |
|---|---|
|
строка ссылки |
Обязательно. Ссылка на изображение, которое будет показано пользователю. Должен быть файлом image/jpeg или image/png и иметь 8-битную кодировку, формат RGB или RGBA. Соответствует тем же требованиям, что и изображение в медиафайлах. |
параметра представляет собой строковый JSON-объект
.В итоге интерактивный объект для интеграции на основе каталога должен выглядеть примерно так:
параметра представляет собой строковый JSON-объект
.Для интеграции, не основанной на каталоге, то есть когда catalog-id отсутствует, пример полезной нагрузки выглядит следующим образом:
Шаг 3: Добавьте общие параметры сообщения
После завершения создания интерактивного объекта добавьте остальные параметры, формирующие сообщение:
recipient_type , to и type . Не забудьте установить тип как interactive .Шаг 4: Выполните POST-запрос к конечной точке Messages
Отправьте POST-запрос на
/[PHONE_NUMBER_ID]/messages, используя JSON- объект. Если ваше сообщение будет отправлено успешно, вы получите следующий ответ:Ошибки
Условия использования платежной системы WhatsApp находятся на рассмотрении
Если вы видите следующую ошибку, примите условия использования WhatsApp Payments, используя ссылку, указанную в сообщении об ошибке, прежде чем повторять попытку.
Со всеми остальными ошибками, которые могут быть возвращены, и рекомендациями по их обработке см. WhatsApp Cloud API, Коды ошибок .
Шаг 5: Покупатель оплачивает заказ
Потребители могут оплатить покупку с помощью платежной системы WhatsApp или любого приложения, поддерживающего UPI и установленного на устройстве.
Шаг 6: Получайте уведомления об обновлении статуса транзакции от платежного шлюза
Компании получают обновления счета-фактуры через веб-хуки платежного шлюза при изменении статуса транзакции, инициированной пользователем. Уникальный идентификатор reference-id, передаваемый в
order_details , может использоваться для сопоставления транзакции со счетом-фактурой потребителя или интерактивным сообщением с подробной информацией о заказе.Шаг 7: Обновить статус заказа
Получив сигналы о транзакции от платежного шлюза через веб-хук, компания должна обновить статус заказа, чтобы пользователь был в курсе. В настоящее время мы поддерживаем следующие значения статуса заказа:

| Ценить | Описание |
|---|---|
в ожидании |
Пользователь еще не оплатил заказ успешно |
обработка |
Оплата пользователем авторизована, продавец/партнер выполняет заказ, оказывает услугу и т. д. |
частично отгружено |
Часть товаров из заказа уже отправлена продавцом |
отправленный |
Все товары в заказе были отправлены продавцом |
завершенный |
Заказ выполнен, и от пользователя или партнера/продавца дальнейших действий не требуется |
отменено |
Партнер/продавец хочет отменить order_details для заказа/счета. Обновление статуса не удастся, если по этому сообщению order_details успешный или ожидающий |
Как правило, компании обновляют
статус заказа, используя либо уведомления об изменении статуса платежа в WhatsApp, либо собственные внутренние процессы. Для обновления статуса заказа партнер отправляет пользователю сообщение с указанием статуса заказа В следующей таблице описаны возвращаемые значения:
| Ценить | Описание |
|---|---|
reference_id |
Идентификатор, предоставленный партнером в сообщении order_details |
статус |
Новый статус |
описание |
Дополнительный текст для передачи информации о статусе заказа в поле «Детали заказа» . Может быть полезен при отправке уведомления об отмене. Максимальное количество символов — 120. |
Продавец всегда должен отправлять это сообщение о статусе заказа покупателю после получения обновлений по транзакции. Поскольку сообщение с подробной информацией о заказе и отображение экрана с подробной информацией о заказе связаны с обновлениями статуса заказа.
Шаг 8: Сверка платежей
Предприятиям следует использовать свои банковские выписки для сверки платежей, используя reference_id,
указанный в order_details .Контрольный список для интегрированных торговых площадок
Убедитесь, что
order_status отправляется потребителю, информируя его об обновлениях заказа после получения обновлений транзакции по заказу.Убедитесь, что продавец проверен, а контакт WABA отмечен галочкой «проверено».
Убедитесь, что WABA сопоставлен с соответствующим уровнем отправки сообщений, инициированных продавцом (1000, 10000 и 10000 сообщений в день)
Продавец должен указать контактную информацию службы поддержки клиентов на экране профиля на случай, если покупатель захочет сообщить о каких-либо проблемах.
Комментарии отсутствуют
Комментарии отсутствуют