qiwi api php готовый скрипт на php

Qiwi api php готовый скрипт на php

Universal payments API PHP SDK

qiwi api php готовый скрипт на php. Смотреть фото qiwi api php готовый скрипт на php. Смотреть картинку qiwi api php готовый скрипт на php. Картинка про qiwi api php готовый скрипт на php. Фото qiwi api php готовый скрипт на php

PHP SDK модуль для внедрения единого платежного протокола эквайринга и QIWI Кошелька.

Установка и подключение

Установка с помощью composer:

Пошаговое руководство по работе с SDK (для физических лиц): https://developer.qiwi.com/ru/p2p-sdk-guide/#integration-sdk
API P2P-счетов (для физических лиц): https://developer.qiwi.com/ru/p2p-payments
API QIWI Кассы (для юридических лиц): https://developer.qiwi.com/ru/bill-payments

Смена SECRET_KEY на новый:

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

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

Информация о счете

Метод getBillInfo возвращает информацию о счете. В параметрах нужно указать идентификатор счета billId внутри вашей системы, в результате будет получен ответ со статусом счета. Подробнее в документации — для физ.лиц, для юр.лиц.

Отмена неоплаченного счета

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

! Метод недоступен для физических лиц

В результате будет выведена информация о возврате и о счете:

Информация о возврате

! Метод недоступен для физических лиц

В результате будет выведена информация о возврате:

Тестирования без истользования реального API:

Источник

API QIWI Кассы

Последнее обновление: 2019-03-20 | Редактировать на GitHub

Для работы API потребуются публичный и секретный ключи. Ключи создаются в личном кабинете после регистрации и подключения на kassa.qiwi.com или p2p.qiwi.com.

Схема работы

qiwi api php готовый скрипт на php. Смотреть фото qiwi api php готовый скрипт на php. Смотреть картинку qiwi api php готовый скрипт на php. Картинка про qiwi api php готовый скрипт на php. Фото qiwi api php готовый скрипт на php

Пользователь формирует заказ на сайте мерчанта.

Мерчант перенаправляет пользователя на Платежную форму для выставления счета по заказу. Или выставляет счет по API и перенаправляет пользователя на созданную платежную форму.

Пользователь выбирает способ оплаты и оплачивает счет. По умолчанию подбирается оптимальный для пользователя способ оплаты.

После оплаты счета мерчант получает уведомление (предварительно настройте отправку уведомлений в Личном кабинете). Уведомления об оплате счета содержат параметры авторизации, которые необходимо проверять на сервере мерчанта.

Также есть возможность

Авторизация

Запросы мерчанта авторизуются посредством секретного ключа API (SECRET_KEY). Параметр авторизации указывается в заголовке Authorization, значение которого формируется как «Bearer SECRET_KEY».

Публичный ключ (PUBLIC_KEY) используется для выставления счетов через веб-форму.

Ключи создаются в личном кабинете после регистрации и подключения на kassa.qiwi.com или p2p.qiwi.com.

Взаимодействие через API

1. Выставление счета

Запрос → PUT

HEADERS

Ответ ←

Пример тела ответа при ошибке

HEADERS

2. Уведомления об оплате счетов

Запрос ← POST

Уведомление представляет собой входящий POST-запрос.

Тело запроса содержит JSON-сериализованные данные счета (кодировка UTF-8).

Адрес сервера для уведомлений указывается на сайте kassa.qiwi.com в разделе «Настройка протокола» или на p2p.qiwi.com при генерации ключей.

HEADERS

Авторизация уведомлений

Алгоритм проверки подписи:

Объединить значения параметров в одну строку с разделителем | :

где <*>– значение параметра уведомления. Все значения при проверке подписи должны трактоваться как строки.

Вычислить HMAC-хэш c алгоритмом хэширования SHA256:

hash = HMAС(SHA256, invoice_parameters, secret_key) Где:

Сравнить значение заголовка X-Api-Signature-SHA256 с результатом из п.2.

Строка и ключ подписи кодируются в UTF-8.

