- При добавлении карты в Apple Pay связанная с картой информация и геопозиция устройства, а также сведения о настройках устройства и о том, как оно используется, могут быть отправлены в Apple для определения правомочности использования.
- Некоторая указанная выше информация, а также информация, относящаяся к учетной записи, и детали устройств, с которыми созданы пары, могут быть переданы эмитенту карты или банку для проверки данных и защиты от мошенничества.
- При использовании Apple Pay в приложениях и на веб‑сайтах информация, необходимая для обработки платежа, предоставляется приложению или веб‑сайту. Продавец не получает номер Вашей карты.
- Данные Apple Pay, которые больше не могут быть связаны с Вами, могут сохраняться в течение ограниченного времени в целях общего улучшения Apple Pay, а также других продуктов и сервисов Apple.
Apple Pay дает возможность безопасно совершать покупки в магазинах, приложениях и в интернете с использованием дебетовых, кредитных и предоплаченных карт.
Добавление карт в Apple Pay
Когда Вы добавляете в Apple Pay платежную карту (кредитную, дебетовую, предоплаченную или карту постоянного покупателя), предоставляемая Вами информация о карте и данные о том, включены ли на устройстве определенные параметры, может отправляться в Apple для проверки соответствия требованиям к использованию Apple Pay. Ваше устройство также может анализировать шаблоны использования (например, какую часть времени устройство находится в движении или примерное количество телефонных вызовов в неделю) в целях выявления мошенничества. Информация, которую анализирует Ваше устройство, передается в Apple таким образом, что на ее основе невозможно установить Вашу личность.
Информация может также предоставляться компанией Apple эмитенту Вашей карты, системе платежей или иному провайдеру, авторизованному эмитентом Вашей карты на активацию Apple Pay, чтобы проверить соответствие карты установленным требованиям, чтобы настроить карту для Apple Pay, а также чтобы предотвратить мошенничество при настройке и использовании Apple Pay. Информация может включать указанные далее сведения.
- Номер Вашей кредитной, дебетовой или предоплаченной карты.
- Имя и адрес плательщика, связанные с Вашей учетной записью Apple ID, iTunes Store или App Store.
- Общая информация об активности в Ваших учетных записях Apple ID, iTunes и App Store (например, давно ли Вы совершаете транзакции в iTunes).
- Информация о Вашем устройстве и, если Вы используете часы Apple Watch, об устройстве iOS, с которым создана пара (например, идентификатор устройства, номер телефона, имя и модель устройства).
- Информация о Вашем местонахождении в момент добавления карты (если Службы геолокации включены).
- История добавления платежных карт в учетную запись или на устройство.
- Агрегированная статистика относительно информации из платежных карт, которые Вы добавили или пытались добавить в Apple Pay.
Когда Вы добавляете в Apple Pay карту, используя стороннее приложение, например банковское, это приложение отправляет на Ваше устройство номер счета или идентификатор карты. Эта информация используется Apple и эмитентом карты, чтобы проверить соответствие карты установленным требованиям, чтобы настроить карту для Apple Pay, а также чтобы предотвратить мошенничество. Чтобы помочь настроить карты, которые были настроены или настроены сейчас на других Ваших устройствах, Apple связывает данные о карте с Вашей учетной записью iCloud, которая может использоваться эмитентом карты или платежной системой для повторного добавления карты после ввода кода безопасности. Номер кредитной, дебетовой или предоплаченной карты не хранится в Apple Pay.
Оплата с Apple Pay
Информация, передаваемая при оплатеКогда Вы начинаете платеж в приложении, интернете или Apple Messages for Business с использованием Apple Pay, Ваш ZIP‑код, почтовый индекс или другая релевантная информация предоставляются приложению, веб‑сайту или продавцу для расчета налогов и стоимости доставки. После авторизации платежа также предоставляются другие данные, запрошенные продавцом, например номер учетной записи устройства, адрес доставки или адрес электронной почты. Номер кредитной, дебетовой или предоплаченной карты при использовании Apple Pay не передается.
Когда Вы производите платеж с помощью карты с QR-кодом в Wallet, Ваше устройство создает уникальный код и передает его организации, выпустившей карту. Это позволяет предотвратить мошенничество. Если на устройстве, с которого производится оплата, установлено приложение организации, выпустившей карту, оно может собирать и обрабатывать дополнительную информацию во время совершения платежа для предотвращения мошенничества в соответствии с политикой конфиденциальности этого приложения. При необходимости организация, выпустившая карту, также может связываться с Вами напрямую и запрашивать дополнительную информацию для подтверждения транзакции.
При попытке совершить транзакцию на веб‑сайте или в приложении по карте с усиленной защитой от мошенничества Ваше устройство оценивает информацию о Вашем Apple ID, о самом устройстве и геопозиции (если включены Службы геолокации). Это необходимо для оценки риска мошенничества: такую информацию Apple использует для выявления и предотвращения мошеннических действий. Apple будет сообщать платежной системе оценку риска мошенничества, а также информацию о Вашей транзакции (например, сумму покупки, валюту и дату) для предупреждения мошеннических действий. При первом добавлении карты в Apple Pay и при первой попытке провести транзакцию на веб‑сайте или в приложении по этой карте Вы получите уведомление о том, что для карты включена улучшенная защита от мошенничества. Чтобы оценка риска мошенничества не сообщалась платежной системе Вашей карты, Вы можете выбрать другую карту.
Приложения и веб‑сайты могут проверять, настроена ли у Вас функция Apple PayКогда в iOS, watchOS или macOS Вы находитесь в приложении или на веб‑сайте, использующем Apple Pay, это приложение или этот веб‑сайт может проверять, включена ли функция Apple Pay на данном устройстве. При посещении веб‑сайта в Safari на устройстве iOS или компьютере Mac, на которых нельзя добавить платежную карту, веб‑сайт может проверять, настроена ли функция Apple Pay на Вашем iPhone или часах Apple Watch с помощью одной и той же учетной записи iCloud. Можно запретить посещаемым веб‑сайтам проверять, включена ли функция Apple Pay. Для этого в iOS выберите «Настройки» > «Safari» > «Проверка наличия Apple Pay». На Mac откройте меню «Safari» > «Настройки» > «Конфиденциальность» и снимите флажок «Веб‑сайты могут проверять, настроены ли функции Apple Pay и Apple Card».
Apple передает, но не хранит Ваши платежные данные
Для безопасной передачи информации о платежах в приложениях, на веб‑сайтах и в Деловом чате данные отправляются в Apple в зашифрованном виде, немедленно расшифровываются и зашифровываются повторно с помощью специального ключа, уникального для каждого продавца и гарантирующего, что только этот продавец, разработчик или их платежный оператор может расшифровать Вашу платежную информацию. Когда Вы совершаете оплату на Mac, на который не может быть добавлена карта, этот Mac и авторизованное устройство обмениваются данными по зашифрованному каналу на серверах Apple. Компания Apple не хранит эту информацию таким образом, чтобы с ее помощью можно было установить Вашу личность.
Когда Вы добавляете транспортную карту в Wallet, данные о ней связываются с Вашей учетной записью iCloud. Пока баланс Вашей транспортной карты остается положительным, карта остается связанной с Вашей учетной записью iCloud, чтобы средства на счете карты оставались доступны Вам. Если Вы добавили в Wallet более одной транспортной карты, Apple или партнеры компании смогут связать личную и учетную информацию, связанную с картами, например, именные транспортные карты могут быть связаны с неименными. В Японии обобщенная обезличенная информация о настройке транспортных карт в Wallet может периодически предоставляться операторам сотовой связи.
Бесконтактное устройство чтения карт может получить доступ к таким данным транспортной карты, как сведения о недавних станциях, истории транзакций, а также дополнительных билетах. Доступ к данной информации может получить любое бесконтактное устройство чтения карт, если карта настроена как транспортная экспресс‑карта (благодаря чему не требуется подтверждение с помощью Touch ID, Face ID или код-пароля). Вы можете управлять транспортной экспресс‑картой на своем устройстве iOS. Для этого перейдите в «Настройки» > «Wallet и Apple Pay» или в приложении Apple Watch откройте раздел «Wallet и Apple Pay», затем коснитесь «Транспортная экспресс‑карта» и выберите платежную карту.
Подарочные карты и карты постоянного покупателя
После погашения подарочной карты или внесения средств на счет, связанный с Вашим Apple ID, карта, привязанная к счету Apple, будет добавлена в Wallet. Вы сможете легко просматривать свои последние транзакции и оплачивать покупки в магазинах Apple Store, расходуя баланс своего счета Apple.
Если Вы добавите поддерживаемое удостоверение учащегося в Wallet, информация об удостоверении учащегося и возможности включения определенных настроек может быть передана в Apple. Информация также может предоставляться компанией Apple Вашему учебному заведению или поставщикам услуг, уполномоченным Вашим учебным заведением, чтобы Вы могли использовать удостоверение учащегося, а мы могли проверить соответствие удостоверения учащегося установленным требованиям, настроить его, а также предотвратить мошенничество. Информация может включать указанные далее сведения.
- Номер удостоверения учащегося.
- Имя и адрес плательщика, связанные с Вашей учетной записью Apple ID, iTunes Store или App Store.
- Информация о Вашем устройстве и, если Вы используете часы Apple Watch, об устройстве iOS, с которым создана пара (например, идентификатор и модель устройства).
Apple получает и сохраняет Ваше фото в удостоверении учащегося, привязанное к Вашей учетной записи iCloud
Когда Вы пользуетесь удостоверением учащегося, бесконтактные устройства чтения карт могут считывать номер Вашего удостоверения учащегося, если для карты настроен экспресс-режим (благодаря чему не требуется подтверждение с помощью Touch ID, Face ID или код-пароля). Вы можете настроить экспресс-режим на своем iPhone. Для этого перейдите в «Настройки» > «Wallet и Apple Pay» или в приложении Apple Watch откройте раздел «Wallet и Apple Pay».
Если службы геолокации включены, то сведения о местонахождении Вашего устройства в момент его использования при совершении покупки могут передаваться в Apple с сохранением конфиденциальности. Сведения будут использоваться Apple Pay для более точного отображения названий организаций в истории транзакций карт Wallet и могут быть сохранены для последующего улучшения служб «Карты Apple», Apple Pay и Wallet. Отключить функции Apple Pay, связанные с определением местонахождения, можно в любое время. Для этого на устройстве iOS откройте «Настройки» > «Конфиденциальность» > «Службы геолокации» > «Системные службы» и касанием выключите параметр «Идентификация продавца Apple Pay». На Mac откройте «Системные настройки» > «Защита и безопасность» > «Конфиденциальность» > «Службы геолокации». Нажмите значок замка, чтобы внести изменения и введите свой пароль, затем снимите флажок Wallet.
Данные Apple Pay, уже не связанные с Вами, могут сохраняться в течение ограниченного времени в целях улучшения Apple Pay в целом, а также для совершенствования других продуктов и сервисов Apple.
Условия договора с держателем карты, пользователем, продавцом или другие условия использования функций Apple Pay продолжают регулировать использование Вами платежных карт, в том числе в рамках функции Apple Pay. Данные условия могут содержать дополнительные политики конфиденциальности. Если Apple подозревает мошенничество в связи с использованием Apple Pay, информация о потенциально мошеннической учетной записи Apple и транзакциях может быть передана эмитенту Вашей карты или провайдеру платежной сети для противодействия мошенничеству.
Информация, которую собирает Apple, всегда обрабатывается в соответствии с Политикой конфиденциальности Apple, доступной по адресу: www. apple. com/ru/privacy.
Дата публикации: 12 мая 2022 г.
Российские пользователи начали жаловаться на проблемы при пополнении счета Apple ID по номеру телефона. Сбой при оплате возник у всех российских мобильных операторов.
По данным iPhones. ru, больше всего жалоб поступает от абонентов «МегаФона».
Когда пользователь пытается пополнить счет Apple ID, у него возникает сообщение об ошибках.
Редакция iPhones. ru протестировала оплату на нескольких iPhone с номерами операторов «МегаФон» и МТС. В трёх случаях оплату провести не удалось.
В одном случае получилось оформить подписку Apple One, но потом номер телефона перестал работать с App Store.
В настройках iOS «МегаФон» при этом исчез из списка операторов, которые работают с App Store. В нём остались МТС, Tele2 и «Билайн».
О причинах неполадок пока не сообщается.
Неделю назад на аналогичные проблемы жаловались абоненты МТС, но спустя некоторое время оплата снова заработала.
Пользователям, у которых списали деньги, но не прошла оплата, советуют обратиться в техподдержку своего оператора за возвратом средств.
В начале мая сервис платежной системы Qiwi перестал пополнять баланс счёта Apple ID. В компании Хабру сообщили, что ограничения связаны с «решением поставщика услуги».
В конце марта Apple отключила сервис Apple Pay для пользователей из России и закрыла доступ к прямым оплатам приложений и подписок в App Store с банковской карты.
UPD: в iPhones. ru привели переписку с техподдержкой Apple, которая утверждает, что Apple ID можно оплатить только через МТС и «Билайн», а для пользователей «Мегафона», Теле2 и «Йоты» услуга отключена.
В пресс-службе «Вымпелкома» утверждают, что проблем с оплатой за подписки и приложения в App Store со счета мобильного телефона нет.
В МТС отметили, что на текущий момент с мобильного счета оператора можно пополнить Apple ID, а также совершать покупки в iTunes и AppStore, а номер телефона должен быть оформлен на физическое лицо.
В «Мегафоне» заявили, что фиксируют обращения пользователей о проблемах, при этом со стороны компании «ограничений нет», и ее специалисты «занимаются решением проблемы совместно с партнером».
Обзор протокола
Протокол приема платежей предоставляет быстрые и безопасные решения для приема и отправки платежей в интернете. Протокол дает вашим покупателям возможность использовать разнообразные методы платежей, включая:
- Банковские карты Visa, Mastercard, МИР.
- Yandex Pay.
- QIWI Кошелек.
- Система Быстрых Платежей (СБП).
- Баланс мобильного телефона.
Термины и сокращения
Ключ доступа к API — Символьная строка для авторизации мерчанта в API согласно стандарту OAuth 2. 0 RFC 6749 RFC 6750.
Платежный токен — Символьная строка, созданная по данным карты для безакцептных платежей.
API: Application Programming Interface — набор готовых методов, предоставляемых приложением (системой) для использования во внешних программных продуктах.
REST: Representational State Transfer — архитектурный стиль взаимодействия компонентов распределённого приложения в сети.
3DS: 3-D Secure — протокол защиты карточных данных, используемый для аутентификации держателя банковской карты во время совершения платежной операции через интернет. QIWI поддерживает как версию 3DS 1. 0, так и версию 3DS 2. 0 протокола.
ТСП, Мерчант — Торгово-сервисное предприятие.
MPI: Merchant Plug-In — модуль, выполняющий 3DS аутентификацию покупателя.
PCI DSS: Payment Card Industry Data Security Standard — стандарт безопасности данных индустрии платёжных карт, учреждённым международными платёжными системами Visa, MasterCard, American Express, JCB и Discover.
Способы подключения
Протокол приема платежей поддерживает несколько вариантов взаимодействия:
- Платеж через форму QIWI.
- Платеж через форму мерчанта.
Типы операций
В Протоколе доступны следующие операции:
- Счет (Invoice) — электронный документ, выставляемый продавцом покупателю. Содержит информацию о сумме и номере заказа. Не является финансовой сущностью и имеет ограниченный срок жизни. Выставление счета необходимо для получения ссылки на платежную форму QIWI.
- Платеж (Payment) — операция списания денежных средств от покупателя в пользу продавца. Фактическое списание происходит только после подтверждения (Capture). При работе через платежную форму QIWI, Payment — попытка оплаты счета (Invoice).
- Завершение (Complete) — завершение 3DS-верификации Покупателя. Используется при работе через Платежную форму мерчанта.
- Подтверждение (Capture) — операция подтверждения авторизации (списания) средств.
- Возврат (Refund) — возврат средств покупателю по успешному платежу. Финансовая операция списания денежных средств от продавца в пользу покупателя. Если подтверждения операции Payment не было, то в ответе на операцию Refund вы получите флаг Reversal и деньги со счета Покупателя на счет продавца не перечислятся (комиссия за эквайринг также не удерживается).
Формат взаимодействия
API Протокола приема платежей основано на принципах REST-архитектуры.
Параметры API помещаются в JSON-тело запроса. В GET-запросах параметры помещаются в URL запроса.
API всегда возвращает ответ в формате JSON.
Тестовый режим
При подключении ваш идентификатор siteId находится в тестовом режиме. В этом режиме вы можете проводить операции без списания средств с банковской карты. Также можно запросить переключение в режим тестирования любого своего siteId, либо добавление нового siteId в режиме тестирования через вашего сопровождающего менеджера.
Для тестирования операций оплаты используются URL протокола.
Тестовый режим для метода оплаты с баланса КИВИ Кошелька не предусмотрен.
Когда интеграция на вашей стороне закончена, мы переводим siteId в производственный режим. В этом режиме выполняются реальные списания средств с карт.
При переходе в производственный режим перевыпускать ключ доступа к API не нужно.
Оплата картой в тестовом режиме
В тестовом режиме можно использовать любой номер карты, удовлетворяющий алгоритму Luhn.
Тестовые номера карт
В тестовом режиме из валют (параметр currency) разрешен только рубль РФ (643).
CVV в тестовом режиме может быть любым (произвольные 3 цифры).
Для тестирования различных вариантов оплаты и ответов необходимо использовать различные сроки действия карты:
- Если месяц срока действия — 02, то операция будет проведена неуспешно.
- Если месяц срока действия — 03, то операция будет проведена успешно с задержкой в 3 секунды.
- Если месяц срока действия — 04, то операция будет проведена неуспешно с задержкой в 3 секунды.
- Во всех остальных случая операция выполняется успешно.
В тестовой среде установлено ограничение на сумму и количество тестовых операций. По умолчанию максимальная сумма тестовых транзакций — 10 рублей. Максимум — 100 транзакций в сутки (учитываются операции за текущие сутки, время по МСК). Учитываются операции с суммой не более установленного лимита.
Для проведения операции с 3DS необходимо использовать строку unknown name в имени держателя карты. Прохождение 3DS в режиме тестирования можно проверить только при вводе номера реальной карты.
Оплата через СБП в тестовом режиме
Для тестирования различных вариантов оплаты и ответов указывайте разные суммы платежа (поле amount):
- 200 — операция пройдет успешно с задержкой. При первом запросе статуса платежа вы получите статус «WAITING», после второго запроса статуса платежа — статус «SUCCESS».
- Для других сумм платеж пройдет неуспешно.
Платеж через форму QIWI
При подключении платежей через форму QIWI покупателю доступен только способ оплаты банковскими картами. Другие способы оплаты включаются по запросу:
- Платежные токены карт.
- Система быстрых платежей.
- QIWI Кошелек.
Чтобы выполнить платеж через форму QIWI, выставите счет покупателю. Воспользуйтесь выставлением счета через API или перенаправьте покупателя на форму QIWI по прямой ссылке с параметрами счета.
Процесс платежа
sequenceDiagram
participant customer as Покупатель
participant store as Магазин
participant qb as QIWI (эквайер)
participant ips as Эмитент
customer->>store:Выбор товаров, Старт оплаты
activate store
store->>qb:Выставление счетаОдношаговый платеж — все способы оплатыДвухшаговый платеж — только карты
activate qb
qb->>store:Ссылка на платежную форму QIWI (payUrl)
store->>customer:Переадресация покупателя на payUrl
customer->>qb:Открытие платежной формы,выбор способа оплаты,указание платежных данных для выбранного способа
qb->>customer:Аутентификация покупателя:Для карт — 3-D Secure
customer->>qb:Аутентификация
qb->>ips:Запрос списания денежных средств
activate ips
ips->>qb:Статус операции
qb->>store:Уведомление о статусе операции
qb->>customer: Переадресация на страницу статуса платежа (successUrl)
rect rgb(237, 243, 255)
Note over store, ips:Двухшаговый платеж
store->>qb:Подтверждение операции (capture)
qb->>ips:Подтверждение списания
deactivate ips
qb->>store:Уведомление о подтверждении платежа
end
deactivate qb
deactivate store
Интеграция c Платежной формой QIWI без использования API
Это простой способ интеграции с Платежной формой QIWI. При открытии формы покупателю автоматически выставляется счет. Параметры счета передаются в открытом виде в ссылке на форму. Покупателю отображается платежная форма с выбором способов оплаты.
Для вызова формы в ссылке необходимо указывать ключ PUBLIC_KEY. Для каждого siteId выпускается уникальный ключ. Ключ можно посмотреть в Личном кабинете в разделе Настройки.
При оплате счета, выставленного таким способом, платеж автоматически авторизуется без участия мерчанта. Так как используется двухшаговая схема, то для завершения платежа необходимо выполнить запрос Подтверждение платежа или подтвердить платеж через Личный кабинет.
По умолчанию сервис QIWI ожидает подтверждения платежа в течение 72 часов. По истечении срока выполняется автоматическое подтверждение платежа.
Выставление счета с передачей суммы платежа
Выставление счета без указания суммы платежа (сумму заполняет покупатель)
По умолчанию, после оплаты счета автоматически выполняется аутентификация покупателя. Завершение аутентификации также происходит автоматически.
Выставление счета и получение ссылки на оплату через API
Пример выставления счета с оплатой через холдирование (двухшаговый платеж)
Пример выставления счета с оплатой без авторизации Покупателя (одношаговый платеж)
Пример уведомления об оплате счета
Протокол приема платежей поддерживает выставление счетов с оплатой двухшаговым платежом с холдированием средств на карте покупателя, так и одношаговым платежом без авторизации покупателя.
- ключ API;
- сумму счета (amount);
- дату, до которой необходимо оплатить счет (expirationDateTime);
- информация о покупателе (customer, address) и получателе платежа (receiverData);
- дополнительные данные по операции (customFields).
- Перенаправьте покупателя на Платежную форму по ссылке из параметра payUrl ответа.
- Дождитесь завершения платежа: вам придет уведомление, или периодически отправляйте запрос API Статус счета, чтобы получить информацию о платеже.
Для двухшагового сценария (платеж с холдированием средств) требуется выполнить подтверждение платежа. Возмещение формируется только после подтверждения.
Чтобы подтвердить платеж в двухшаговом сценарии:
- Получите идентификатор платежа paymentId:
- Отправьте запрос API Подтверждение платежа с полученным paymentId.
Платежный токен
Выставление счета с оплатой платежным токеном
Платежные токены используются для списаний с карт или QIWI кошельков без ввода реквизитов карты или номера кошелька. Метод оплаты платежным токеном по умолчанию отключен. Чтобы подключить его, обратитесь к вашему сопровождающему менеджеру.
О выпуске платежного токена читайте в разделе по ссылке.
Чтобы выставить счет для оплаты платежным токеном:
- Передайте в запросе API Создание счета следующую информацию:
ключ API;сумму счета (amount);дату, до которой необходимо оплатить счет (expirationDateTime);идентификатор покупателя, для которого был выпущен платежный токен, в параметре customer.account. Без этого параметра оплата платежным токеном невозможна.(опционально) другую информацию о счете. - ключ API;
- сумму счета (amount);
- дату, до которой необходимо оплатить счет (expirationDateTime);
- идентификатор покупателя, для которого был выпущен платежный токен, в параметре customer.account. Без этого параметра оплата платежным токеном невозможна.
- (опционально) другую информацию о счете.
- Перенаправьте покупателя на Платежную форму по ссылке из параметра payUrl ответа.
- Если для покупателя был выпущен один или несколько платежных токенов, то на Платежной форме отобразится список его привязанных карт.Для оплаты покупателю достаточно выбрать одну из своих привязанных карт. При этом не понадобится указывать карточные данные и проходить проверку 3-D Secure.
Для списания средств по платежному токену без участия Покупателя воспользуйтесь методом API Платеж. подробнее описание использования платежного токена на Платежной форме мерчанта.
Перенаправление на форму QIWI
Пример ответа с payUrl
Чтобы покупатель смог оплатить выставленный счет, перенаправьте его на Платежную форму по ссылке из поля payUrl ответа на запрос выставления счета.
По умолчанию, на Платежной форме QIWI 3-D Secure покупателя обязателен.
Пример ссылки с successUrl
К ссылке можно добавить следующий параметр:
ПараметрОписаниеТипsuccessUrlURL для переадресации в случае успешной оплаты. Переадресация произойдет после успешной 3DS аутентификации. Ссылку необходимо зашифровать в utf-8 формат. URL-закодированная строка
Пример обработчика событий iframe
// Форма загружена
// Попытка платежа
// Платеж прошел успешно
// Платеж не прошел
При открытии ссылки в :
вы можете использовать метод postMessage для отслеживания состояния формы. Возможные значения состояния:
- INITIALIZED — Форма загружена.
- PAYMENT_ATTEMPT — Попытка платежа.
- PAYMENT_SUCCEEDED — Платеж прошел успешно.
- PAYMENT_FAILED — Платеж не прошел.
- INITIALIZATION_FAILED — Ошибка загрузки формы.
Настройка Платежной формы
- уникальный псевдоним стиля, привязанный к идентификатору siteId (цифры, латинские буквы и символ дефиса -);
- название мерчанта, которое будет отображаться на форме;
- краткое описание деятельности (не более 120 символов);
- лого в формате PNG или SVG и размера 310×36 или пропорционально больше;
- цвет фона и цвет кнопок в HEX-формате.
Необязательные данные для настройки:
- картинка для фона в формате PNG или SVG и размера 382×560 или пропорционально больше;
- варианты предвыбранных сумм платежа (не более трех);
- контактный e-mail для отображения на странице;
- URL страницы успешного платежа;
- номер счетчика Яндекс.Метрики;
- ссылка на оферту вашего сервиса.
Пример передачи параметра стиля при выставлении счета через API
Чтобы применить ваш стиль на Платежной форме:
Название псевдонима стиля регистрозависимое.
Пример настройки Платежной формы:
Платеж через форму мерчанта
При подключении платежей через собственную платежную форму по умолчанию сразу доступен способ оплаты Банковские карты. Другие способы оплаты доступны по запросу:
- Платежные токены карт и QIWI Кошелька.
- Yandex Pay.
- Система Быстрых Платежей (СБП).
- Баланс мобильного телефона
Процесс платежа
sequenceDiagram
participant customer as Покупатель
participant store as Магазин
participant qb as QIWI (эквайер)
participant ips as Эмитент
customer->>store:Выбор товаров, Старт оплаты,ввод платежных данных
activate store
store->>qb:ПлатежОдношаговый платеж — все способы оплатыДвухшаговый платеж — только карты
activate qb
qb->>store:Статус операции, данные для 3DS или QR-код СБП
rect rgb(237, 243, 255)
Note over customer, ips:3-D Secure
store->>customer:Переадресация покупателя на acsUrl или в приложение банка
activate ips
ips->>customer:Аутентификация покупателя:3DS — карты,СБП — подтверждение операции в интерфейсе эмитента карты
customer->>ips:Аутентификация
ips->>store:Результат аутентификации (PaRes)
store->>qb:Завершение аутентификации (complete)
end
qb->>ips:Запрос списания денежных средств
activate ips
ips->>qb:Статус операции
qb->>store:Уведомление о статусе операции
rect rgb(237, 243, 255)
Note over store, ips:Двухшаговый платеж
store->>qb:Подтверждение операции (capture)
qb->>ips:Подтверждение списания
deactivate ips
qb->>store:Уведомление о подтверждении платежа
end
deactivate qb
deactivate store
Чтобы создать платеж, передайте в запросе API Платеж:
- ключ API;
- сумму платежа;
- метод платежа;
- другую информацию для создания платежа.
Банковская карта
Протокол приема платежей поддерживает как двухшаговый платеж с холдированием средств на карте покупателя, так и одношаговый платеж без авторизации покупателя.
Создание платежа
Пример платежа с холдированием (двухшаговый платеж)
Пример платежа с немедленной оплатой (одношаговый платеж)
Чтобы инициировать платеж с предварительным холдированием средств на карте (двухшаговый платеж), передайте в запросе API Платеж:
- ключ API;
- сумму платежа;
- метод платежа CARD и карточные данные покупателя;
- другая информация для создания платежа.
В двухшаговом платеже возмещение формируется только после подтверждения платежа.
Ожидание аутентификации покупателя (3-D Secure)
Пример ответа с требованием аутентификации покупателя
Перенаправление для аутентификации 3-D Secure
Завершение аутентификации покупателя
Если требуется 3DS аутентификация покупателя, понадобится пройти дополнительную проверку у эмитента. В этом случае в ответе на запрос платежа добавляется объект requirements. threeDS с полями:
- acsUrl — URL сервера аутентификации 3-D Secure, для перенаправления на страницу подтверждения от эмитента;
- pareq — зашифрованный запрос на аутентификацию 3-D Secure.
Чтобы получить результат проверки (PaReS), сделайте POST-запрос на URL сервера аутентификации 3-D Secure с параметрами:
- TermUrl — URL перенаправления покупателя после успешной аутентификации 3-D Secure;
- MD — уникальный идентификатор транзакции;
- PaReq — значение параметра pareq из ответа на платежный запрос.
Чтобы сохранять обратную совместимость, использование протокола 3-D Secure 1. 0 или 3-D Secure 2. 0 не влияет на вашу интеграцию с API.
Информация о покупателе передаётся в платежную систему карты. Банк-эмитент либо предоставляет разрешение на списание средств без аутентификации (frictionless flow), либо принимает решение о необходимости аутентификации с помощью одноразового пароля (challenge flow). После прохождения проверки покупатель перенаправляется по адресу TermUrl с зашифрованным результатом проверки в параметре PaRes.
Чтобы завершить аутентификацию покупателя, передайте в запросе API Завершение аутентификации клиента:
- уникальный ID мерчанта;
- номер платежа (параметр paymentId) из ответа на запрос платежа;
- результат 3-D Secure (значение параметра PaRes).
Подтверждение платежа
Это действие требуется только для двухшагового платежа с холдированием.
Чтобы подтвердить платеж:
- Получите paymentId платежа:
Из серверного уведомления после успешного холдирования средств.Из ответа на запрос Статус платежа. - Из серверного уведомления после успешного холдирования средств.
- Из ответа на запрос Статус платежа.
- Отправьте запрос API Подтверждение платежа с полученным paymentId.
Платежный токен
Использование платежного токена в запросе платежа
Платежные токены используются для списаний с карт или QIWI кошельков без ввода реквизитов карты или номера кошелька. Метод оплаты платежным токеном по умолчанию отключен. Чтобы подключить его, обратитесь к вашему сопровождающему менеджеру.
О выпуске платежного токена читайте в разделе по ссылке.
Чтобы оплатить покупку платежным токеном, передайте в запросе API Платеж:
- платежный токен в объекте paymentMethod,
- идентификатор покупателя, для которого был выпущен платежный токен, в параметре customer.account.
ПараметрТипОписаниеpaymentMethod. typeStringТип операции. Только TOKENpaymentMethod. paymentTokenStringСтрока платежного токенаcustomer. accountStringУникальный идентификатор Покупателя в системе ТСП, для которого выпущен платежный токен. Без этого параметра оплата платежным токеном невозможна.
Покупатель не будет указывать свои карточные данные и проходить проверку 3-D Secure.
Yandex Pay
Оплата покупок с Yandex Pay происходит без ввода данных карты.
Для включения способа оплаты Yandex Pay обратитесь к вашему сопровождающему менеджеру.
Как отправлять платеж
Пример платежа с данными расшифрованного платежного токена Yandex Pay (метод CLOUD_TOKEN)
Пример платежа с данными расшифрованного платежного токена Yandex Pay (метод PAN_ONLY)
При отправке платежа, формат платежных данных зависит от способа аутентификации, указанного в поле authMethod расшифрованного платежного токена Yandex Pay:
- CLOUD_TOKEN. Без дополнительной аутентификации покупателя.Для отправки платежных данных в QIWI передайте в запросе API Платеж объект paymentMethod с параметрами:
type — всегда CARD;данные из расшифрованного платежного токена Yandex Pay:
PAN в поле «pan»;срок действия в формате MM/YY в поле «expiryDate»;объект external3dSec с элементами:
type — всегда YANDEX_PAY;cryptogram — содержимое поля cryptogram платежного токена Yandex Pay(Base64-закодированная строка);eciIndicator — ECI индикатор. Необходимо передавать, если поле eciIndicator получено в платежном токене Yandex Pay. В противном случае параметр не передавать. - type — всегда CARD;
- данные из расшифрованного платежного токена Yandex Pay:
PAN в поле «pan»;срок действия в формате MM/YY в поле «expiryDate»;объект external3dSec с элементами:
type — всегда YANDEX_PAY;cryptogram — содержимое поля cryptogram платежного токена Yandex Pay(Base64-закодированная строка);eciIndicator — ECI индикатор. Необходимо передавать, если поле eciIndicator получено в платежном токене Yandex Pay. В противном случае параметр не передавать. - PAN в поле «pan»;
- срок действия в формате MM/YY в поле «expiryDate»;
- объект external3dSec с элементами:
type — всегда YANDEX_PAY;cryptogram — содержимое поля cryptogram платежного токена Yandex Pay(Base64-закодированная строка);eciIndicator — ECI индикатор. Необходимо передавать, если поле eciIndicator получено в платежном токене Yandex Pay. В противном случае параметр не передавать. - type — всегда YANDEX_PAY;
- cryptogram — содержимое поля cryptogram платежного токена Yandex Pay(Base64-закодированная строка);
- eciIndicator — ECI индикатор. Необходимо передавать, если поле eciIndicator получено в платежном токене Yandex Pay. В противном случае параметр не передавать.
- PAN_ONLY. С дополнительной аутентификацией покупателя (3-D Secure).Для отправки платежных данных в QIWI передайте в запросе API Платеж объект paymentMethod с параметрами:
type — всегда CARD;данные из расшифрованного платежного токена Yandex Pay:
PAN в поле «pan»;срок действия в формате MM/YY в поле «expiryDate»;объект external3dSec с полем type, всегда равным YANDEX_PAY. - type — всегда CARD;
- данные из расшифрованного платежного токена Yandex Pay:
PAN в поле «pan»;срок действия в формате MM/YY в поле «expiryDate»;объект external3dSec с полем type, всегда равным YANDEX_PAY. - PAN в поле «pan»;
- срок действия в формате MM/YY в поле «expiryDate»;
- объект external3dSec с полем type, всегда равным YANDEX_PAY.
Оплата через СБП
Протокол приема платежей поддерживает списание средств с покупателя через Систему быстрых платежей (СБП). Через СБП можно выполнять платежи в пользу юридических лиц, в том числе с использованием QR-кодов.
По умолчанию прием оплаты через СБП отключен. Чтобы подключить этот способ оплаты, обратитесь к вашему сопровождающему менеджеру.
Получение QR-кода
Пример тела запроса для платежа через СБП
«Flower for my girlfriend»
Пример ответа c QR-кодом
«Flower for my girlfriend»
Чтобы покупатель смог произвести оплату через СБП, выпустите QR-код. Для этого отправьте запрос API Получение QR-кода СБП. В запросе укажите:
- Объект qrCode с характеристиками запрашиваемого QR-кода:
Тип QR-кода в параметре qrCode.type:
DYNAMIC — динамический QR-код, индивидуальный для каждой оплаты.STATIC — статический QR-код, формируется один раз, удобно для товаров с фиксированной ценой.
Срок действия кода в минутах в параметре qrCode.ttl. Указывается только для qrCode.type=DYNAMIC. По умолчанию динамический QR-код активен в течение 72 часов, по истечении срока деактивируется.Тип и размер изображения QR-кода в блоке qrCode.image. - Тип QR-кода в параметре qrCode.type:
DYNAMIC — динамический QR-код, индивидуальный для каждой оплаты.STATIC — статический QR-код, формируется один раз, удобно для товаров с фиксированной ценой. - DYNAMIC — динамический QR-код, индивидуальный для каждой оплаты.
- STATIC — статический QR-код, формируется один раз, удобно для товаров с фиксированной ценой.
- Срок действия кода в минутах в параметре qrCode.ttl. Указывается только для qrCode.type=DYNAMIC. По умолчанию динамический QR-код активен в течение 72 часов, по истечении срока деактивируется.
- Тип и размер изображения QR-кода в блоке qrCode.image.
- Сумму платежа.
- Чтобы добавить описание платежа, используйте поле запроса paymentPurpose. Если это поле не заполнено, в приложении банка покупателя отобразится название вашего магазина.
В ответе на запрос в объекте qrCode содержатся данные QR-кода:
- image.content — base64-encoded QR-код. После расшифровки вы получите изображение для отображения покупателю.
- payload — URL-based QR для перенаправления покупателя в приложение банка.
Статус платежа через СБП
После оплаты платеж перейдет в финальный статус. Актуальный статус платежа по идентификатору paymentUid можно получить через API.
Статус QR-кода
Пример ответа на запрос статуса QR-кода
«Flower for my girlfriend»
Используйте запрос Статус QR-кода СБП. В ответе возвращается информация о QR-коде, в том числе его текущий статус. Так вы можете определить действует ли QR-код.
Выпуск токена для оплаты через СБП
Пример тела запроса выпуска токена СБП
Вы можете выпустить платежный токен СБП для привязки карты покупателя и последующих оплат через СБП.
Чтобы выпустить платежный токен, воспользуйтесь запросом Получение QR-кода СБП. В запросе укажите:
- Объект qrCode с характеристиками запрашиваемого QR-кода:
Тип QR-кода в параметре qrCode.type — TOKEN.Тип и размер изображения QR-кода в блоке qrCode.image. - Тип QR-кода в параметре qrCode.type — TOKEN.
- Тип и размер изображения QR-кода в блоке qrCode.image.
- Сумму платежа.
- Параметр tokenizationAccount — уникальный идентификатор Покупателя в системе ТСП.
- Описание токена в параметре tokenizationPurpose.
Необходимо использовать разные параметры tokenizationAccount для разных покупателей, чтобы гарантировать безопасность привязанных карточных данных покупателей.
Вы получите информацию о платежном токене СБП в объекте token ответа.
Оплата токеном через СБП
Пример тела запроса
Чтобы оплатить покупку платежным токеном СБП, передайте в запросе API Платеж токеном СБП:
- платежный токен в параметре token,
- идентификатор покупателя, для которого был выпущен платежный токен, в параметре tokenizationAccount.
Оплата со счета мобильного телефона
Оплата покупок со счета мобильного телефона происходит без ввода данных карты. Сразу после инициирования платежа покупатель получает SMS-сообщение от своего мобильного оператора с информацией о платеже и подтверждает или отклоняет оплату ответным SMS.
Для включения этого способа оплаты обратитесь к вашему сопровождающему менеджеру.
Как отправлять платеж
При отправке платежа укажите в блоке paymentMethod в запросе API Платеж параметры:
- type — всегда MOBILE_COMMERCE.
- phone — номер телефона, с баланса которого выполняется оплата. Номер указывается в международном формате со знаком +.
Серверные уведомления
Уведомление от QIWI — входящий POST-запрос с информацией о событии. Тело запроса содержит JSON-сериализованные данные платежа/счета (кодировка UTF-8).
Протокол поддерживает следующие типы уведомлений о событиях API:
- PAYMENT — отправляются при совершении операций платежа;
- CAPTURE — отправляются при совершении операций подтверждения платежа;
- REFUND — отправляются при совершении операций возврата платежа;
- CHECK_CARD — отправляются при совершении операций проверки карты.
Адрес вашего сервера для обработки уведомлений указывается в Личном кабинете в разделе Настройки.
Чтобы указать URL сервера обработки уведомлений для отдельной операции, используйте:
- параметр callbackUrl — в запросах API Платеж, Подтверждение платежа, Операция возврата;
- параметр customFields.invoice_callback_url — в запросе API Создание счета.
Сертификат сайта должен быть выпущен доверенным центром сертификации (например Comodo, Verisign, Thawte и т.
Для дополнительной уверенности следует принимать уведомления о платежах только с указанных ниже IP-адресов компании QIWI:
- 79.142.16.0/20
- 195.189.100.0/22
- 91.232.230.0/23
- 91.213.51.0/24
Частота отправки уведомлений
Сервис отправки уведомлений распределяет неуспешные уведомления по очередям:
- 1 попытка с отложенным временем 5 секунд
- 1 попытка с отложенным временем 1 минута
- 3 попытки с отложенным временем по 5 минут
Время повторной отправки может сдвигаться в бОльшую сторону.