Платежная форма яндекс деньги: Яндекс.Деньги

Формы — Технологии Яндекса

Обязательные параметры
receiverstringНомер кошелька в Яндекс.Деньгах, на который нужно зачислять деньги отправителей.
quickpay-formstringВозможные значения:

  • shop — для универсальной формы;

  • small — для кнопки;

  • donate — для «благотворительной» формы.

targetsДо 150 символовНазначение платежа.
paymentTypestringСпособ оплаты. Возможные значения:

  • PC — оплата из кошелька в Яндекс.Деньгах;

  • AC — с банковской карты;

  • MC — с баланса мобильного.

sumCurrencyAmountСумма перевода (спишется с отправителя).
Необязательные параметры
formcomment

string

До 50 символов

Название перевода в истории отправителя (для переводов из кошелька или с привязанной карты). Отображается в кошельке отправителя.

Удобнее всего формировать его из названий магазина и товара. Например: Мой магазин: валенки белые

short-deststringНазвание перевода на странице подтверждения. Рекомендуем делать его таким же, как formcomment.
label

string

До 64 символов

Метка, которую сайт или приложение присваивает конкретному переводу. Например, в качестве метки можно указывать код или идентификатор заказа.
comment

string

До 200 символов

Поле, в котором можно передать комментарий отправителя перевода.
successURLstring, URL pathURL-адрес для редиректа после совершения перевода.
need-fiobooleanНужны ФИО отправителя.
need-emailbooleanНужна электронная почты отправителя.
need-phonebooleanНужен телефон отправителя.
need-addressbooleanНужен адрес отправителя.

Форма для HTTP-уведомлений — Технологии Яндекса

Обязательные параметры

shopId

long

Идентификатор магазина, выдается при подключении к Яндекс.Кассе.

scid

long

Идентификатор витрины магазина, выдается при подключении к Яндекс.Кассе.

sum

CurrencyAmount

Сумма заказа.

Note.

Сумма заказа может не передаваться только в одном случае: при оплате наличными через терминалы, по коду платежа (paymentType=GP). Тогда код платежа становится многоразовым. При каждом платеже по этому коду магазину перечисляется сумма, внесенная пользователем в терминал.

customerNumber

normalizedString

128 символов

Идентификатор плательщика в системе магазина. В качестве идентификатора может использоваться номер договора плательщика, логин плательщика и т. п.

Допустимы повторные оплаты по одному и тому же идентификатору плательщика.

Допустимые символы:

  • цифры от 0 до 9,

  • латинские буквы,

  • буквы русского алфавита,

  • символы [email protected]#$%^&*()_+{}|:»<>?-=[]\;./!»№;%:?*()_+/

  • пробелы (пробелы в начале и в конце недопустимы).

Необязательные параметры

orderNumber

normalizedString

64 символа

Уникальный номер заказа в системе магазина. Уникальность контролируется Яндекс.Кассой в сочетании с параметром shopId.

Если платеж с таким номер заказа уже был успешно проведен или в процессе платежа возникла ошибка, то повторные попытки оплаты будут отвергнуты Яндекс.Кассой.

shopArticleId

long

Идентификатор товара, выдается при подключении к Яндекс.Кассе. Применяется, если магазин использует несколько платежных форм для разных товаров.

shopSuccessURL

string, URL path

250 символов

URL, на который будет вести ссылка Вернуться в магазин со страницы успешного платежа. В зависимости от настроек магазина:

См. Параметры подключения

shopFailURL

string, URL path

250 символов

URL, на который будет вести ссылка Вернуться в магазин со страницы ошибки платежа.

В зависимости от настроек магазина:

См. Параметры подключения

shopDefaultUrl string, URL path250 символов

URL, на который будет вести ссылка Вернуться в магазин, когда процесс платежа на стороне Яндекс.Кассы завершен, но для завершения оплаты необходимы дополнительные действия пользователя.

Страницы, на которых отображается эта ссылка:

Если этот параметр задан, то на этот же URL будет вести ссылка Вернуться в магазин со страницы подтверждения оплаты.

Если shopDefaultUrl не задан, эта ссылка ведет на Адрес сайта из настроек.

cps_email

string

100 символов

Адрес электронной почты плательщика. Если он передан, то соответствующее поле на странице подтверждения платежа будет предзаполнено (шаг 3 на схеме платежа).

Допустимо передавать только адрес электронной почты (проверяется соответствие).

Restriction.

Этот параметр не передается в запросах checkOrder и paymentAviso.

cps_phone

string

15 символов, только цифры

Номер мобильного телефона плательщика. Если он передан, то соответствующее поле на странице подтверждения платежа будет предзаполнено (шаг 3 на схеме платежа).

Restriction.

Этот параметр не передается в запросах checkOrder и paymentAviso.

paymentType

normalizedString5 символов

Способ оплаты. Рекомендуем передавать в этом поле пустое значение, в этом случае выбор способа оплаты будет происходить на стороне Яндекс.Кассы.

Примеры:

Полный список значений

Restriction.

Если в платежной форме указан способ оплаты, который не разрешен для магазина, плательщик не сможет совершить платеж.

ym_merchant_receipt string

Данные для формирования чека в формате JSON.

Параметр передается и является обязательным, если вы настроили взаимодействие со своей онлайн-кассой через Яндекс.Кассу и передаете в платежной форме данные для формирования чека.

Дополнительные параметры для B2B-платежей (paymentType=2S)
payment_purposestring210 символовНазначение платежа. Обязательный параметр.
vatTypestringТип НДС. Возможные значения:

  • calculated — облагается налогом, у всех товаров одинаковая ставка;

  • untaxed — не облагается;

  • mixed — товары в платеже облагаются налогом по-разному.

vatRatestring

Ставка НДС. Обязательно, если vatType=calculated.

Возможные значения:

vatSumCurrencyAmountСумма НДС. Обязательно, если vatType=calculated или vatType=mixed. Вам необходимо самостоятельно подсчитывать точную сумму НДС и передавать в запросе на оплату. А также в поле sum передавать полную сумму, которую заплатит покупатель, вместе с НДС.
Параметры, которые может добавить магазин (необязательно)
custom_field string

Используется для передачи дополнительных параметров. Например, при оплате по QR-коду передается значение qrpayment.

Любые названия, отличные от перечисленных выше string

4096 символов (суммарная длина всех параметров)

Параметры, добавленные магазином в платежную форму, будут сохранены и переданы магазину в запросах checkOrder и paymentAviso.

Restriction.

В названиях добавленных параметров можно использовать буквы латинского алфавита в любом регистре, цифры, символ подчеркивания и дефис. Нельзя использовать пробел, точку и квадратные скобки [ ].