Параметры

В POST-запросе уведомления указаны параметры счета.

ПараметрОписаниеТип
billДанные о счетеObject
billIdУникальный идентификатор счета в системе мерчантаString(200)
siteIdИдентификатор сайта мерчанта в QIWI КассеString
amountДанные о сумме счетаObject
amount.valueСумма счета, округленная до двух десятичных знаков в меньшую сторонуNumber(6.2)
amount.currencyИдентификатор валюты счета (Alpha-3 ISO 4217 код)String(3)
statusДанные о статусе счетаObject
status.valueСтроковое значение статусаString
status.changedDateTimeДата обновления статуса. Формат даты
ГГГГ-ММ-ДДTЧЧ:ММ:ССZ
String
customerДанные о пользователе, на которого был выставлен счетObject
customer.phoneНомер телефона, на который был выставлен счет (если был указан при выставлении счета)String
customer.emailE-mail пользователя (если был указан при выставлении счета)String
customer.accountИдентификатор пользователя в системе мерчанта (если был указан при выставлении счета)String
creationDateTimeДата создания счета. Формат даты
ГГГГ-ММ-ДДTЧЧ:ММ:ССZ
String
expirationDateTimeСрок оплаты счета. Формат даты
ГГГГ-ММ-ДДTЧЧ:ММ:СС+ЧЧ:ММ\-Z
String
commentКомментарий к счетуString(255)
customFieldsДополнительные данные счета (если были указаны при выставлении счета).Object
versionВерсия уведомленийString

Ответ →

HEADERS

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

3. Проверка статуса оплаты счета

Метод позволяет проверить статус оплаты счета клиентом. Рекомендуется его использовать после получения уведомления об оплате.

Запрос → GET

URL https://api.qiwi.com/partner/bill/v1/bills/

HEADERS

Ответ ←

Пример тела ответа при ошибке

HEADERS

4. Отмена неоплаченного счета

Метод позволяет отменить неоплаченный счет.

Запрос → POST

URL https://api.qiwi.com/partner/bill/v1/bills//reject

HEADERS

Ответ ←

Пример тела ответа при ошибке

HEADERS

5. Возврат средств

Метод позволяет сделать возврат средств по оплаченному счету.

Запрос → PUT

URL https://api.qiwi.com/partner/bill/v1/bills//refunds/

HEADERS

Ответ ←

Пример тела ответа при ошибке

HEADERS

6. Статус возврата

Метод запрашивает статус возврата по оплаченному счету.

Запрос → GET

URL https://api.qiwi.com/partner/bill/v1/bills//refunds/

HEADERS

Ответ ←

Пример тела ответа при ошибке

HEADERS

Статусы оплаты счетов

СтатусОписаниеФинальный
WAITINGСчет выставлен, ожидает оплаты
PAIDСчет оплачен+
REJECTEDСчет отклонен+
EXPIREDВремя жизни счета истекло. Счет не оплачен+

Статусы операции возврата

СтатусОписаниеФинальный
PARTIALЧастичный возврат суммы
FULLПолный возврат суммы+

Дополнительно

Выставление счета через платежную форму

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

REDIRECT →

URL https://oplata.qiwi.com/create

Параметры

В ссылке на веб-форму указываются параметры счета.

ПараметрОписаниеТипОбяз.
publicKeyКлюч идентификации мерчанта, полученный в QIWI КассеString+
billIdУникальный идентификатор счета в системе мерчантаURL-закодированная строка String(200)
amountСумма, на которую выставляется счет, округленная в меньшую сторону до 2 десятичных знаковNumber(6.2)
phoneНомер телефона пользователя, на который выставляется счет (в международном формате)URL-закодированная строка
emailE-mail пользователя, куда будет отправлена ссылка для оплаты счетаURL-закодированная строка
accountИдентификатор пользователя в системе мерчантаURL-закодированная строка
commentКомментарий к счетуURL-закодированная строка String(255)
customFields[]Дополнительные данные счетаURL-закодированная строка String(255)
lifetimeДата, до которой счет будет доступен для оплаты. Если счет не будет оплачен до этой даты, ему присваивается финальный статус EXPIRED и последующая оплата станет невозможна.
Внимание! По истечении 45 суток от даты выставления счет автоматически будет переведен в финальный статус
URL-закодированная строка
ГГГГ-ММ-ДДTччмм
successUrlURL для переадресации в случае успешной оплаты с баланса QIWI Кошелька. При ином способе оплаты переадресация не выполняется. Ссылка должна вести на сайт мерчанта.URL-закодированная строка

