Создание периодического платежа
Периодические платежи в криптовалюте - это способ автоматизировать регулярные транзакции с использованием цифровых активов. Они могут быть полезны для услуг, основанных на подписке, пожертвований, членства и других периодических платежей.
Чтобы использовать повторяющиеся платежи, вам необходимо создать платеж, в котором указаны сумма, валюта и периодичность платежей, а затем поделиться им со своими плательщиками. Плательщик будет перенаправлен на веб-сайт cryptomus, где ему нужно будет войти в систему, чтобы подтвердить план оплаты и произвести первый платеж. После этого платежи будут производиться автоматически в соответствии с планом.
Запрос
Параметры запроса
Имя | Тип параметра | Значение по умолчанию | Описание |
---|---|---|---|
amount* | string | Сумма периодического платежа | |
currency* | string | Код валюты | |
name* | stringmin:3max:60 | Название периодического платежа | |
period* | string | Период повторяющегосядоступно:weeklymonthlythree_month | |
to_currency | Код валюты для приема платежейПараметр используется для указания целевой валюты для конвертации суммы текущего платежа.Например, для создания периодического платежа на сумму 20 долларов США в биткоинах: amount: 20 currency: USD to_currency: BTCAPI конвертирует сумму в размере 20 USD в ее эквивалент в BTC на основе текущего обменного курса, и пользователь будет платить в BTC.to_currency всегда должен быть кодом криптовалюты, а не кодом фиатной валюты. | ||
order_id | stringmin:1max:100 | null | Идентификатор заказа в Вашей системе |
url_callback | url | null | URL, на который будут отправлены веб-ссылки со статусом оплаты |
discount_days | integermin:1max:365 | 0 | Дни периода действия скидки (обязателен вместе с 'discount_amount') |
discount_amount | string | null | Сумма скидки (требуется с 'discount_days').Здесь сумма в валюте параметра 'currency' |
additional_data | string | null | Дополнительные данные платежа |
Тип параметра
stringОписание
Сумма периодического платежаТип параметра
stringОписание
Код валютыТип параметра
stringmin:3max:60Описание
Название периодического платежаТип параметра
stringОписание
Период повторяющегосядоступно:weeklymonthlythree_monthОписание
Код валюты для приема платежейПараметр используется для указания целевой валюты для конвертации суммы текущего платежа.Например, для создания периодического платежа на сумму 20 долларов США в биткоинах:
amount: 20
currency: USD
to_currency: BTCAPI конвертирует сумму в размере 20 USD в ее эквивалент в BTC на основе текущего обменного курса, и пользователь будет платить в BTC.to_currency всегда должен быть кодом криптовалюты, а не кодом фиатной валюты.Тип параметра
stringmin:1max:100Описание
Идентификатор заказа в Вашей системеТип параметра
urlОписание
URL, на который будут отправлены веб-ссылки со статусом оплатыТип параметра
integermin:1max:365Описание
Дни периода действия скидки (обязателен вместе с 'discount_amount')Тип параметра
stringОписание
Сумма скидки (требуется с 'discount_days').Здесь сумма в валюте параметра 'currency'Тип параметра
stringОписание
Дополнительные данные платежа
* - обязательный параметр
Скидка:
Первый период в днях (параметр discount_days), который будет стоить другую сумму (параметр discount_amount). Например, вы можете установить discount_amount на первые 30 дней и ежемесячный период, тогда пользователь оплатит первый платеж по более низкой цене, второй и последующие платежи будут по полной цене.Сумма скидки должна быть указана в валюте, указанной параметром 'currency'.
Пример запроса
Ниже приведен пример приложения с минимально необходимым количеством параметров. В этом случае будет создан счет-фактура в фиатной валюте USD. На странице оплаты пользователь сможет выбрать криптовалюту и сеть для оплаты этого счета.
curl https://api.cryptomus.com/v1/recurrence/create \
-X POST \
-H 'merchant: 8b03432e-385b-4670-8d06-064591096795' \
-H 'sign: fe99035f86fa436181717b302b95bacff1' \
-H 'Content-Type: application/json' \
-d '{
"amount": "15",
"currency": "USDT",
"name": "Recurring payment",
"period": "monthly"
}'
копироватьОтвет
Параметры отклика
Имя | Описание |
---|---|
uuid | uuid периодического платежа |
name | Имя периодического платежа |
order_id | Идентификатор заказа в Вашей системе |
amount | Сумма периодического платежа |
currency | Код валюты |
payer_currency | Валюта, в которой клиент должен произвести платеж. Если значение равно null, клиент может выбрать конкретную валюту на странице оплаты. |
payer_amount_usd | Эквивалентная сумма в долларах США в payer_currency, которую клиент должен оплатить |
payer_amount | Сумма в payer_currency, которую клиент должен оплатить |
url_callback | URL, на который будут отправлены веб-ссылки со статусом оплаты |
period | Период повторяющегося |
status | Статус периодического платежаДоступные опции:• wait_accept• cancel_by_merchant• active• cancel_by_user |
url | URL-адрес платежной страницы Cryptomus, на которой плательщик произведет платеж |
last_pay_off | Дата последнего платежа. Часовой пояс - UTC+3. Если значение равно null, то платежи не производились. |
additional_data | Дополнительные данные платежа |
Описание
uuid периодического платежаОписание
Имя периодического платежаОписание
Идентификатор заказа в Вашей системеОписание
Сумма периодического платежаОписание
Код валютыОписание
Валюта, в которой клиент должен произвести платеж. Если значение равно null, клиент может выбрать конкретную валюту на странице оплаты.Описание
Эквивалентная сумма в долларах США в payer_currency, которую клиент должен оплатитьОписание
Сумма в payer_currency, которую клиент должен оплатитьОписание
URL, на который будут отправлены веб-ссылки со статусом оплатыОписание
Период повторяющегосяОписание
Статус периодического платежаДоступные опции:- wait_accept- cancel_by_merchant- active- cancel_by_userОписание
URL-адрес платежной страницы Cryptomus, на которой плательщик произведет платежОписание
Дата последнего платежа. Часовой пояс - UTC+3. Если значение равно null, то платежи не производились.Описание
Дополнительные данные платежа
Пример ответа
Если запрос будет выполнен успешно. код ответа - 200.
1{
2 "state": 0,
3 "result": {
4 "uuid": "afd050e8-35ea-4129-bbdd-73f510dce556",
5 "name": "Recurring payment",
6 "order_id": null,
7 "amount": "15",
8 "currency": "USDT",
9 "payer_currency": "USDT",
10 "payer_amount_usd": "15.00",
11 "payer_amount": "15.00000000",
12 "url_callback": null,
13 "period": "monthly",
14 "status": "wait_accept",
15 "url": "https://pay.cryptomus.com/recurring/afd050e8-35ea-4129-bbdd-73f510dce556",
16 "last_pay_off": null
17 }
18}
копироватьЕще примеры
Пример запроса данных для создания повторного платежа на сумму 15 долларов США:
1{
2 "amount": "15",
3 "currency": "USD",
4 "name": "Recurring payment",
5 "period": "monthly",
6 "url_callback": "https://your.site/callback"
7}
копироватьПример ответа:
1{
2 "state": 0,
3 "result": {
4 "uuid": "1d4c1ef7-1dcd-4f98-9433-2e19d2e62820",
5 "name": "Recurring payment",
6 "order_id": null,
7 "amount": "15",
8 "currency": "USD",
9 "payer_currency": null,
10 "payer_amount_usd": "0.00",
11 "payer_amount": null,
12 "url_callback": "https://your.site/callback",
13 "period": "monthly",
14 "status": "wait_accept",
15 "url": "https://pay.cryptomus.com/recurring/1d4c1ef7-1dcd-4f98-9433-2e19d2e62820",
16 "last_pay_off": null
17 }
18}
копироватьПример запроса данных для создания повторного платежа на сумму 15 долларов США (к оплате будут допущены только доллары США):
1{
2 "amount": "15",
3 "currency": "USDT",
4 "name": "Recurring payment",
5 "period": "monthly",
6 "url_callback": "https://your.site/callback"
7}
копироватьПример ответа:
1{
2 "state": 0,
3 "result": {
4 "uuid": "ec04dc64-fea4-445a-9698-59baa474317a",
5 "name": "Recurring payment",
6 "order_id": null,
7 "amount": "15",
8 "currency": "USDT",
9 "payer_currency": "USDT",
10 "payer_amount_usd": "15.00",
11 "payer_amount": "15.00000000",
12 "url_callback": "https://your.site/callback",
13 "period": "monthly",
14 "status": "wait_accept",
15 "url": "https://pay.cryptomus.com/recurring/ec04dc64-fea4-445a-9698-59baa474317a",
16 "last_pay_off": null
17 }
18}
копироватьПример запроса данных для создания повторного платежа на сумму 15 долларов США и разрешения оплаты только в валюте BTC:
1{
2 "amount": "15",
3 "currency": "USD",
4 "to_currency": "BTC",
5 "name": "Recurring payment",
6 "period": "monthly",
7 "url_callback": "https://your.site/callback"
8}
копироватьПример ответа:
1{
2 "state": 0,
3 "result": {
4 "uuid": "e7d9c265-3849-4ff8-84c1-15435368f05f",
5 "name": "Recurring payment",
6 "order_id": null,
7 "amount": "15",
8 "currency": "USD",
9 "payer_currency": "BTC",
10 "payer_amount_usd": "15.00",
11 "payer_amount": "0.00051495",
12 "url_callback": "https://your.site/callback",
13 "period": "monthly",
14 "status": "wait_accept",
15 "url": "https://pay.cryptomus.com/recurring/e7d9c265-3849-4ff8-84c1-15435368f05f",
16 "last_pay_off": null
17 }
18}
копироватьЗапросите пример данных для создания периодического платежа в размере 15 долларов. Первые 30 дней цена будет составлять 1 доллар, после этого - 15 долларов:
1{
2 "amount": "15",
3 "currency": "USD",
4 "name": "Recurring payment",
5 "period": "monthly",
6 "discount_days": 30,
7 "discount_amount": "1"
8 "url_callback": "https://your.site/callback"
9}
копироватьПример ответа:
1{
2 "state": 0,
3 "result": {
4 "uuid": "1ee00fbd-42e7-4653-b316-1ab12f8a447b",
5 "name": "Recurring payment",
6 "order_id": null,
7 "amount": "15",
8 "currency": "USD",
9 "payer_currency": null,
10 "payer_amount_usd": "0.00",
11 "payer_amount": null,
12 "url_callback": "https://your.site/callback",
13 "discount_days": "30",
14 "discount_amount": "1",
15 "end_of_discount": "2023-07-11T20:23:52+03:00",
16 "period": "monthly",
17 "status": "wait_accept",
18 "url": "https://pay.cryptomus.com/recurring/1ee00fbd-42e7-4653-b316-1ab12f8a447b",
19 "last_pay_off": null
20 }
21}
копировать