Название должно начинаться с буквы, но нельзя использовать в начале сочетание xml.

Виджет Яндекс.Кассы — Прием платежей по API Яндекс.Кассы

Виджет Яндекс.Кассы позволяет встроить на сайт готовую платежную форму. Пользователю будет доступно несколько способов оплаты: кошелек в Яндекс.Деньгах и привязанные к нему банковские карты, произвольная банковская карта, Apple Pay, Google Pay и Сбербанк Онлайн. С помощью виджета пользователь сможет сохранить в вашем магазине банковскую карту или кошелек в Яндекс.Деньгах для автоплатежей.

Платежная форма виджета Яндекс.Кассы

Платежная форма автоматически подстраивается под размеры устройства пользователя, проверяет вводимые данные и подсказывает пользователю, если что-то введено некорректно. Можно настроить язык интерфейса и цветовую схему платежной формы.

Чтобы принять платеж с помощью виджета, достаточно создать платеж по API Яндекс.Кассы, инициализировать виджет и отобразить форму на странице оплаты.

Для интеграции:

  1. Ознакомьтесь со сценарием проведения платежа в виджете.
  2. Настройте способы оплаты.
  3. Подготовьте страницу оплаты.
  4. Реализуйте проведение платежей.
  5. При необходимости настройте способ прохождения аутентификации по 3-D Secure.
  6. При необходимости реализуйте проведение автоплатежей.
  7. При необходимости настройте цветовую схему виджета.
  8. Настройте обработку ошибок инициализации виджета.
  1. Пользователь переходит к оплате.
  2. Вы отправляете Яндекс.Кассе запрос на создание платежа.
  3. Яндекс.Касса возвращает вам созданный объект платежа с токеном для инициализации виджета.
  4. Вы инициализируете виджет и отображаете форму на странице оплаты.
  5. Пользователь выбирает способ оплаты, вводит данные.
  6. При необходимости виджет перенаправляет пользователя на страницу подтверждения платежа (например, для аутентификации по 3-D Secure).
  7. Пользователь подтверждает платеж.
  8. Виджет перенаправляет пользователя на страницу завершения оплаты на вашей стороне.
  9. Вы отображаете нужную информацию, в зависимости от статуса платежа.

Готово!

Виджет поддерживает следующие способы оплаты:

  • кошелек в Яндекс.Деньгах и привязанные к нему карты,
  • произвольная банковская карта,
  • Apple Pay,
  • Google Pay,
  • Сбербанк Онлайн.

Кошельком в Яндекс.Деньгах и с привязанных к нему карт может оплатить только пользователь, авторизованный на Яндексе.

По умолчанию доступна оплата кошельком в Яндекс.Деньгах и с привязанных карт. Уточните у менеджера Яндекс.Кассы, какие еще способы оплаты вам разрешены.

Чтобы в виджете работала оплата с помощью Apple Pay и Google Pay, ваш сайт должен использовать HTTPS и действующий TLS/SSL-сертификат (минимальная версия — TLS v1.2). Для подключения Apple Pay выполните дополнительные настройки.

Шаг 1. Сообщите вашему менеджеру Яндекс.Кассы адрес сайта, на котором будет размещаться виджет.

Шаг 2. Скачайте файл merchant.ru.yandex.kassa и разместите его на своем сайте по адресу:

https://<домен вашего сайта>/.well-known/apple-developer-merchantid-domain-association

Путь к файлу должен быть строго таким — с точкой и дефисами. Точка в названии означает, что это скрытая папка.

Шаг 3. Чтобы оплата с помощью Apple Pay всегда была доступна в виджете, обновляйте TLS/SSL-сертификат не позднее, чем за 8 дней до окончания его срока действия.

Для приема платежей подготовьте страницу оплаты: подключите библиотеку и разместите виджет.

Шаг 1. Подключите скрипт. Библиотека будет доступна в глобальной области видимости под именем

YandexCheckout

.Шаг 2. На страницу оплаты добавьте HTML-элемент, в котором хотите разместить форму. Задайте для данного элемента атрибут

id

.Шаг 3. Для инициализации виджета создайте новый экземпляр класса

YandexCheckout

и передайте в него

confirmation_token

, который нужно получить в Яндекс.Кассе перед проведением платежа,

return_url

, на который пользователь вернется после оплаты, и callback-функцию, которая будет принимать код ошибки. При необходимости настройте цветовую схему.Шаг 4. Чтобы отобразить платежную форму, вызовите метод

render

. Передайте в него значение атрибута

id

, в котором нужно разместить форму.


<script src="https://kassa.yandex.ru/checkout-ui/v2.js"></script>


<div></div>

<script>

const checkout = new window.YandexCheckout({
    confirmation_token: 'confirmation-token', 
    return_url: 'https://merchant.site', 
    error_callback(error) {
        
    }
});


checkout.render('payment-form');
</script>

В процессе оплаты виджет может отображать пользователю различные сообщения. Чтобы пользователь мог их прочитать, добавьте на ваш сайт поддержку кодировки UTF-8.

Чтобы провести платеж:

  1. Создайте платеж в Яндекс.Кассе
  2. Инициализируйте виджет
  3. Завершите оплату

Для создания платежа отправьте Яндекс.Кассе запрос, передайте в нём данные для аутентификации запроса, ключ идемпотентности, объект

amount

с суммой платежа, объект

confirmation

с типом

embedded

и, при необходимости, параметр

description

с описанием транзакции, которое пользователь увидит при оплате. Также передайте параметр

capture

со значением

true

. Это значит, что вы получите деньги сразу после оплаты (при значении

false

нужная сумма заблокируется на счете пользователя, и после этого вы можете ее списать в удобное вам время).По умолчанию тексты в платежной форме отображаются на русском. Чтобы изменить язык интерфейса на английский или немецкий, передайте в

confirmation

параметр

locale

со значением

en_US

или

de_DE

соответственно.В запросе можно передать любые другие параметры, кроме

payment_method_data

,

payment_method_id

,

payment_token

,

airline

.

curl https://payment.yandex.net/api/v3/payments \
  -X POST \
  -u <Идентификатор магазина>:<Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "amount": {
          "value": "2.00",
          "currency": "RUB"
        },
        "confirmation": {
          "type": "embedded"
        },
        "capture": true,
        "description": "Заказ №72"
      }'

Способы оплаты — Технологии Яндекса

PC

Яндекс.Деньги

Возможен, полный и частичный1 час

AC

Банковская карта

Возможен, полный и частичный1 час

MC

Баланс телефона