Персонализация

Персонализация позволяет адаптировать платежную форму под ваш стиль. Настраивается лого, фон и цвет кнопок.

Создать стили можно в личном кабинете. Возможно создать несколько стилей.

При настройке задается код, привязанный к стилю (например, кодСтиля ). Для использования стиля на платежной форме необходимо передать в параметре customFields запроса создания счета или вызова платежной формы переменную: «themeCode»:»кодСтиля» с соответствующим кодом стиля.

Пример передачи параметра при работе с формой

Пример передачи параметра при работе через API

qiwi api php готовый скрипт на php. Смотреть фото qiwi api php готовый скрипт на php. Смотреть картинку qiwi api php готовый скрипт на php. Картинка про qiwi api php готовый скрипт на php. Фото qiwi api php готовый скрипт на php

Checkout Popup

Пример работы popup

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

Установка и подключение:

Выставление нового счета

Пример выставления счета через popup

ПараметрОписаниеТипОбязательное
publicKeyКлюч идентификации мерчанта, полученный в QIWI КассеString+
amountСумма, на которую выставляется счет, округленная в меньшую сторону до 2 десятичных знаковNumber(6.2)+
phoneНомер телефона пользователя, на который выставляется счет (в международном формате)String
emailE-mail пользователя, куда будет отправлена ссылка для оплаты счетаString
accountИдентификатор пользователя в системе мерчантаString
commentКомментарий к счетуString(255)
customFieldsДополнительные данные счетаObject
lifetimeДата, до которой счет будет доступен для оплаты. Если счет не будет оплачен до этой даты, ему присваивается финальный статус EXPIRED и последующая оплата станет невозможна.Строка в виде ГГГГ-ММ-ДДTччмм

Открытие существующего счета

Пример открытия уже созданного счета в popup

Возможности при открытии ссылки счета

При выставлении счета через API в ответе приходит payUrl с ссылкой на форму оплаты. К ссылке можно добавить следующие параметры:

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

SDK и библиотеки

Решения для CMS

Рекомендации к оформлению

Иконки

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

qiwi api php готовый скрипт на php. Смотреть фото qiwi api php готовый скрипт на php. Смотреть картинку qiwi api php готовый скрипт на php. Картинка про qiwi api php готовый скрипт на php. Фото qiwi api php готовый скрипт на php

Допустимо отображение QIWI Кассы текстом, без логотипа. Иконки способов оплаты выводятся:

qiwi api php готовый скрипт на php. Смотреть фото qiwi api php готовый скрипт на php. Смотреть картинку qiwi api php готовый скрипт на php. Картинка про qiwi api php готовый скрипт на php. Фото qiwi api php готовый скрипт на php

Источник

Инструкция по работе с API QIWI Мастер

Чтобы автоматически управлять картами в составе пакета QIWI Мастер вы можете воспользоваться специальным API. С помощью API вы сможете:

Для настройки API и работы с ним вам потребуются базовые знания знание программирования на языках PHP или Python. Далее мы пошагово расскажем как отправлять запросы и обрабатывать ответы от сервиса QIWI.

Попробуйте интерфейс для управления вирутальными картами QIWI Мастер по API.

Установка и настройка сервера

Пропустите этот шаг если вы знаете, как запустить сервер на локальном компьютере или на хостинге. Перейти к работе с API.

Для отправки запросов через API и обработки ответов вам нужно настроить сервер. Разберем, как установить сервер Apache на домашнем компьютере или арендовать сервер в интернете. В примерах мы будем использовать язык программирования PHP.

