One Touch No Reg API
Преди да продължите:
- Трябва да сте се свързали с Търговския ни отдел
- Трябва да сте получили
APPID&SECRET
Плащане от нерегистриран потребител¶
При плащане от потребител без регистрация се генерира токен, на който валидността се определя от опцията за запазване на картата за бъдещи плащания savecard = 0|1.
При savecard = 0 токенът е валиден само за текущото плащане
При savecard = 1 токенът е валиден за всички бъдещи плащания

Генериране на чексума¶
Заявките за плащане от потребител без регистрация изискват Hexadecimal HMAC SHA-1 CHECKSUM
| Параметър | Описание |
|---|---|
| request_data | Параметрите и стойностите им в заявката, сортирани във възходящ ред по името на параметъра, конкатенирани с \n (newline) |
| SECRET | Уникален ключ, който получавате от ePay.bg при регистриране на приложение |
Примерни параметри на заявката
1 2 3 4 5 6 7 8 9 10 11 | |
Пример на request_data
request_data="AMOUNT10\nAPPID2143960160650364377823089976443473298565779337965372776022890068\nDESCRIPTIONsome descr\nDEVICEID1231234\nID124345678\nRCPT8897458022\nRCPT_TYPEKIN\nREASONreason\nSAVECARD1\n"
Пример за генериране на чексума
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | |
Резултат от кодирането
Kодиране на request_data с параметър SECRET="012345678909876543210"
Резултат:
CHECKSUM = "98a395b01ec69d049528d8971b8546aaa4adac16"
GET /api/payment/noreg/send¶
| Метод | Система |
|---|---|
| GET | API_BASE_WEB |
Потребителят въвежда данни за картата и избира дали да я запази за бъдещи плащания.
Това генерира потребителски идентификатор TOKEN, след което потребителят може да извърши плащане.

Валидност на токен при незапазена карта
При savecard = 0, токенът е валиден само за текущото плащане.
Параметри на заявката
| Параметър | Тип | Описание | Опционалност |
|---|---|---|---|
| AMOUNT | int | Сума за плащане в стотинки | Задължителен |
| APPID | string | Идентификатор на приложението | Задължителен |
| DESCRIPTION | string | Описание на превода | Задължителен |
| DEVICEID | string | Идентификатор на устройството | Задължителен |
| ID | string | Уникален ключ, чрез който в последствие търсите резултата от заявката | Задължителен |
| RCPT | string | КИН на получателя | Задължителен |
| RCPT_TYPE | string | Винаги е KIN |
Задължителен |
| REASON | string | Описана причина за превода | Задължителен |
| CHECKSUM | string | Hexadecimal HMAC SHA-1 e чексума, удостоверяваща, че заявката идва от вас | Задължителен |
| SAVECARD | int 0|1 |
Опция за запазване на картата за бъдещи плащания SAVECARD = 1 |
Опционален |
Примерна заявка
API_BASE_WEB/api/payment/noreg/send?APPID=2143960160650364377823089976443473298565779337965372776022890068&DEVICEID=1231234&ID=124345678&AMOUNT=10&RCPT=8897458022&RCPT_TYPE=KIN&DESCRIPTION=some descr&REASON=reason&checksum=93bb9753b17205f94b184bc5a94f55b3d1d2afca
API_BASE_WEB/api/payment/noreg/send?APPID=2143960160650364377823089976443473298565779337965372776022890068&DEVICEID=1231234&ID=124345678&AMOUNT=10&RCPT=8897458022&RCPT_TYPE=KIN&DESCRIPTION=some descr&REASON=reason&SAVECARD=1&checksum=98a395b01ec69d049528d8971b8546aaa4adac16
След въвеждане на данни за картата, клиентът се пренасочва към REPLY_ADDRESS.
GET /api/payment/noreg/send/status¶
| Метод | Система |
|---|---|
| GET | API_BASE |
Проверка на плащане от нерегистриран потребител
| Параметър | Тип | Описание | Опционалност |
|---|---|---|---|
| APPID | string | Уникален идентификатор на приложението | Задължителен |
| DEVICEID | string | Уникален идентификатор на устройството | Задължителен |
| ID | string | Уникален ключ, чрез който впоследствие търсите резултата от заявката | Задължителен |
| RCPT_TYPE | string | Винаги е KIN |
Задължителен |
| RCPT | string | КИН на получателя | Задължителен |
Примерна заявка
https://demo.epay.bg/xdev/api/api/payment/noreg/send/status?AMOUNT=666&APPID=6609898197243081281733444125044765054179316360618564706359682755&CHECKSUM=24f946e2d30ea5c184c788539cf8f06fe996cc18&DESCRIPTION=test&DEVICEID=TestTestov123&ID=TestTestov123&RCPT=2945322142&RCPT_TYPE=KIN&REASON=test
Отговор при успешно плащане¶
При savecard=1 се връща токен, който може да бъде използван за бъдещи плащания. Връща се и ID на платежния инструмент, който при последващи плащания трябва да се подава в параметър PINS.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
Описание на параметрите на отговора
payment
| Параметър | Тип | Описание |
|---|---|---|
| АMOUNT | int | Сума на плащането в стотинки |
| TAX | int | Такса за плащането в стотинки |
| TOTAL | int | AMOUNT + TAX в стотинки |
| REASON | string | Допълнително описание на плащането |
| DESCRIPTION | string | Описание на плащането |
| RCPT | string | КИН на получателя |
| RCPT_TYPE | string | Винаги е KIN |
| PAYER_KIN | string | КИН на наредителя на плащането |
| STATE | int | Резултата от плащането 2|3|42 - Обработва се 3 - Успешно плащане 4 - Неуспешно плащане |
| STATE.TEXT | string | Грешка, която може да бъде показана на потребителя |
| TOKEN | string | Уникален потребителски идентификатор |
| NO | string | Системен код на плащането |
payment_instrument
Съдържа се savecard=1, когато потребителят е запазил платежния инструмент по време на плащането.
| Параметър | Тип | Описание |
|---|---|---|
| ID | int | Ключ на картата |
| NAME | string | Име на картата |
| CARD_TYPE | string | Първата цифра от номера на картата |
| CARD_TYPE_DESCR | string | Информация за платежния инструмент |
| TYPE | int 0|1 |
TYPE = 1 (банкова карта) |
| EXPIRES | string MM/YYYY |
Дата на валидност на картата |
| VERIFIED | int 0|1 |
Потвърдена ли е картата 0 - не 1 - да |
| CARD_TYPE_COUNTRY | string | Страна на издаване на картата |
paid_with
Съдържа се savecard=0, когато потребителят НЕ е запазил платежния инструмент по време на плащането.
| Параметър | Тип | Описание |
|---|---|---|
| CARD_TYPE_COUNTRY | string | Страна на издаване на картата |
| CARD_TYPE_DESCR | string | Информация за платежния инструмент |
| CARD_TYPE | string | Първата цифра от номера на картата, ако е банкова карта |
| TYPE | int 0|1 |
TYPE = 1 (банкова карта) |
Отговор при неуспешно плащане¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |
1 2 3 4 | |
Този статус показва текущото състояние на заявката, клиентът може все още да не е платил заявката.
1 2 3 4 | |
Връща се, когато заявката не е платена в рамките на 15 минути
1 2 3 4 5 | |
Описание на параметрите на отговора
| Параметър | Тип | Описание |
|---|---|---|
| status | string | Статус |
| msg | string | Съобщение на грешката |
| err | string | Tип на грешката |
| errm | string | Oписание на грешката |