Возможен только полный возврат1 час

GP

Наличные

НевозможенБез ограничения
EPЕРИП (Беларусь)НевозможенБез ограничения

WM

WebMoney

Возможен, полный и частичный1 час

SB

Сбербанк Онлайн

Возможен только полный возврат8 часов

MP

Мобильный терминал (mPOS)

Возможен (деньги возвращаются плательщику на следующий день)1 час

AB

Альфа-Клик

Возможен (деньги возвращаются плательщику на следующий день)8 часов
MA

MasterPass

Возможен, полный и частичный1 час
QWQIWI КошелекВозможен, полный и частичный1 час
CR, полный и частичный
2SСбербанк Бизнес Онлайн (B2B-платежи)Невозможен72 часа

Форма для HTTP-уведомлений — Яндекс Технологии

Обязательные параметры

shopId

long

Идентификатор продавца, который выдается при активации Яндекс.Кассы.

scid

long

Идентификатор платежной формы, выданный при активации Яндекс.Кассы.

сумма

CurrencyAmount

Сумма заказа.

Примечание.

Сумму заказа можно не указывать только в одном случае: при оплате наличными в киоске с использованием кода платежа (paymentType = GP). Тогда код платежа можно использовать повторно. Для каждого платежа с использованием этого кода продавцу переводится сумма, которую пользователь внес в киоск.

customerNumber

normalizedString

128 символов

Идентификатор клиента, используемый продавцом. Идентификатор может быть номером контракта клиента, именем пользователя или другим.

С одним идентификатором клиента можно произвести несколько платежей.

Допустимые символы:

Дополнительные параметры

orderNumber

normalizedString

64 символа

Уникальный номер заказа в системе продавца. Яндекс.Касса гарантирует, что этот номер уникален вместе с параметром shopId.

Если платеж с таким номером заказа уже был успешно обработан или в процессе платежа произошла ошибка, Яндекс.Касса отклонит любые повторные попытки этого платежа.

shopArticleId

long

Product ID. Выдается при активации Яндекс.Кассы. Используется, если в магазине есть несколько форм оплаты различных товаров.

shopSuccessURL

строка, путь URL

250 символов

URL для ссылки Back to store на странице успешной оплаты.В зависимости от настроек магазина:

  • Задайте в личном кабинете (см. Опцию successURL в разделе «Настройки»).
  • Передано динамически.

См. Параметры активации

shopFailURL

строка, путь URL

250 символов

URL-адрес для ссылки Назад в магазин на странице ошибки платежа.

В зависимости от настроек магазина:

  • Устанавливается в личном кабинете (см. Опцию failURL в разделе «Настройки»).
  • Передано динамически.

См. Параметры активации

shopDefaultUrl строка, путь URL 250 символов

URL для ссылки Назад в магазин , когда часть процесса оплаты Яндекс.Кассы завершена, но у пользователя все еще есть дополнительные шаги, которые необходимо выполнить, чтобы завершить платеж.

Страницы, на которых отображается эта ссылка:

Если этот параметр установлен, тот же URL используется для ссылки Назад в магазин на странице подтверждения платежа.

Если shopDefaultUrl не установлен, эта ссылка указывает на адрес сайта из настроек.

cps_email

строка

100 символов

Электронный адрес плательщика. Если он принят, соответствующее поле на странице подтверждения платежа будет предварительно заполнено (шаг 3 в процессе оплаты).

Вы можете передавать только адрес электронной почты (мы его проверяем).

cps_phone

строка

15 знаков, только цифры

Номер мобильного телефона плательщика.Если он принят, соответствующее поле на странице подтверждения платежа будет предварительно заполнено (шаг 3 в процессе оплаты).

paymentType

normalizedString 5 символов

Способ оплаты. Рекомендуем передать в это поле пустое значение, чтобы способ оплаты был выбран в Яндекс.Кассе.

Примеры:

Полный список значений

Ограничение.

Если в платежной форме указан метод оплаты, который не разрешен продавцом, покупатель не может завершить платеж.

ym_merchant_receipt строка

Подробная информация для создания квитанции в формате JSON.

Параметр передается и является обязательным, если вы настраиваете взаимодействие со своей онлайн-кассой через Яндекс.Кассу и передаете реквизиты для создания квитанции в форме оплаты.

Дополнительные параметры для платежей B2B (paymentType = 2S)
payment_purpose string 210 символов Назначение платежа.Обязательный параметр.
vatType string Вид НДС. Возможные значения:

  • рассчитано — облагается налогом, все товары имеют одинаковую ставку;

  • без налогообложения — не облагается налогом;

  • смешанный — товары при оплате по-разному облагаются налогом.

НДС строка

Ставка НДС. Обязательно, если vatType = рассчитано.

Возможные значения:

  • 0 — ставка НДС 0%;

  • 7-7% ставка НДС;

  • Ставка НДС 10-10%;

  • 18 — ставка НДС 18%;

  • Ставка НДС 20-20%.

НДС Сумма Валюта Сумма Сумма НДС. Требуется, если vatType = рассчитано или vatType = mixed. Вам необходимо самостоятельно рассчитать точную сумму НДС, а затем указать ее в заявке на оплату. Также укажите полную сумму, которую должен заплатить клиент, включая НДС, в поле суммы.
Параметры, которые может добавить продавец (необязательно)
custom_field string

Используется для передачи дополнительных параметров.Например, при оплате QR-кодом передается сумма qrpayment.

Любые имена, кроме перечисленных выше строка

4096 символов (общая длина всех параметров)

Параметры, которые продавец добавляет в платежную форму, сохраняются и передаются продавцу в checkOrder и платежные запросы авизо.

Ограничение.

Имена добавляемых параметров могут содержать прописные или строчные латинские буквы, цифры, подчеркивание и тире.Пробелы, точки и квадратные скобки [] не допускаются.

Имя должно начинаться с буквы, но не может начинаться с комбинации xml .

.

Яндекс.Деньги — Прием платежей через API Яндекс.Кассы

Готовые решения:

Step 1 . Создайте платеж с типом

yandex_money

в объекте

payment_method_data

и типом

redirect

, а также URL страницы на вашей стороне для перенаправления пользователя после оплаты (в параметре

return_url

) в

подтверждение

объекта.

Пример запроса

  curl https: // payment.yandex.net/api/v3/payments \
  -X POST \
  -u <Идентификатор магазина>: <Секретный ключ> \
  -H 'Ключ идемпотентности: <Ключ идемпотентности>' \
  -H 'Content-Type: application / json' \
  -d '{
        "количество": {
          "value": "2,00",
          «валюта»: «рубли»
        },
        "payment_method_data": {
          "type": "yandex_money"
        },
        "подтверждение": {
          "тип": "перенаправление",
          "return_url": "https://www.merchant-website.com/return_url"
        },
        "описание": "Номер заказа72"
      } ' 

