Створення рахунку -фактури

post
https://api.cryptomus.com/v1/payment
Копіювати

Прохання

Параметри запиту

НазваТип параметраЗначення за замовчуваннямВизначення
amount*stringСума, яку потрібно сплатити.Якщо в сумі є копійки, тоді надішліть їх із сепаратором "."
Приклад: 10.28
currency*stringВалютний код
order_id*stringmin: 1max: 128alpha_dashІдентифікатор замовлення у вашій системіПараметр повинен бути рядок, що складається з алфавітних символів, цифр, підкреслення та тире. Він не повинен містити жодних пробілів чи спеціальних символів. order_id повинен бути унікальним у торгових рахунках/статичних гаманцях/рецидивахКоли ми знайдемо існуючу рахунок -фактуру з order_id , ми повертаємо його деталі, новий рахунок -фактура не буде створено.
networkstringnullМережевий код Blockchain
url_returnstringmin: 6max: 255urlnullПерш ніж платити, користувач може натиснути кнопку на формі платежу та повернутися на сторінку магазину на цій URL -адресі.
url_successstringmin: 6max: 255urlnullПісля успішної оплати користувач може натиснути кнопку на платіжній формі та повернутися до цієї URL -адреси.
url_callbackstringmin: 6max: 255urlnullURL -адреса, до якої будуть надіслані веб -куки зі статусом платежів
is_payment_multiplebooleantrueЧи дозволяється користувачеві платити суму, що залишилася. Це корисно, коли користувач не заплатив всю суму рахунку -фактури за одну транзакцію, і ви хочете дозволити йому сплатити до повної суми. Якщо ви вимкнете цю функцію, рахунок -фактура завершиться після отримання першого платежу, і ви отримаєте кошти на свій баланс.
lifetimeintegermin: 300max: 432003600Життя випущеного рахунку -фактури (за лічені секунди)
to_currencystringПараметр використовується для визначення цільової валюти для перетворення суми рахунків -фактур. Створюючи рахунок -фактуру, ви надаєте суму та валюту, а API перетворить цю суму в еквівалентне значення в to_currency.Наприклад, створити рахунок -фактуру за 20 USD в біткойні:
amount: 20
currency: USD
to_currency : btc
API перетворить суму 20 USD в його еквівалент у BTC на основі поточного обмінного курсу, і користувач заплатить у BTC to_currency завжди має бути кодом криптовалюти, а не кодом фіатної валюти.
subtractintegermin: 0max: 1000Відсоток платіжної комісії, що стягується клієнтуЯкщо у вас є ставка 1%, то якщо ви створите рахунок -фактуру за 100 USDT з відніманням = 100 (клієнт платить 100% комісії), клієнту доведеться заплатити 101 USDT.
accuracy_payment_percentnumericmin: 0max: 50Прийнятна неточність в оплаті.Наприклад, якщо ви пройдете вартість 5, рахунок -фактура буде позначений як оплачений, навіть якщо клієнт заплатив лише 95% від суми.Фактична сума оплати буде зарахована на залишок
additional_datastringmax: 255nullДодаткова інформація для вас (не показана клієнту)
currenciesarrayВикористовується масив доступних валют з налаштувань торговця (якщо параметр не встановлений, всі підтримувані криптовалюти використовуються за замовчуванням).Наявні валюти встановлені в розділі «Купець».Список дозволених валют для оплати. Це корисно, якщо ви хочете обмежити список монет, які можуть використовувати ваші клієнти для оплати рахунків. Структура
except_currenciesarraynullСписок виключених валют для оплати Структура
course_sourcestringmin: 4max: 20Наявні значенняBinanceBinanceP2PExmoKucoinЯкщо не пройти, використовуються обмінні курси Cryptomus.Послуга, з якої беруться валютні курси для перетворення в рахунку -фактуру.
from_referral_codestringnullТорговець, який робить запит, підключається до реферату за кодом.Наприклад, ви - додаток, який генерує рахунки -фактури через API Cryptomus, а ваші клієнти - інші магазини.
Вони вводять свій ключ API та ідентифікатор торговця у вашій заявці, і ви надсилаєте запити з їх обліковими повідомленнями та передаючи свій реферальний код.
Таким чином, ваші клієнти стають рефералами на вашому обліковому записі Cryptomus, і ви отримаєте дохід від їх обороту.
discount_percentintegermin: -99max: 100nullПозитивні числа:
дозволяє встановити знижку.
Щоб встановити знижку на 5% для платежу, слід передати вартість: 5
Негативні числа:
дозволяє встановити спеціальну додаткову комісію.
Щоб встановити додаткову комісію в розмірі 10% для оплати, слід передати вартість: -10Відсоток знижок при створенні рахунку -фактури враховується лише в тому випадку, якщо рахунок -фактура має конкретну криптовалюту.
is_refreshbooleanfalseВикористовуючи цей параметр, ви можете оновити термін експлуатації та отримати нову адресу для рахунку -фактури, якщо термін експлуатації закінчився.Для цього вам потрібно прийняти всі необхідні параметри, а рахунок -фактура з пропущеним 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 : btc
API перетворить суму 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

* - обов'язковий параметр

Рахунок -фактура матиме конкретну криптовалюту та адресу на момент створення лише в тому випадку, якщо валюта або параметр to_currency є криптовалютою, а мережевий параметр передається (або криптовалюта має лише одну мережу, наприклад BTC).

Приклад запиту

Нижче наведено зразок прикладу з мінімальною необхідною кількістю параметрів. У цьому випадку рахунок -фактура буде створена з фіатною валютою доларів США. На сторінці оплати користувач зможе вибрати криптовалюту та мережу для оплати цього рахунку.


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}
Копіювати