Сервер на домашнем компьютере

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

Аренда сервера у хостинг-компании

Этот способ быстрее, но нужен свободный домен, с которого будут отправляться запросы. Некоторые хостинг-провайдеры предоставляют домен в подарок при покупке хостинга. Желательно использовать ssl сертификат и отправлять запросы по https-протоколу. SSL сертификат нужен, чтобы ваш трафик не смогли расшифровать и подменить данные при отправке.

Для работы с API достаточно оплатить любой виртуальный хостинг с поддержкой скриптов на PHP и интерфейсом на cPanel (например тариф Host-A от Reg.ru). Виртуальные сервера VDS\VPS тоже подойдут, но больше времени уйдет на настройку.

qiwi api php готовый скрипт на php. Смотреть фото qiwi api php готовый скрипт на php. Смотреть картинку qiwi api php готовый скрипт на php. Картинка про qiwi api php готовый скрипт на php. Фото qiwi api php готовый скрипт на php

Подготовка к работе с API

qiwi api php готовый скрипт на php. Смотреть фото qiwi api php готовый скрипт на php. Смотреть картинку qiwi api php готовый скрипт на php. Картинка про qiwi api php готовый скрипт на php. Фото qiwi api php готовый скрипт на php

При создании токена отметьте следующие разрешения:

qiwi api php готовый скрипт на php. Смотреть фото qiwi api php готовый скрипт на php. Смотреть картинку qiwi api php готовый скрипт на php. Картинка про qiwi api php готовый скрипт на php. Фото qiwi api php готовый скрипт на php

Отправка запросов и обработка ответа

qiwi api php готовый скрипт на php. Смотреть фото qiwi api php готовый скрипт на php. Смотреть картинку qiwi api php готовый скрипт на php. Картинка про qiwi api php готовый скрипт на php. Фото qiwi api php готовый скрипт на php

Покупка пакет QIWI мастер

После исполнения скрипта в браузере появится статус транзакции.

Покупка карты

Шаг 1. Создание заказа

Доступные для заказа типы карт:

Скопируйте этот код в файл cardsbuy.php и перейдите в браузере на cтраницу http://localhost/master-api/cardsbuy.php.

Шаг 2. Подтверждение заказ карты

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

Добавьте следующий код в файл cardbuy.php для подтверждения заказа карты:

Шаг 3. Покупка карты

Отправим запрос для покупки карты.

Добавьте следующий код в файл cardbuy.php для подтверждения заказа карты:

Сообщение «Accepted!» означает, что карта выпущена успешно. Любое другое сообщение значит ошибку.

Список карт с реквизитами

Скопируйте этот код в файл cardsreq.php и перейдите в браузере на cтраницу http://localhost/master-api/cardsreq.php:

В результате выполнения кода вы получите список выпущенных вирутальных карт в составе пакета QIWI Мастер.

Источник

Хочу рассказать вам про такой class как Qiwi API Class PHP, точнее класс называется просто Qiwi API Class. Служит он для упрощения работы с API системой Qiwi. Данный класс облегчит разработку при необходимости использовать API от Qiwi. Чем он поможет? Да все просто, в классе есть все необходимое для работы с персональным кошельком, причем все запросы готовы к использованию и вам нужно лишь только правильно воспользоваться ими. Давайте разберемся в нем более детально (ссылка для скачивания класса в конце статьи).

Как работает Qiwi API Class PHP:

Класс авторизуется в кошельке через специальное API от Qiwi, то есть вам не нужно вводить никакие пароли и светить ими, ожидаю что их сопрут. Все работает на уровне самого Qiwi, то есть через официальное API. Что на мой взгляд достаточно удобно, нежели как раньше некоторые использовали Curl, для получения и обработки данных с кошелька.

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

Для работы с классом вам потребуется само собой qiwi кошелек, а именно номер киви кошелька и его token. Как получить токен говорить я не буду, в официальной документации все есть, причем вполне понятно и подробно.