Шаг 2 . Перенаправьте пользователя на страницу оплаты (вы получите URL в параметре

confirm_url

).

Пример созданного объекта платежа

  {
  "id": "22c5d0f0-000f-5000-8000-13ece77bc6c1",
  "Статус: ожидание",
  "оплачено": ложь,
  "количество": {
    "value": "2,00",
    «валюта»: «рубли»
  },
  "подтверждение": {
    "тип": "перенаправление",
    "URL_подтверждения": "https://money.yandex.ru/payments/internal/confirmation?orderId=22c5d0f0-000f-5000-8000-13ece77bc6c1"
  },
  «created_at»: «2018-06-27T16: 37: 04.513Z»,
  «описание»: «Заказ № 72»,
  "метаданные": {},
  "Способ оплаты": {
    "type": "yandex_money",
    "id": "22c5d0f0-000f-5000-8000-13ece77bc6c1",
    "сохранено": ложь
  },
  "recipient": {
    "account_id": "100001",
    "gateway_id": "1000001"
  },
  "возмещаемый": ложь,
  "тест": ложь
}  

Шаг 3 . Подождите, пока платеж будет успешно завершен: вы получите уведомление от Яндекс.Кассы, либо вы можете отправлять периодические запросы информации о платеже.
Встроенные формы оплатыПроцесс оплатыОтклоненные платежиОплата 54-FZТестирование.

Виджет Яндекс.Кассы — Прием платежей через API Яндекс.Кассы

Используя виджет Яндекс.Кассы, вы можете встроить готовую форму оплаты на свой сайт. Пользователь может производить оплату несколькими способами, например, кошельком Яндекс.Деньги и привязанными к нему банковскими картами, произвольной банковской картой, Apple Pay, Google Pay и Сбербанк Онлайн. Виджет позволяет пользователям сохранять банковские карты и кошельки Яндекс.Деньги для регулярных платежей в вашем магазине.

Платежная форма виджета Яндекс.Кассы

Платежная форма автоматически подстраивается под размер устройства пользователя, проверяет введенные данные и предупреждает пользователя, если что-то введено неправильно.Вы можете настроить язык интерфейса и настроить цветовую схему платежной формы.

Для обработки платежа через виджет достаточно создать платеж с помощью API Яндекс.Кассы, инициализировать виджет и отобразить форму на странице оплаты.

Интеграция:

  1. Прочтите о сценарии обработки платежей в виджете.
  2. Настройте способы оплаты.
  3. Подготовьте страницу оплаты.
  4. Осуществить обработку платежей.
  5. При необходимости настройте метод аутентификации 3-D Secure.
  6. При необходимости осуществить регулярные платежи.
  7. При необходимости настройте цветовую схему виджета.
  8. Настроить обработку ошибок инициализации виджета.
  1. Пользователь переходит к оплате.
  2. Вы отправляете запрос на создание платежа в Яндекс.Кассу.
  3. Яндекс.Касса возвращает созданный платежный объект с токеном для инициализации виджета.
  4. Вы инициализируете виджет и отображаете форму на странице оплаты.
  5. Пользователь выбирает способ оплаты, вводит свои данные.
  6. Виджет перенаправляет пользователя на страницу подтверждения платежа (например, для аутентификации 3-D Secure) при необходимости.
  7. Пользователь подтверждает оплату.
  8. Виджет перенаправляет пользователя на страницу завершения платежа на вашей стороне.
  9. Соответствующая информация отображается в зависимости от статуса платежа.

Готово!

Виджет поддерживает следующие способы оплаты:

  • Яндекс.Денежный кошелек и привязанные к нему банковские карты,
  • произвольных банковских карт,
  • Apple Pay,
  • Google Pay,
  • Сбербанк Онлайн.

Расплачиваться с помощью кошелька Яндекс.Деньги и привязанных к нему банковских карт могут только авторизованные пользователи.

По умолчанию единственными способами оплаты являются кошельки Яндекс.Деньги и привязанные карты. Свяжитесь с менеджером Яндекс.Кассы, чтобы узнать о других доступных вам способах оплаты.

Если вы хотите, чтобы виджет поддерживал платежи через Google Pay и Apple Pay, ваш веб-сайт должен использовать HTTPS и действующий сертификат TLS / SSL (минимальная версия — TLS v1.2). Чтобы включить Apple Pay, вам потребуется выполнить дополнительную настройку.

Шаг 1. Сообщите менеджеру Яндекс.Кассы URL сайта, на который вы собираетесь встроить виджет.

https: // /. Well-known / apple-developer-merchantid-domain-association

Это единственный допустимый путь к файлу, включая точку и дефисы. Точка в URL-адресе указывает на скрытую папку.

Шаг 3. Чтобы оплата через Apple Pay всегда была доступна через виджет, обновите сертификат TLS / SSL не позднее, чем за 8 дней до истечения срока его действия.

Для приема платежей подготовьте страницу оплаты, подключив библиотеку и встроив виджет.

Шаг 1. Включите скрипт. Библиотека будет доступна в глобальном масштабе под номером

Яндекс кассы

. Шаг 2. Добавьте HTML-элемент, который будет использоваться в качестве контейнера платежной формы. Установите для этого элемента атрибут

id

. Шаг 3. Для инициализации виджета создайте новый экземпляр класса

YandexCheckout

с

confirm_token

, который необходимо получить от Яндекс.Касса перед оплатой,

return_url

для отправки пользователю после оплаты и

error_callback

в качестве функции обработчика ошибок, которая будет вызываться с кодом ошибки. При необходимости настройте цветовую схему. Шаг 4. Чтобы отобразить форму оплаты, вызовите метод

render

. В качестве аргумента используйте значение атрибута

id

контейнера.

   
<Скрипт> const checkout = новое окно.YandexCheckout ({ confirm_token: 'токен подтверждения', return_url: 'https://merchant.site', error_callback (error) { } }); checkout.render ( 'платеж-форма');

Виджет может отображать различные сообщения для пользователя во время процесса оплаты. Добавьте на свой сайт поддержку UTF-8, чтобы пользователь мог ее прочитать.

Для обработки платежа:

  1. Создать платеж в Яндекс.Кассе
  2. Инициализировать виджет
  3. Завершить платеж

