UPI
Вариант интеграции PZ
Описание процесса оплаты
- Плательщик выбирает UPI в качестве способа оплаты.
- Торговец запрашивает номер кошелька у PaySage.io и отображает его клиенту.
- Плательщик делает перевод на указанный кошелек.
- Плательщик копирует идентификатор транзакции из квитанции и вводит его на платежной форме торговца.
- Торговец создает платеж через PaySage.io API и передает идентификатор транзакции.
- Далее PaySage.io активирует платеж и уведомляет торговца, когда транзакция будет завершена.
Для этого варианта интеграции поддерживаются следующие типы транзакций:
Запрос номера кошелька
Запрос
Отправьте GET
запрос на https://api.paysage.io/beyag/pkm/upi/wallet/{currency}
, где {currency}
- это валюта в формате ISO-4217, например USD.
Ответ
В ответ будет получен статус код 200
, если запрос был обработан успешно, или не успешно.
Пример успешного ответа
{
"wallet": "123456789",
"status": "ok"
}
Пример ответа в случае ошибки
{
"status": "fail",
"message": "An error has occurred while fetching a wallet. Try again later, please."
}
Оплата
Запрос
Note
Поддерживаемые валюты и страны уточняйте у аккаунт менеджера.
После того как плательщик отправит вам идентификатор транзакции, необходимо отправить запрос оплаты со следующими данными:
Параметр | Тип данных | Описание |
---|---|---|
method | object | Секция параметров способа оплаты. |
type * обязательный |
string | upi |
account * условно обязательный |
string | Аккаунт в UPI. Обратитесь в Службу технической поддержки за более подробной информацией. |
customer | Cекция, содержащая дополнительную информацию о плательщике. | |
email * обязательный |
string | Адрес электронной почты покупателя. |
first_name * условно обязательный |
string | Имя покупателя. Обратитесь в Службу технической поддержки за более подробной информацией. |
last_name * условно обязательный |
string | Фамилия покупателя. Обратитесь в Службу технической поддержки за более подробной информацией. |
additional_data | Cекция, содержащая дополнительную информацию о платеже. | |
transaction_id * условно обязательный |
string | Идентификатор транзакции, полученный от покупателя. Обратитесь в Службу технической поддержки за более подробной информацией. |
Ответ
Секция upi
из ответа на запрос будет иметь все те же параметры, что были присланы в запросе, а также один дополнительный параметр form
с необходимыми параметрами, чтобы сформировать веб-форму для перехода на оплату.
Выплата средств
Запрос
Info
Дробная часть суммы игнорируется. Например, если передан amount = 123456, тогда актуальный amount будет 123400.
Отправьте запрос выплаты средств со следующими данными:
Параметр | Тип данных | Описание |
---|---|---|
method | object | Секция параметров способа оплаты. |
type * обязательный |
string | imps_ib |
channel * обязательный |
string | Идентификатор или адрес электронной почты пользователя, для которого проводится выплата средств. |
account * обязательный |
string | Номер счета получателя. |
account_name * обязательный |
string | Имя держателя счета. |
bank_code * обязательный |
string | Уникальный идентификатор, присваиваемый центральным банком страны. Код IFSC. |
Ответ
Секция imps_ib
из ответа на запрос будет иметь все те же параметры, что были присланы в запросе.
Вариант интеграции PF
Для этого варианта интеграции поддерживается тип транзакций оплата:
Оплата
Описание процесса оплаты
- Покупатель выбирает UPI в качестве способа оплаты на сайте торговца и указывает свой VPA (Virtual Payment Address).
- Торговец отправляет запрос оплаты в PaySage.io, указав VPA покупателя.
- PaySage.io возвращает торговцу статус оплаты:
pending
илиfailed
. - Покупатель получает запрос подтверждения оплаты в своем аккаунте приложения UPI.
- Покупатель подтверждает оплату в приложении UPI.
- PaySage.io высылает торговцу автоматическое уведомление со статусом
successful
,failed
илиpending
.
Запрос
Отправьте запрос оплаты, указав следующие дополнительные параметры:
Параметр | Тип данных | Описание |
---|---|---|
method | object | Секция параметров способа оплаты. |
type * обязательный |
string | upi |
account * обязательный |
string | VPA/ UPI ID покупателя. |
customer * обязательный | object | Секция информации о покупателе. |
first_name * обязательный | string (30) | Имя покупателя. |
last_name * обязательный | string(30) | Фамилия покупателя. |
state * обязательный | string (2) | Штат покупателя. Укажите 2 последних символа из геокода формата ISO 3166-2. |
city * обязательный | string | Город покупателя. |
zip * обязательный | string (6) | Почтовый индекс покупателя. |
address * обязательный | string (100) | Адрес покупателя. |
phone * обязательный |
string (14) | Номер телефона покупателя. |
email * обязательный |
string | Адрес электронной почты покупателя. |
Пример запроса
{
"request": {
"amount": 10042,
"currency": "INR",
"description": "description",
"test": false,
"customer": {
"first_name": "John",
"last_name": "Doe",
"state": "KA",
"city": "Bangalore",
"zip": "560002",
"address": "1st Street",
"phone": "17777777777",
"email": "user@example.com"
},
"method": {
"type": "upi",
"account": "1234"
}
}
}
Ответ
Секция upi
в ответе будет содержать те же параметры, что и в запросе.