Перейти к основному содержимому

Приём платежей через платежные ссылки | Документация для разработчиков

Принимайте платежи через платежные ссылки

Обновлено: 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 символов.
строка адрес_строка1
Обязательно. Адрес доставки (номер дома/башни, название улицы и т. д.). Не более 100 символов.
строка адрес_строка2
Необязательно. Адрес доставки (ориентир, район и т. д.). Не должен превышать 100 символов.
городская струна
Обязательно. Название города.
строка состояния
Обязательно. Название штата.
кантри струна
Обязательно. Должно быть «Индия».
строка почтового индекса
Обязательно. 6-значный почтовый индекс адреса доставки.
payment_type
Необходимый.
Должно быть «upi».
настройки оплаты
Обязательно. Дополнительные сведения см. в объекте «Настройки платежей»
валюта
Необходимый.
Валюта для этого заказа. В настоящее время поддерживается только валюта INR .
Общая сумма
объект
Необходимый.
Объект total_amount содержит следующие поля:
смещение целое число
Обязательно. должна составлять 100 индийских рупий .
значение целое число
Обязательно. Положительное целое число, представляющее значение суммы, умноженное на смещение. Например, 12,34 рупии имеют значение 1234.
Значение 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_origin
Обязательно, если catalog_id отсутствует. Страна происхождения продукта.
importer_name string
Обязательно, если catalog_id отсутствует. Название компании-импортера.
importer_adress string
Обязательно, если catalog_id отсутствует. Адрес компании-импортера.
промежуточная сумма
объект
Необходимый.
Значение должно быть равно сумме order.amount.value * order.amount.quantity Для пояснения полей offset и value см. total_amount.
Следующие поля являются частью «Промежуточный итог» :
смещение целое число
Обязательно. Сумма должна составлять 100 индийских рупий.
значение целое число
Обязательно. Положительное целое число, представляющее значение суммы, умноженное на смещение. Например, 12,34 рупии имеют значение 1234.
налог
объект
Необходимый.
Налоговая информация по данному заказу содержит следующие поля:
смещение целое число
Обязательно. Сумма должна составлять 100 индийских рупий.
значение целое число
Обязательно. Положительное целое число, представляющее значение суммы, умноженное на смещение. Например, 12,34 рупии имеют значение 1234.
строка описания
Необязательно. Максимальное количество символов — 60.
перевозки
объект
Необязательный.
Стоимость доставки заказа. Объект содержит следующие поля:
смещение целое число
Обязательно. Сумма должна составлять 100 индийских рупий.
значение целое число
Обязательно. Положительное целое число, представляющее значение суммы, умноженное на смещение. Например, 12,34 рупии имеют значение 1234.
строка описания
Необязательно. Максимальное количество символов — 60.
скидка
объект
Необязательный.
Скидка на заказ. Объект содержит следующие поля:
смещение целое число
Обязательно. Сумма должна составлять 100 индийских рупий.
значение целое число
Обязательно. Положительное целое число, представляющее значение суммы, умноженное на смещение. Например, 12,34 рупии имеют значение 1234.
строка описания
Необязательно. Максимальное количество символов — 60.
discount_program_name string
Необязательный текст. Используется для обозначения заказов с бонусами. Если заказ является заказом с бонусами, продавец должен указать эту информацию. Максимальное количество символов — 60.
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 сообщений в день)
Продавец должен указать контактную информацию службы поддержки клиентов на экране профиля на случай, если покупатель захочет сообщить о каких-либо проблемах.