Если вы хотите протестировать виджет, создайте платеж для своего демонстрационного магазина и оплатите одним из тестовые карты.Подробнее о тестировании платежей Чтобы создать платеж, отправьте запрос в Яндекс.Кассу, включите данные для аутентификации запроса, ключ идемпотентности, объект

amount

, содержащий сумму платежа, объект

подтверждения

со встроенным типом

и при необходимости

описание

параметр с описанием транзакции, которое будет отображаться пользователю в процессе оплаты. Также включите параметр

захвата

с истинным значением

.Это означает, что вы получите деньги сразу после оплаты (если значение равно

false

, требуемая сумма будет удерживаться на счете пользователя, и вы сможете получить ее в любое удобное время). копия отображается на русском языке. Чтобы изменить язык интерфейса на английский или немецкий, укажите параметр

locale

со значением

en_US

или

de_DE

соответственно в подтверждении

. Вы можете установить любые другие параметры в запросе, кроме

payment_method_data

,

payment_method_id

,

payment_token

,

авиакомпания

.

  завиток https://payment.yandex.net/api/v3/payments \
  -X POST \
  -u <Идентификатор магазина>: <Секретный ключ> \
  -H 'Ключ идемпотентности: <Ключ идемпотентности>' \
  -H 'Content-Type: application / json' \
  -d '{
        "количество": {
          "value": "2,00",
          «валюта»: «рубли»
        },
        "подтверждение": {
          "тип": "встроенный"
        },
        "захват": правда,
        «описание»: «Заказ № 72»
      } ' 
  {
  "id": "22d6d597-000f-5000-9000-145f6df21d6f",
  "Статус: ожидание",
  "оплачено": ложь,
  "количество": {
    "значение": "2.00" ,
    «валюта»: «рубли»
  },
  "подтверждение": {
    "тип": "встроенный",
    "токен_подтверждения": "ct-24301ae5-000f-5000-9000-13f5f1c2f8e0"
  },
  "created_at": "2018-07-10T14: 25: 27.535Z",
  «описание»: «Заказ № 72»,
  "метаданные": {},
  "recipient": {
    "account_id": "100001",
    "gateway_id": "1000001"
  },
  "возмещаемый": ложь,
  "тест": ложь
}  

Маркер предназначен только для одноразового использования. Если не использовать, токен истечет через 1 час. Если пользователь не заплатит в течение часа, виджет не будет инициализирован, и вам нужно будет запросить токен повторно.Если пользователь платит и возвращается к форме, она будет отображаться с ошибкой.

Когда пользователь вводит реквизиты платежа и подтверждает платеж, Яндекс.Касса перенаправляет их на

return_url

, который вы указываете при инициализации виджета. Вам нужно будет самостоятельно проверить результаты платежа (успешность или неудача) и отобразить необходимую информацию пользователю. С помощью виджета Яндекс.Кассы вы можете сохранить способы оплаты и использовать их для повторяющихся платежей, например, в качестве ежемесячной платы за подписка.Регулярные платежи по умолчанию включены только в демонстрационном магазине. Если вы хотите включить их в своем реальном магазине, обратитесь к менеджеру Яндекс.Кассы.

Если вам разрешено использовать автоплатежи, вы можете обрабатывать платежи:

Сохранив способ оплаты, вы можете сохранить в своем магазине банковскую карту или кошелек Яндекс.Деньги. С помощью виджета можно безоговорочно или условно обрабатывать платежи и сохранять способ оплаты.

  1. На своем веб-сайте вы размещаете предупреждение для пользователей, предупреждающих их
    что вы сохраните их платежные реквизиты и объясните, как вы будете использовать
    это (например, частота и суммы ваших будущих дебетов) и
    как пользователь может отключить повторяющиеся платежи в вашем магазине.Со своей стороны вы получаете согласие пользователя на проведение автоплатежей.
  2. Виджет отображает пользователю только два способа оплаты: с произвольной банковской карты или с кошелька Яндекс.Деньги (если пользователь авторизован в своем аккаунте на Яндексе). После того, как пользователь выберет способ оплаты, виджет проинформирует его о том, что способ оплаты будет в вашем магазине. После успешной оплаты реквизиты банковской карты или кошелька будут автоматически сохранены в Яндекс.Кассе.

Пример использования: подписка на регулярные платежи.

Оплата с использованием безоговорочно сохраненного метода оплаты

  1. На своем веб-сайте вы даете пользователю знать, что он может сохранить свои платежные реквизиты, и объясняете, как вы будете его использовать и как пользователь может отключить эту опцию.
  2. Виджет отображает пользователю все доступные способы оплаты. Если пользователь выберет оплату произвольной банковской картой или кошельком Яндекс.Деньги, виджет предложит им сохранить платежные реквизиты в вашем магазине. Если пользователь согласится и платеж будет обработан успешно, информация о способе оплаты будет сохранена в Яндекс.Checkout, и вы сможете использовать идентификатор сохраненного способа оплаты для регулярных платежей. Если пользователь откажется, информация не сохранится в магазине после оплаты.

Пример использования: сохранение платежного средства в магазине для ускорения процесса оплаты для последующих платежей.

Платеж с условно сохраненным способом оплаты

Шаг 1. Создайте платеж и укажите

save_payment_method параметр

с истинным

значением

.

  завиток https://payment.yandex.net/api/v3/payments \
  -X POST \
  -u <Идентификатор магазина>: <Секретный ключ> \
  -H 'Ключ идемпотентности: <Ключ идемпотентности>' \
  -H 'Content-Type: application / json' \
  -d '{
        "количество": {
          "value": "2,00",
          «валюта»: «рубли»
        },
        "подтверждение": {
          "тип": "встроенный"
        },
        "захват": правда,
        "save_payment_method": правда,
        «описание»: «Заказ № 72»
      } ' 

Шаг 2. Яндекс.Касса ответит

confirm_token

— токеном для инициализации виджета.

  {
  "id": "25564507-000f-5000-9000-19878c91d156",
  "Статус: ожидание",
  "оплачено": ложь,
  "количество": {
    "value": "2,00",
    «валюта»: «рубли»
  },
  "подтверждение": {
    "тип": "встроенный",
    "токен_подтверждения": "ct-25564507-000f-5000-9000-19878c91d156"
  },
  "created_at": "2019-11-07T14: 59: 19.351Z",
  «описание»: «Заказ № 72»,
  "метаданные": {},
  "recipient": {
    "account_id": "100001",
    "gateway_id": "1000001"
  },
  "возмещаемый": ложь,
  "тест": ложь
}  