Доступные методы:

Установка и подключение Qiwi API Class:

1. Скачайте архив с классом

2. Скопируйте Qiwi.php из папки src/ и подключите его в вашем скрипте:

Получение последних 50 записей из истории платежей за 30 дней:

Получение данных по определенной транзакции:

Вот собственно и все, с остальными методами работать можно по той же аналогии, что и с примерами выше. Если что-то непонятно будет, пишите в комментариях, также если найдете какие-то ошибки в работе класса пишите, буду исправлять по мере поступления и по мере свободного времени. Также если у вас есть предложения по расширению и обновлению класса, то пишите, будем вместе думать как лучше все сделать и стоит ли это того. Скачать самую последнюю версию класса вы можете по ссылке ниже, она ведет на GitHub, где всегда будет последняя версия. На этом все, всем спасибо за внимание.

Версия Qiwi API: Версия 1.4 от 15.05.2018

Версия Qiwi API Class PHP: Версия 1.2 от 26.05.2018

Похожее в блоге

Shnapik

Вебмастер с опытом ищет приют! Возьмите меня, а то меня рвут!

76 комментариев

Подскажите метод определения платежной системы банковской карты.

Если вы про перевод средств, то вот номера:

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

Я имею в виду в класс добавить метод определения банковской карты (1963 VISA / 21013 MasterCard / 31652 МИР)

Необходимо получить ответ как в документации:
<
«code»: <
«value»: «0»,
«_name»: «NORMAL»
>,
«data»: null,
«message»: «1963»,
«messages»: null
>

Все методы из класса в правильном ответе получают то же, что и в документации. Если речь об этом, если нет, то немного не понимаю что конкретно нужно.
Какой метод из класса используете вы?

Данного метода в вашем классе нет.

В документации используются другие заголовки и хост:
POST /card/detect.action HTTP/1.1
Host: qiwi.com
Accept: application/json
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

cardNumber=4256********1231

Здесь будет другой запрос cURL.

Пробовал дописать метод, но он не работает:

Здравствуйте. Такая же проблема. Как решили вопрос с определением провайдера перед отправкой средств?

Дмитрий, понять какой метод используется, точнее параметр (его id), для метода sendMoneyToProvider. Можно извне, например при post запросе в селекте выбора карты (где value будет иметь идентификатор провайдера).

Заголовки же все те же используются:

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

При попытке передать деньги выводится ошибка
Array ( [message] => Json validation error List((obj.paymentMethod.accountId,List(ValidationError(List(error.expected.jsstring),WrappedArray()))), (obj.sum.currency,List(ValidationError(List(error.expected.jsstring),WrappedArray()))), (obj.id,List(ValidationError(List(error.expected.jsstring),WrappedArray())))) )

Другие методы класса тоже не работает

Метод перевода средств исправлен в примере, теперь всё работает как надо. В статье и на гитхабе новые примеры уже указаны Спасибо:)

постоянно выбивает «Техническая ошибка»

При каких обстоятельствах? Какой метод используется? Как используется, что подключается кроме данного скрипта, как он подключается. Не хватает немного вот этой информации.

Пытаюсь перевести с Qiwi на Qiwi методом «sendMoneyToQiwi», в итоге когда делаю запрос выбивает «Техническая ошибка под кодом 300», подключается с помощью «require_once ‘Qiwi.php’;», без проблем работает «getBalance()», а вот перевод выбивает постоянно ошибку, уже какой день пробую а толку 0, хотя токен у меня разрешен на перевод без СМС

Код всего файла можно посмотреть?

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

Источник

Условия использования

Последнее обновление: 09-09-2021

Для подключения на свой сайт сервиса приема переводов для физических лиц p2p необходимо иметь QIWI Кошелек со статусом идентификации «Основной» или «Профессиональный». Если Ваш кошелек имеет статус «Анонимный» – пройдите идентификацию удобным для вас способом. Для получения «Основного» статуса достаточно указать паспортные данные, для получения «Профессионального» статуса необходимо пройти очную идентификацию.

