Створення рахунку -фактури
Прохання
Параметри запиту
Назва | Тип параметра | Значення за замовчуванням | Визначення |
---|---|---|---|
amount* | string | Сума, яку потрібно сплатити.Якщо в сумі є копійки, тоді надішліть їх із сепаратором "." Приклад: 10.28 | |
currency* | string | Валютний код | |
order_id* | stringmin: 1max: 128alpha_dash | Ідентифікатор замовлення у вашій системіПараметр повинен бути рядок, що складається з алфавітних символів, цифр, підкреслення та тире. Він не повинен містити жодних пробілів чи спеціальних символів. order_id повинен бути унікальним у торгових рахунках/статичних гаманцях/рецидивахКоли ми знайдемо існуючу рахунок -фактуру з order_id , ми повертаємо його деталі, новий рахунок -фактура не буде створено. | |
network | string | null | Мережевий код Blockchain |
url_return | stringmin: 6max: 255url | null | Перш ніж платити, користувач може натиснути кнопку на формі платежу та повернутися на сторінку магазину на цій URL -адресі. |
url_success | stringmin: 6max: 255url | null | Після успішної оплати користувач може натиснути кнопку на платіжній формі та повернутися до цієї URL -адреси. |
url_callback | stringmin: 6max: 255url | null | URL -адреса, до якої будуть надіслані веб -куки зі статусом платежів |
is_payment_multiple | boolean | true | Чи дозволяється користувачеві платити суму, що залишилася. Це корисно, коли користувач не заплатив всю суму рахунку -фактури за одну транзакцію, і ви хочете дозволити йому сплатити до повної суми. Якщо ви вимкнете цю функцію, рахунок -фактура завершиться після отримання першого платежу, і ви отримаєте кошти на свій баланс. |
lifetime | integermin: 300max: 43200 | 3600 | Життя випущеного рахунку -фактури (за лічені секунди) |
to_currency | string | Параметр використовується для визначення цільової валюти для перетворення суми рахунків -фактур. Створюючи рахунок -фактуру, ви надаєте суму та валюту, а API перетворить цю суму в еквівалентне значення в to_currency.Наприклад, створити рахунок -фактуру за 20 USD в біткойні: amount: 20 currency: USD to_currency : btcAPI перетворить суму 20 USD в його еквівалент у BTC на основі поточного обмінного курсу, і користувач заплатить у BTC to_currency завжди має бути кодом криптовалюти, а не кодом фіатної валюти. | |
subtract | integermin: 0max: 100 | 0 | Відсоток платіжної комісії, що стягується клієнтуЯкщо у вас є ставка 1%, то якщо ви створите рахунок -фактуру за 100 USDT з відніманням = 100 (клієнт платить 100% комісії), клієнту доведеться заплатити 101 USDT. |
accuracy_payment_percent | numericmin: 0max: 5 | 0 | Прийнятна неточність в оплаті.Наприклад, якщо ви пройдете вартість 5, рахунок -фактура буде позначений як оплачений, навіть якщо клієнт заплатив лише 95% від суми.Фактична сума оплати буде зарахована на залишок |
additional_data | stringmax: 255 | null | Додаткова інформація для вас (не показана клієнту) |
currencies | array | Використовується масив доступних валют з налаштувань торговця (якщо параметр не встановлений, всі підтримувані криптовалюти використовуються за замовчуванням).Наявні валюти встановлені в розділі «Купець». | Список дозволених валют для оплати. Це корисно, якщо ви хочете обмежити список монет, які можуть використовувати ваші клієнти для оплати рахунків. Структура |
except_currencies | array | null | Список виключених валют для оплати Структура |
course_source | stringmin: 4max: 20Наявні значення• Binance• BinanceP2P• Exmo• Kucoin | Якщо не пройти, використовуються обмінні курси Cryptomus. | Послуга, з якої беруться валютні курси для перетворення в рахунку -фактуру. |
from_referral_code | string | null | Торговець, який робить запит, підключається до реферату за кодом.Наприклад, ви - додаток, який генерує рахунки -фактури через API Cryptomus, а ваші клієнти - інші магазини. Вони вводять свій ключ API та ідентифікатор торговця у вашій заявці, і ви надсилаєте запити з їх обліковими повідомленнями та передаючи свій реферальний код.Таким чином, ваші клієнти стають рефералами на вашому обліковому записі Cryptomus, і ви отримаєте дохід від їх обороту. |
discount_percent | integermin: -99max: 100 | null | Позитивні числа: дозволяє встановити знижку. Щоб встановити знижку на 5% для платежу, слід передати вартість: 5Негативні числа: дозволяє встановити спеціальну додаткову комісію.Щоб встановити додаткову комісію в розмірі 10% для оплати, слід передати вартість: -10Відсоток знижок при створенні рахунку -фактури враховується лише в тому випадку, якщо рахунок -фактура має конкретну криптовалюту. |
is_refresh | boolean | false | Використовуючи цей параметр, ви можете оновити термін експлуатації та отримати нову адресу для рахунку -фактури, якщо термін експлуатації закінчився.Для цього вам потрібно прийняти всі необхідні параметри, а рахунок -фактура з пропущеним order_id буде оновлена.Змінено лише address, payment_status та expired_at . Жодних інших полів не змінюється, незалежно від переданих параметрів. |
Тип параметра
stringВизначення
Сума, яку потрібно сплатити.Якщо в сумі є копійки, тоді надішліть їх із сепаратором "."
Приклад: 10.28Тип параметра
stringВизначення
Валютний кодТип параметра
stringmin: 1max: 128alpha_dashВизначення
Ідентифікатор замовлення у вашій системіПараметр повинен бути рядок, що складається з алфавітних символів, цифр, підкреслення та тире. Він не повинен містити жодних пробілів чи спеціальних символів. order_id повинен бути унікальним у торгових рахунках/статичних гаманцях/рецидивахКоли ми знайдемо існуючу рахунок -фактуру з order_id , ми повертаємо його деталі, новий рахунок -фактура не буде створено.Тип параметра
stringВизначення
Мережевий код BlockchainТип параметра
stringmin: 6max: 255urlВизначення
Перш ніж платити, користувач може натиснути кнопку на формі платежу та повернутися на сторінку магазину на цій URL -адресі.Тип параметра
stringmin: 6max: 255urlВизначення
Після успішної оплати користувач може натиснути кнопку на платіжній формі та повернутися до цієї URL -адреси.Тип параметра
stringmin: 6max: 255urlВизначення
URL -адреса, до якої будуть надіслані веб -куки зі статусом платежівТип параметра
booleanВизначення
Чи дозволяється користувачеві платити суму, що залишилася. Це корисно, коли користувач не заплатив всю суму рахунку -фактури за одну транзакцію, і ви хочете дозволити йому сплатити до повної суми. Якщо ви вимкнете цю функцію, рахунок -фактура завершиться після отримання першого платежу, і ви отримаєте кошти на свій баланс.Тип параметра
integermin: 300max: 43200Визначення
Життя випущеного рахунку -фактури (за лічені секунди)Тип параметра
stringВизначення
Параметр використовується для визначення цільової валюти для перетворення суми рахунків -фактур. Створюючи рахунок -фактуру, ви надаєте суму та валюту, а API перетворить цю суму в еквівалентне значення в to_currency.Наприклад, створити рахунок -фактуру за 20 USD в біткойні:
amount: 20
currency: USD
to_currency : btcAPI перетворить суму 20 USD в його еквівалент у BTC на основі поточного обмінного курсу, і користувач заплатить у BTC to_currency завжди має бути кодом криптовалюти, а не кодом фіатної валюти.Тип параметра
integermin: 0max: 100Визначення
Відсоток платіжної комісії, що стягується клієнтуЯкщо у вас є ставка 1%, то якщо ви створите рахунок -фактуру за 100 USDT з відніманням = 100 (клієнт платить 100% комісії), клієнту доведеться заплатити 101 USDT.Тип параметра
numericmin: 0max: 5Визначення
Прийнятна неточність в оплаті.Наприклад, якщо ви пройдете вартість 5, рахунок -фактура буде позначений як оплачений, навіть якщо клієнт заплатив лише 95% від суми.Фактична сума оплати буде зарахована на залишокТип параметра
stringmax: 255Визначення
Додаткова інформація для вас (не показана клієнту)Тип параметра
arrayВизначення
Список дозволених валют для оплати. Це корисно, якщо ви хочете обмежити список монет, які можуть використовувати ваші клієнти для оплати рахунків. СтруктураТип параметра
arrayВизначення
Список виключених валют для оплати СтруктураТип параметра
stringmin: 4max: 20
Наявні значення- Binance- BinanceP2P- Exmo- KucoinВизначення
Послуга, з якої беруться валютні курси для перетворення в рахунку -фактуру.Тип параметра
stringВизначення
Торговець, який робить запит, підключається до реферату за кодом.Наприклад, ви - додаток, який генерує рахунки -фактури через API Cryptomus, а ваші клієнти - інші магазини.
Вони вводять свій ключ API та ідентифікатор торговця у вашій заявці, і ви надсилаєте запити з їх обліковими повідомленнями та передаючи свій реферальний код.Таким чином, ваші клієнти стають рефералами на вашому обліковому записі Cryptomus, і ви отримаєте дохід від їх обороту.Тип параметра
integermin: -99max: 100Визначення
Позитивні числа:
дозволяє встановити знижку.
Щоб встановити знижку на 5% для платежу, слід передати вартість: 5Негативні числа:
дозволяє встановити спеціальну додаткову комісію.Щоб встановити додаткову комісію в розмірі 10% для оплати, слід передати вартість: -10Відсоток знижок при створенні рахунку -фактури враховується лише в тому випадку, якщо рахунок -фактура має конкретну криптовалюту.Тип параметра
booleanВизначення
Використовуючи цей параметр, ви можете оновити термін експлуатації та отримати нову адресу для рахунку -фактури, якщо термін експлуатації закінчився.Для цього вам потрібно прийняти всі необхідні параметри, а рахунок -фактура з пропущеним order_id буде оновлена.Змінено лише address, payment_status та expired_at . Жодних інших полів не змінюється, незалежно від переданих параметрів.
* - обов'язковий параметр
Структура Валюти
Назва | Визначення |
---|---|
currency* | Валютний код |
network | Мережевий код Blockchain |
Визначення
Валютний кодВизначення
Мережевий код Blockchain
* - обов'язковий параметр
Структура except_currencies
Назва | Визначення |
---|---|
currency* | Валютний код |
network | Мережевий код Blockchain |
Визначення
Валютний кодВизначення
Мережевий код Blockchain
* - обов'язковий параметр
Приклад запиту
Нижче наведено зразок прикладу з мінімальною необхідною кількістю параметрів. У цьому випадку рахунок -фактура буде створена з фіатною валютою доларів США. На сторінці оплати користувач зможе вибрати криптовалюту та мережу для оплати цього рахунку.
curl https://api.cryptomus.com/v1/payment \
-X POST \
-H 'merchant: 8b03432e-385b-4670-8d06-064591096795' \
-H 'sign: fe99035f86fa436181717b302b95bacff1' \
-H 'Content-Type: application/json' \
-d '{
"amount": "15",
"currency": "USD",
"order_id": "1"
}'
КопіюватиРеакція
Параметри відповіді
Назва | Визначення |
---|---|
uuid | Рахунок -фактура UUID |
order_id | Ідентифікатор замовлення у вашій системі |
amount | Кількість рахунку -фактури |
payment_amount | Сума, сплачена клієнтом |
payer_amount | Сума в payer_currency , яку повинен сплатити клієнт, включаючи знижку або додаткову комісію. |
discount_percent | Відсоток знижок або додаткової комісії, який був прийнятий у параметрах запиту |
discount | Фактична сума знижки або додаткова комісія з криптовалюти.Наприклад, якщо сума рахунків -фактур становить 15 USDT, а знижка_percent --5, значення знижки --0,75тобто amount + discount = payer_amount |
payer_currency | Валюта, в якій замовник повинен здійснити платіж. |
currency | Код валюти рахунку -фактури |
merchant_amount | Сума в криптовалюті, яка буде зарахована на ваш баланс. Якщо рахунок -фактура сплачується_currency не буде вказана, значення буде нульовим. |
network | Мережевий код Blockchain |
address | Адреса гаманця для оплати |
from | Адреса гаманця, з якого було здійснено платіж |
txid | Транзакція хеш |
payment_status | Статус платежу Всі статуси платежів |
url | Сторінка оплати URL -адреси |
expired_at | Тимчасова позначка закінчення рахунку -фактури |
is_final | Чи доопрацьована рахунок -фактура.Коли рахунок -фактура доопрацьовано, неможливо сплатити рахунок -фактуру (він або виплачується, або закінчився) |
additional_data | Додаткова інформація |
created_at | Дата створення рахунку -фактури. Часовий пояс - UTC+3 |
updated_at | Остання дата оновленої рахунку. Часовий пояс - UTC+3 |
Визначення
Рахунок -фактура UUIDВизначення
Ідентифікатор замовлення у вашій системіВизначення
Кількість рахунку -фактуриВизначення
Сума, сплачена клієнтомВизначення
Сума в payer_currency , яку повинен сплатити клієнт, включаючи знижку або додаткову комісію.Визначення
Відсоток знижок або додаткової комісії, який був прийнятий у параметрах запитуВизначення
Фактична сума знижки або додаткова комісія з криптовалюти.Наприклад, якщо сума рахунків -фактур становить 15 USDT, а знижка_percent --5, значення знижки --0,75тобто amount + discount = payer_amountВизначення
Валюта, в якій замовник повинен здійснити платіж.Визначення
Код валюти рахунку -фактуриВизначення
Сума в криптовалюті, яка буде зарахована на ваш баланс. Якщо рахунок -фактура сплачується_currency не буде вказана, значення буде нульовим.Визначення
Мережевий код BlockchainВизначення
Адреса гаманця для оплатиВизначення
Адреса гаманця, з якого було здійснено платіжВизначення
Транзакція хешВизначення
Статус платежу Всі статуси платежівВизначення
Сторінка оплати URL -адресиВизначення
Тимчасова позначка закінчення рахунку -фактуриВизначення
Чи доопрацьована рахунок -фактура.Коли рахунок -фактура доопрацьовано, неможливо сплатити рахунок -фактуру (він або виплачується, або закінчився)Визначення
Додаткова інформаціяВизначення
Дата створення рахунку -фактури. Часовий пояс - UTC+3Визначення
Остання дата оновленої рахунку. Часовий пояс - UTC+3
Приклад відповіді
1{
2 "state": 0,
3 "result": {
4 "uuid": "26109ba0-b05b-4ee0-93d1-fd62c822ce95",
5 "order_id": "1",
6 "amount": "15.00",
7 "payment_amount": null,
8 "payer_amount": null,
9 "discount_percent": null,
10 "discount": "0.00000000",
11 "payer_currency": null,
12 "currency": "USD",
13 "merchant_amount": null,
14 "network": null,
15 "address": null,
16 "from": null,
17 "txid": null,
18 "payment_status": "check",
19 "url": "https://pay.cryptomus.com/pay/26109ba0-b05b-4ee0-93d1-fd62c822ce95",
20 "expired_at": 1689098133,
21 "status": "check",
22 "is_final": false,
23 "additional_data": null,
24 "created_at": "2023-07-11T20:23:52+03:00",
25 "updated_at": "2023-07-11T21:24:17+03:00"
26 }
27}
КопіюватиБільше прикладів
Запитайте дані, щоб створити рахунок -фактуру для 20 USDT в мережі TRON. Рахунок -фактура матиме адресу на момент створення.
1{
2 "amount": "20",
3 "currency": "USDT",
4 "order_id": "1",
5 "network": "tron"
6}
КопіюватиЗапитайте дані, щоб створити рахунок -фактуру за 25 USD та дозволити клієнтам платити лише USDT в будь -якій мережі.
1{
2 "amount": "25",
3 "currency": "USD",
4 "order_id": "1",
5 "to_currency": "USDT"
6}
КопіюватиЗапитайте дані, щоб створити рахунок -фактуру за 25 USD та дозволити клієнтам платити лише USDT в Tron Network. Рахунок -фактура матиме адресу на момент створення.
1{
2 "amount": "25",
3 "currency": "USD",
4 "order_id": "1",
5 "to_currency": "USDT",
6 "network": "tron"
7}
КопіюватиЗапитайте дані, щоб створити рахунок -фактуру для 20 USDT та дозволити клієнтам платити у всіх доступних мережах
1{
2 "amount": "20",
3 "currency": "USDT",
4 "order_id": "1"
5}
КопіюватиЗапитайте дані, щоб створити рахунок -фактуру за 20 USD та дозволити клієнтам платити лише в біткойн. Рахунок -фактура матиме адресу на момент створення.
1{
2 "amount": "20",
3 "currency": "USD",
4 "order_id": "1",
5 "to_currency": "BTC"
6}
КопіюватиЗапитайте дані, щоб створити рахунок -фактуру для 0,5 BTC і дозволити клієнтам платити лише в біткойн. Рахунок -фактура матиме адресу на момент створення.
1{
2 "amount": "0.5",
3 "currency": "BTC",
4 "order_id": "1"
5}
КопіюватиМожливі помилки
Помилки перевірки
кодування : 422
Приклад відповіді:
Якщо якийсь параметр потрібен і не переданий:
1{
2 "state": 1,
3 "errors": {
4 "amount": ["validation.required"]
5 }
6}
КопіюватиЯкщо ви надали мережевий код, який не підтримується
1{
2 "state": 1,
3 "message": "The network was not found"
4}
КопіюватиPayments.If we don’t support the currency code you provided in currency parameter
1{
2 "state": 1,
3 "message": "The currency was not found"
4}
КопіюватиЯкщо ваші платежі заблоковані. У цьому випадку вам потрібно зв’язатися з підтримкою.
1{
2 "state": 1,
3 "message": "You are forbidden"
4}
КопіюватиЯкщо ми не знайдемо платіжну послугу валюти, яка була передана в параметрі to_currency :
1{
2 "state": 1,
3 "message": "Not found service to_currency"
4}
КопіюватиЯкщо випадково щось трапиться при перетворенні на to_currency :
1{
2 "state": 1,
3 "message": "Error convert to_currency"
4}
КопіюватиЯкщо сума платежу менше, ніж мінімальна сума, що підтримується за криптовалютою, ви отримаєте це повідомлення про помилку:
1{
2 "state": 1,
3 "message": "Minimum amount 0.5 USDT"
4}
КопіюватиЯкщо сума платежу перевищує максимально підтримувану суму для криптовалюти, ви отримаєте це повідомлення про помилку:
1{
2 "state": 1,
3 "message": "Maximum amount 10000000 USDT"
4}
КопіюватиЯкщо у вас немає активного торгового гаманця з криптовалютою платежу, ви отримаєте цю помилку:
1{
2 "state": 1,
3 "message": "Wallet not found"
4}
КопіюватиЯкщо відбувається технічна робота і платіж тимчасово недоступний, ви можете отримати ці повідомлення про помилки:
1{
2 "state": 1,
3 "message": "Gateway error"
4}
Копіювати
1{
2 "state": 1,
3 "message": "The terminal was not found"
4}
Копіювати
1{
2 "state": 1,
3 "message": "Server error"
4}
КопіюватиВнутрішня помилка сервера
кодування : 500
Приклад відповіді:
1{
2 "message": "Server error, #1",
3 "code": 500,
4 "error": null
5}
Копіювати