Шаг 4. Обработайте платеж в обычном порядке.

  завиток https://payment.yandex.net/api/v3/payments \
  -X POST \
  -u <Идентификатор магазина>: <Секретный ключ> \
  -H 'Ключ идемпотентности: <Ключ идемпотентности>' \
  -H 'Content-Type: application / json' \
  -d '{
        "количество": {
          "value": "2,00",
          «валюта»: «рубли»
        },
        "подтверждение": {
          "тип": "встроенный"
        },
        "захват": правда,
        «описание»: «Заказ № 72»
      } ' 

Шаг 2. Яндекс.Касса ответит

confirm_token

— токеном для инициализации виджета.

  {
  "id": "25564507-000f-5000-9000-19878c91d156",
  "Статус: ожидание",
  "оплачено": ложь,
  "количество": {
    "value": "2,00",
    «валюта»: «рубли»
  },
  "подтверждение": {
    "тип": "встроенный",
    "confirm_token": "ct-2557c659-000f-5000-9000-12714806d854"
  },
  "created_at": "2019-11-07T14: 59: 19.351Z",
  «описание»: «Заказ № 72»,
  "метаданные": {},
  "recipient": {
    "account_id": "100001",
    "gateway_id": "1000001"
  },
  "возмещаемый": ложь,
  "тест": ложь
}  

Шаг 4. Обработайте платеж в обычном порядке.

Шаг 1. Дождитесь, пока пользователь подтвердит платеж и его статус не изменится на

успешно

(или

wait_for_capture

, если это двухэтапный платеж). Вы можете проверить статус платежа в уведомлении Яндекс.Кассы, а можете отправлять периодические запросы информации о платеже. Шаг 2. Убедитесь, что метод оплаты сохранен: значение

payment_method.saved

в объекте платежа изменилось на

true

.

  {
  "id": "25564507-000f-5000-9000-19878c91d156",
  "status": "успешно",
  "оплачено": правда,
  "количество": {
    "value": "2,00",
    «валюта»: «рубли»
  },
  "authorization_details": {
    «ррн»: «10000000000»,
    "auth_code": "000000"
  },
  "capture_at": "2018-07-18T17: 20: 50.825Z",
  "created_at": "2018-07-18T17: 18: 39.345Z",
  «описание»: «Заказ № 72»,
  "метаданные": {},
  "Способ оплаты": {
    "type": "bank_card",
    "id": "25564507-000f-5000-9000-19878c91d156",
    "сохранено": правда,
    "открытка": {
      "first6": "555555",
      "last4": "4444",
      "expiry_month": "07",
      "expiry_year": "2022",
      "card_type": "MasterCard",
      "Issue_country": "RU",
      "Issuer_name": "Сбербанк"
    },
    "title": "Банковская карта * 4444"
  },
  "возмещаемый": верно,
  "refunded_amount": {
    "значение": "0.00" ,
    «валюта»: «рубли»
  },
  "recipient": {
    "account_id": "100001",
    "gateway_id": "1000001"
  },
  "тест": ложь
}  

Шаг 3. Сохраните

payment_method.id

. Вам нужно будет использовать его как идентификатор сохраненного способа оплаты для последующих платежей.

Готово!

Теперь вы можете делать регулярные платежи. Вам нужно будет самостоятельно осуществлять платежи с сохраненным способом оплаты.

Вы можете обрабатывать платежи без сохранения способа оплаты. Пользователь может произвести оплату любыми доступными способами.Метод не будет сохранен.

Чтобы обработать платеж без сохранения способа оплаты:

Шаг 1. Создайте платеж и укажите параметр

save_payment_method

со значением

false

.

  завиток https://payment.yandex.net/api/v3/payments \
  -X POST \
  -u <Идентификатор магазина>: <Секретный ключ> \
  -H 'Ключ идемпотентности: <Ключ идемпотентности>' \
  -H 'Content-Type: application / json' \
  -d '{
        "количество": {
          "value": "2,00",
          «валюта»: «рубли»
        },
        "подтверждение": {
          "тип": "встроенный"
        },
        "захват": правда,
        "save_payment_method": ложь,
        "описание": "Номер заказа72"
      } ' 

Шаг 2. Яндекс.Касса ответит

confirm_token

— токеном для инициализации виджета.

  {
  "id": "25564507-000f-5000-9000-19878c91d156",
  "Статус: ожидание",
  "оплачено": ложь,
  "количество": {
    "value": "2,00",
    «валюта»: «рубли»
  },
  "подтверждение": {
    "тип": "встроенный",
    "токен_подтверждения": "ct-25564507-000f-5000-9000-19878c91d156"
  },
  "created_at": "2019-11-07T14: 59: 19.351Z",
  "описание": "Номер заказа72" ,
  "метаданные": {},
  "recipient": {
    "account_id": "100001",
    "gateway_id": "1000001"
  },
  "возмещаемый": ложь,
  "тест": ложь
}  

Шаг 4. Обработайте платеж обычным способом.

При оплате банковской картой пользователю обычно необходимо подтвердить платеж, пройдя аутентификацию 3-D Secure. Для этого пользователь вводит специальный код текстового сообщения на странице эмитента. Если все в порядке, оплата прошла успешно, если нет — оплата отменяется.

Виджет позволяет контролировать, где будет происходить процесс подтверждения: на отдельной странице или во всплывающем окне.

Аутентификация на отдельной странице (используется по умолчанию): пользователь уходит
ваш сайт для аутентификации, то есть виджет перенаправляет их с
страницу оплаты на страницу эмитента. После проверки эмитент перенаправляет пользователя на страницу завершения платежа на вашей стороне.

Пример аутентификации на отдельной странице

Аутентификация во всплывающем окне : пользователь аутентифицируется, не покидая ваш веб-сайт, поскольку виджет на странице оформления заказа отображает всплывающее окно со страницей эмитента.После проверки эмитент перенаправляет пользователя на страницу завершения платежа на вашей стороне.

Пример аутентификации во всплывающем окне

Для настройки аутентификации 3-D Secure:

Процесс аутентификации для платежей по банковским картам выглядит следующим образом:

  1. Пользователь вводит данные своей банковской карты в платёж виджета форма, затем нажмите Оплатить .
  2. Виджет перенаправляет пользователя на страницу эмитента или отображает всплывающее окно.
  3. Пользователь завершает проверку.
  4. Эмитент предоставляет Яндекс.Кассу результаты аутентификации.
  5. Эмитент перенаправляет пользователя на страницу завершения платежа, то есть на

    return_url

    , который вы указали при инициализации виджета.

  6. Вы получаете результаты аутентификации от Яндекс.Кассы, затем показываете их пользователю.

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

до истечения срока действия токена, затем статус автоматически изменится на

отменен