Рекомендуем получить «Профессиональный» статус. Такой статус имеет повышенные лимиты на остаток на балансе, сумму платежей и переводов в месяц, максимальную сумму одной операции. Подробнее про лимиты.

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

Активация p2p

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

Для работы API потребуются публичный и секретный ключи. Ключи создаются в разделе «API».

Схема работы с API

Пользователь формирует счет на вашей стороне.

Вы перенаправляете пользователя на платежную форму для выставления счета. Или выставляете счет по API и перенаправляете пользователя на созданную платежную форму.

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

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

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

SDK и библиотеки

С руководством по работе с SDK можно ознакомиться здесь.

Решения для CMS

Авторизация

Ваши запросы авторизуются посредством секретного ключа API ( SECRET_KEY ). Параметр авторизации указывается в заголовке Authorization, значение которого формируется как «Bearer SECRET_KEY».

Публичный ключ ( PUBLIC_KEY ) используется для выставления счетов через форму.

Ключи создаются в личном кабинете на вкладке API после авторизации на p2p.qiwi.com.

Для выпуска пары ключей выполните следующие шаги:

Внизу страницы нажмите на кнопку Настроить.

qiwi api php готовый скрипт на php. Смотреть фото qiwi api php готовый скрипт на php. Смотреть картинку qiwi api php готовый скрипт на php. Картинка про qiwi api php готовый скрипт на php. Фото qiwi api php готовый скрипт на php

Придумайте название паре ключей, чтобы упростить поиск в списке.

qiwi api php готовый скрипт на php. Смотреть фото qiwi api php готовый скрипт на php. Смотреть картинку qiwi api php готовый скрипт на php. Картинка про qiwi api php готовый скрипт на php. Фото qiwi api php готовый скрипт на php

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

qiwi api php готовый скрипт на php. Смотреть фото qiwi api php готовый скрипт на php. Смотреть картинку qiwi api php готовый скрипт на php. Картинка про qiwi api php готовый скрипт на php. Фото qiwi api php готовый скрипт на php

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

qiwi api php готовый скрипт на php. Смотреть фото qiwi api php готовый скрипт на php. Смотреть картинку qiwi api php готовый скрипт на php. Картинка про qiwi api php готовый скрипт на php. Фото qiwi api php готовый скрипт на php

Скопируйте в буфер секретный ключ и сохраните его в безопасном месте — в дальнейшем он не будет отображаться в интерфейсе. Используйте секретный ключ для запросов к API.

Выставление счета через форму

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

REDIRECT →

URL https://oplata.qiwi.com/create

Параметры

Взаимодействие через API

1. Выставление счета

Доступно выставление счетов в рублях и тенге.

Также существует более простой способ выставления счета — непосредственно через вызов платежной формы

Запрос → PUT

URL https://api.qiwi.com/partner/bill/v1/bills/

HEADERS

Ответ ←

Пример тела ответа при ошибке

HEADERS

2. Проверка статуса перевода по счету

Метод позволяет проверить статус перевода по счету. Рекомендуется его использовать после получения уведомления о переводе.

Запрос → GET

URL https://api.qiwi.com/partner/bill/v1/bills/

HEADERS

Ответ ←

Пример тела ответа при ошибке

HEADERS

3. Отмена неоплаченного счета

Метод позволяет отменить счет, по которому не был выполнен перевод.

Запрос → POST

URL https://api.qiwi.com/partner/bill/v1/bills//reject

HEADERS

Ответ ←

Пример тела ответа при ошибке

HEADERS

Статусы оплаты счетов

СтатусОписаниеФинальный
WAITINGСчет выставлен, ожидает оплаты
PAIDСчет оплачен+
REJECTEDСчет отклонен+
EXPIREDВремя жизни счета истекло. Счет не оплачен+

Уведомления о переводе по счету

Адрес сервера для уведомлений указывается в личном кабинете p2p.qiwi.com при генерации ключей.

Перед началом работы с сервисом уведомлений прочитайте условия по интеграции API уведомлений.

