qiwi api php sdk

Qiwi api php sdk

Universal payments API PHP SDK

qiwi api php sdk. Смотреть фото qiwi api php sdk. Смотреть картинку qiwi api php sdk. Картинка про qiwi api php sdk. Фото qiwi api php sdk

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 sdk. Смотреть фото qiwi api php sdk. Смотреть картинку qiwi api php sdk. Картинка про qiwi api php sdk. Фото qiwi api php sdk

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

Мерчант перенаправляет пользователя на Платежную форму для выставления счета по заказу. Или выставляет счет по 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 sdk. Смотреть фото qiwi api php sdk. Смотреть картинку qiwi api php sdk. Картинка про qiwi api php sdk. Фото qiwi api php sdk

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 sdk. Смотреть фото qiwi api php sdk. Смотреть картинку qiwi api php sdk. Картинка про qiwi api php sdk. Фото qiwi api php sdk

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

qiwi api php sdk. Смотреть фото qiwi api php sdk. Смотреть картинку qiwi api php sdk. Картинка про qiwi api php sdk. Фото qiwi api php sdk

Источник

Qiwi api php sdk

Universal payments API PHP SDK

qiwi api php sdk. Смотреть фото qiwi api php sdk. Смотреть картинку qiwi api php sdk. Картинка про qiwi api php sdk. Фото qiwi api php sdk

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:

Источник

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

Последнее обновление: 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 sdk. Смотреть фото qiwi api php sdk. Смотреть картинку qiwi api php sdk. Картинка про qiwi api php sdk. Фото qiwi api php sdk

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

qiwi api php sdk. Смотреть фото qiwi api php sdk. Смотреть картинку qiwi api php sdk. Картинка про qiwi api php sdk. Фото qiwi api php sdk

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

qiwi api php sdk. Смотреть фото qiwi api php sdk. Смотреть картинку qiwi api php sdk. Картинка про qiwi api php sdk. Фото qiwi api php sdk

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

qiwi api php sdk. Смотреть фото qiwi api php sdk. Смотреть картинку qiwi api php sdk. Картинка про qiwi api php sdk. Фото qiwi api php sdk

Скопируйте в буфер секретный ключ и сохраните его в безопасном месте — в дальнейшем он не будет отображаться в интерфейсе. Используйте секретный ключ для запросов к 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 sdk. Смотреть фото qiwi api php sdk. Смотреть картинку qiwi api php sdk. Картинка про qiwi api php sdk. Фото qiwi api php sdk

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

qiwi api php sdk. Смотреть фото qiwi api php sdk. Смотреть картинку qiwi api php sdk. Картинка про qiwi api php sdk. Фото qiwi api php sdk

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

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

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

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

Checkout Popup

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

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

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

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

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

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

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

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

Источник

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

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