. Если пользователь не прошел аутентификацию (вводит неправильный код), платеж будет отменен (с изменением статуса на

отменено

), и отказ аутентификации 3-D Secure будет указан как причина отмены.

Выберите метод аутентификации 3-D Secure:

Это метод аутентификации по умолчанию в виджете.

Отправьте параметр

embedded_3ds

со значением

false

во время инициализации виджета, чтобы пользователь прошел аутентификацию 3-D Secure на отдельной странице.

   
<Скрипт> const checkout = новое окно.YandexCheckout ({ confirm_token: 'токен подтверждения', return_url: 'https://merchant.site', embedded_3ds: ложь, error_callback (error) { } }); проверять, выписываться.рендеринга ( 'платеж-форма');

Если вы не укажете метод

embedded_3ds

, пользователь также завершит аутентификацию на отдельной странице. Если пользователь покидает страницу эмитента во время процесса аутентификации, например, закрывая ее или возвращаясь к страницу оплаты, платеж будет прерван. Если пользователь хочет возобновить процесс оплаты, создайте платеж снова, инициализируйте виджет и отобразите форму оплаты. Отправьте параметр

embedded_3ds

с истинным значением

во время инициализации виджета, чтобы пользователь завершил аутентификацию 3-D Secure во всплывающем окне.

   
<Скрипт> const checkout = новое окно.YandexCheckout ({ confirm_token: 'токен подтверждения', return_url: 'https://merchant.site', embedded_3ds: истина, error_callback (error) { } }); checkout.render ( 'платеж-форма');

Размеры всплывающего окна:

  • максимальная ширина 600 пикселей,
  • максимальная высота 800 пикселей.

На мобильных устройствах всплывающее окно занимает весь экран.

Если пользователь закрывает всплывающее окно или покидает страницу оформления заказа, платеж будет прерван. Если пользователь попытается закрыть всплывающее окно, виджет отобразит предупреждение о том, что платеж будет прерван и пользователю придется начать сначала. Если пользователь подтвердит действие, всплывающее окно закроется, а на странице оплаты вместо формы платежа появится уведомление о том, что процесс был прерван.

Уведомление на странице оплаты после закрытия всплывающего окна

Если пользователь хочет вернуться к процессу оплаты, создайте
платеж снова, инициализируйте виджет и отобразите
форма оплаты.

Добавьте на свой сайт поддержку кодировки UTF-8, чтобы все сообщения отображались правильно.

Рекомендации по проверке аутентификации 3-D Secure:

  1. Протестируйте успешный сценарий.
  2. Проверить неудачный сценарий (пользователь не проходит аутентификацию).
  3. Проверить прерывание платежа во время аутентификации, покинув или закрыв страницу эмитента, закрыв всплывающее окно и страницу платежа.

Вы можете протестировать успешные и неудачные сценарии с помощью тестовых банковских карт (эти карты работают только в вашем демонстрационном магазине).

По умолчанию виджет имеет форму оплаты белого цвета, а важные элементы, такие как кнопка Pay , выделены желтым цветом. Эти варианты дизайна помогают пользователю сосредоточиться на главном: какой способ оплаты выбрать, где ввести данные и как перейти к оплате.

Виджет можно адаптировать под любой дизайн. Для его настройки вам понадобится один или два цвета, а остальные будут выбраны самим виджетом. При необходимости вы можете скорректировать автоматически выбранные цвета, отправив дополнительные параметры.

Примеры настроенных цветовых схем

Цветовая схема устанавливается во время инициализации виджета с использованием объекта

цветов

, отправленного в объекте настройки

. Объект

colors

определяет параметры, которые влияют на цвета элементов интерфейса.

Можно установить максимум шесть параметров: два основных и четыре дополнительных. Каждый из основных параметров отвечает за определенную группу элементов интерфейса. Если вы отправите такой параметр, виджет будет использовать его как основу для определения всех остальных цветов. При необходимости вы можете уточнить автоматически подобранные цвета, используя дополнительные параметры.

Значения цвета должны быть указаны в шестнадцатеричной системе счисления (HEX), иначе виджет проигнорирует настройки.

Статьи, которые могут помочь в настройке цветовой схемы:

Шаг 1. Добавьте объект настройки

с объектом

цветов

и параметром

controlPrimary

в скрипт для инициализации виджета.

   
<Скрипт> const checkout = новое окно.YandexCheckout ({ confirm_token: 'токен подтверждения', return_url: 'https://merchant.site', настройка: { цвета: { controlPrimary: '# 00BF96' } }, error_callback (error) { } }); проверять, выписываться.рендеринга ( 'платеж-форма');

Пример настройки из Быстрого старта (кнопка оплаты)

Готово! Кнопка Pay и другие акцентные элементы изменили свой цвет.

Это самый простой способ изменить цвет акцентных элементов. Вы можете выбрать другой вариант настройки, если хотите уточнить автоматически определенные цвета или изменить другие элементы интерфейса. Шаг 1. Добавьте объект настройки

с объектом

цветов

и параметрами

controlPrimary

и

background

в скрипт для инициализации виджета.

   

.

Процесс оплаты - Прием платежа через API Яндекс.Кассы

В процессе оплаты пользователь выполняет следующие действия:

  1. выбирает способ оплаты;
  2. вводит реквизиты для оплаты выбранным способом;
  3. подтверждает платеж при необходимости (например, выполняет аутентификацию через 3-D Secure или отвечает на текстовое сообщение).

Яндекс.Касса предусматривает несколько сценариев оплаты, которые различаются в зависимости от того, где пользователь выбирает способ оплаты и вводит реквизиты.В некоторых случаях пользователю потребуется подтвердить, что он хочет оплатить выбранным способом. Для этого вам потребуется реализовать определенный сценарий подтверждения. Каждый платеж может быть обработан в два этапа. Обычно, если пользователь совершает платеж, Яндекс.Касса моментально списывает деньги и переводит их на ваш счет. Если вы используете двухэтапные платежи, вы можете настроить время списания денег и завершения платежа. Платеж

- это основной объект API Яндекс.Кассы, используемый для приема платежей.

Чтобы создать платеж, включите в запрос следующее: Яндекс.Касса может принимать платежи в два этапа, но вы можете использовать более простой процесс оплаты (

захват

параметр с

истинным значением

). Сразу после оплаты процесс будет завершен, и статус платежа изменится на

успешно

. Вы также можете указать дополнительную информацию, такую ​​как номер заказа, в вашей системе. Яндекс.Касса вернет их без изменений. Эта информация должна быть отправлена ​​в объекте

метаданных

как набор «ключ-значение».

Пример запроса на создание платежа

  curl https://payment.yandex.net/api/v3/payments \
  -X POST \
  -u <Идентификатор магазина>: <Секретный ключ> \
  -H 'Ключ идемпотентности: <Ключ идемпотентности>' \
  -H 'Content-Type: application / json' \
  -d '{
        "количество": {
          "value": "100.00",
          «валюта»: «рубли»
        },
        "захват": правда,
        "подтверждение": {
          "тип": "перенаправление",
          "return_url": "https: //www.merchant-website.ком / RETURN_URL»
        },
        «описание»: «Заказ №1»,
        "метаданные": {
          "order_id": "37"
        }
      } ' 

Созданный объект платежа будет возвращен в ответ.

Пример созданного объекта платежа

  {
  "id": "2419a771-000f-5000-9000-1edaf29243f2",
  "Статус: ожидание",
  "оплачено": ложь,
  "количество": {
    "value": "100.00",
    «валюта»: «рубли»
  },
  "подтверждение": {
    "тип": "перенаправление",
    "confirm_url": "https: // деньги.yandex.ru/api-pages/v2/payment-confirm/epl?orderId=2419a771-000f-5000-9000-1edaf29243f2"
  },
  "created_at": "2019-03-12T11: 10: 41.802Z",
  «описание»: «Заказ №1»,
  "метаданные": {
    "order_id": "37"
  },
  "recipient": {
    "account_id": "100001",
    "gateway_id": "1000001"
  },
  "возмещаемый": ложь,
  "тест": ложь
}  

Для большинства способов оплаты требуется ответ пользователя, подтверждающий, что он готов произвести платеж. Пользователь должен будет выполнить дополнительные действия, например, выполнить идентификацию 3-D Secure при оплате с помощью банковской карты, подтвердить платеж в платежной службе партнера или оплатить счет в интернет-банке.Если требуется подтверждение пользователя, статус созданного платежа будет

в ожидании

. Он изменится на другие статусы (

преуспел

или

wait_for_capture

) только после того, как пользователь подтвердит, что он готов произвести платеж. Если подтверждение не требуется (например, для платежей через Apple Pay), статус платежа будет немедленно изменение на

выполнено успешно

или

wait_for_capture

(если вы обрабатываете платежи в два этапа). Если пользователь решит не проводить платеж или что-то пойдет не так (например, недостаточно средств на счете), платеж будет отменен, и статус изменится на

отменено

.

Яндекс.Касса поддерживает несколько сценариев подтверждения: Redirect, External, QR code и Embeded.

Сценарий подтверждения редиректа : пользователь выполняет действие на странице Яндекс.Кассы или на странице своего партнера (например, вводит реквизиты банковской карты или завершает процесс идентификации через 3-D Secure). Вы должны перенаправить пользователя на

confirm_url

, полученный в платеже. Если платеж прошел успешно (или что-то пошло не так), Яндекс.Касса вернет пользователя на

return_url

, который вы отправите в запросе на создание платежа.

Сценарий внешнего подтверждения : для продолжения пользователь выполняет действие во внешней системе (например, отвечает на текстовое сообщение). Все, что вам нужно сделать, это сообщить им, как действовать дальше.

Сценарий подтверждения QR-кода : для подтверждения платежа пользователь сканирует QR-код. Вам нужно будет сгенерировать QR-код с помощью любых доступных инструментов и отобразить его на странице оплаты.

Встроенный сценарий подтверждения : действия, необходимые для подтверждения платежа, будут зависеть от способа оплаты, выбранного пользователем в Яндекс.Виджет кассы. Яндекс.Касса получит подтверждение от пользователя: вам нужно лишь встроить виджет на свою страницу. Один способ оплаты может поддерживать несколько сценариев подтверждения. Специфика сценариев подтверждения для разных способов представлена ​​в разделе «Способы оплаты».

Вы можете обрабатывать платежи в два этапа:

  1. Удержание (предварительная авторизация): пользователь производит платеж, и средства приостанавливаются, например, на его банковской карте или в электронном кошельке (в зависимости от выбранного Способ оплаты).
  2. Capture : удержанные средства списываются по вашему запросу.

Чтобы создать двухэтапный платеж, укажите параметр

Capture

со значением

false

в запросе на создание платежа.

Пример запроса на создание двухэтапного платежа

  curl https://payment.yandex.net/api/v3/payments \
  -X POST \
  -u <Идентификатор магазина>: <Секретный ключ> \
  -H 'Ключ идемпотентности: <Ключ идемпотентности>' \
  -H 'Content-Type: application / json' \
  -d '{
        "количество": {
          "значение": "100.00" ,
          «валюта»: «рубли»
        },
        "захват": ложь,
        "подтверждение": {
          "тип": "перенаправление",
          "return_url": "https://www.merchant-website.com/return_url"
        },
        «описание»: «Заказ №1»,
        "метаданные": {
          "order_id": "37"
        }
      } ' 

После авторизации средств статус платежа изменится на

wait_for_capture

. Теперь вам нужно принять решение: зафиксировать платеж или отменить его. Если вы не ответите в течение определенного периода, статус платежа изменится на

отменен

, и средства будут автоматически возвращены пользователю.В зависимости от способа оплаты у вас будет 6 часов или 7 дней, чтобы зарегистрировать платеж. Точное время, отведенное для захвата, указывается в параметре

expires_at

. Используйте метод захвата для захвата платежа. По умолчанию фиксируется вся сумма платежа. Чтобы сделать частичный захват, укажите необходимую сумму в объекте запроса

amount

. Если сумма захвата меньше суммы платежа, разница будет автоматически возвращена пользователю.

Частичный захват доступен только для платежей с помощью банковских карт или Яндекс.Денежные кошельки. Другие методы позволяют захватить только всю сумму.

Пример запроса на полный захват

  curl https://payment.yandex.net/api/v3/payments/{payment_id}/capture \
  -X POST \
  -u <Идентификатор магазина>: <Секретный ключ> \
  -H 'Ключ идемпотентности: <Ключ идемпотентности>' \
  -H 'Content-Type: application / json'  

Пример запроса на частичный захват

  curl https://payment.yandex.net/api/v3/payments/{payment_id}/capture \
    -X POST \
    -u <Идентификатор магазина>: <Секретный ключ> \
    -H 'Ключ идемпотентности: <Ключ идемпотентности>' \
    -H 'Content-Type: application / json' \
    -d '{
          "количество": {
            "значение": "2.00" ,
            «валюта»: «рубли»
          }
        } ' 

Если вы хотите отклонить платеж, вы отменяете его с помощью отмены.

Отправить ответ

avatar
  Подписаться  
Уведомление о