Пулы IP-адресов, с которых сервисы QIWI отправляют уведомления:

Если ваш сервер обработки уведомлений работает за брандмауэром, необходимо добавить эти IP-адреса в список разрешенных адресов входящих TCP-пакетов.

Запрос ← POST

Уведомление представляет собой входящий POST-запрос.

Тело запроса содержит JSON-сериализованные данные счета (кодировка UTF-8).

HEADERS

Авторизация уведомлений

Алгоритм проверки подписи:

Объединить значения следующих параметров уведомления в одну строку с разделителем | :

где <*>– значение параметра. Все значения при проверке подписи должны трактоваться как строки.

Вычислить HMAC-хэш c алгоритмом хэширования SHA256:

hash = HMAС(SHA256, invoice_parameters, secret_key) Где:

Сравнить значение заголовка X-Api-Signature-SHA256 с результатом из п.2.

Строка и ключ подписи кодируются в UTF-8.

Данные

В уведомлении содержится информация о счете.

ПолеОписаниеТип
billДанные о счетеObject
billIdУникальный идентификатор счета в вашей системе, указанный при выставленииString(200)
siteIdВаш идентификатор в системе p2p.qiwiString
amountДанные о сумме счетаObject
amount.valueСумма счета, округленная до двух десятичных знаков в меньшую сторонуNumber(6.2)
amount.currencyИдентификатор валюты суммы счета (Alpha-3 ISO 4217 код)String(3)
statusДанные о статусе счетаObject
status.valueСтроковое значение статусаString
status.changedDateTimeДата обновления статуса. Формат даты
ГГГГ-ММ-ДДTЧЧ:ММ:ССZ
String
customerДанные о пользователеObject
customer.phoneНомер телефона (если был указан при выставлении счета)String
customer.emailE-mail пользователя (если был указан при выставлении счета)String
customer.accountИдентификатор пользователя в вашей системе (если был указан при выставлении счета)String
creationDateTimeДата создания счета. Формат даты
ГГГГ-ММ-ДДTЧЧ:ММ:ССZ
String
expirationDateTimeСрок оплаты счета. Формат даты
ГГГГ-ММ-ДДTЧЧ:ММ:СС+ЧЧ:ММ\-Z
String
commentКомментарий к счетуString(255)
customFieldsДополнительные данные счета (если были указаны при выставлении счета).Object
versionВерсия уведомленийString

Ответ →

HEADERS

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

Настройки формы и счета

При выставлении счета через API в ответе приходит payUrl с ссылкой на форму. К ссылке можно добавить следующие параметры:

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

Пример передачи реферальной ссылки

Персонализация

Вы можете настроить персонализированную форму оплаты – изменить свое имя на название магазина и настроить цвет фона и кнопок.

qiwi api php готовый скрипт на php. Смотреть фото qiwi api php готовый скрипт на php. Смотреть картинку qiwi api php готовый скрипт на php. Картинка про qiwi api php готовый скрипт на php. Фото qiwi api php готовый скрипт на php

Перейдите в личном кабинете в раздел Форма приема переводов, нажмите на кнопку Настроить, произведите настройку и нажмите на кнопку Сохранить.

qiwi api php готовый скрипт на php. Смотреть фото qiwi api php готовый скрипт на php. Смотреть картинку qiwi api php готовый скрипт на php. Картинка про qiwi api php готовый скрипт на php. Фото qiwi api php готовый скрипт на php

Пример передачи параметра при вызове платежной формы

Пример передачи параметра в запросе к API

Обратите внимание, что значение themeCode индивидуально для разных кошельков.

Для применения стиля к платежной форме:

Checkout Popup

Пример работы popup

Всплывающее окно (popup) позволяет открыть форму перевода поверх вашего сайта.

В библиотеке доступно два метода: открытие существующего счета и открытие вашей формы приема переводов.

Установка и подключение:

Открытие существующего счета

Пример открытия уже созданного счета в popup

Открытие персонализированной формы

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *