ایجاد فاکتور

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_successstringmin: 6max: 255urlnullپس از پرداخت موفقیت آمیز ، کاربر می تواند بر روی دکمه فرم پرداخت کلیک کرده و به این URL برگردد.
url_callbackstringmin: 6max: 255urlnullURL که از طریق وضعیت پرداخت وب به آنها ارسال می شود
is_payment_multiplebooleantrueآیا کاربر مجاز به پرداخت مبلغ باقیمانده است. این زمانی مفید است که کاربر کل مبلغ فاکتور را برای یک معامله پرداخت نکرده باشد و شما می خواهید به او اجازه دهید مبلغ کامل را پرداخت کند. اگر این ویژگی را غیرفعال کنید ، فاکتور پس از دریافت اولین پرداخت نهایی می شود و به مانده خود وجوه خود را دریافت خواهید کرد.
lifetimeintegermin: 300max: 432003600طول عمر فاکتور صادر شده (در ثانیه)
to_currencystringاین پارامتر برای مشخص کردن ارز هدف برای تبدیل مقدار فاکتور استفاده می شود. هنگام ایجاد فاکتور ، مبلغ و ارز را تهیه می کنید و API آن مقدار را به مقدار معادل در to_currency تبدیل می کند.به عنوان مثال ، برای ایجاد فاکتور برای 20 دلار در بیت کوین:
amount: 20
currency : USD
to_currency : btc
API براساس نرخ ارز فعلی ، 20 دلار مبلغ 20 دلار را به معادل خود در BTC تبدیل می کند و کاربر در BTC پرداخت می کند to_currency همیشه باید کد cryptocurrency باشد ، نه یک کد ارزی FIAT.
subtractintegermin: 0max: 1000درصد کمیسیون پرداخت به مشتری پرداخت می شوداگر نرخ 1 ٪ دارید ، پس اگر برای 100 USDT با SUFTRACT = 100 فاکتور ایجاد کنید (مشتری 100 ٪ کمیسیون پرداخت می کند) ، مشتری مجبور است 101 USDT را بپردازد.
accuracy_payment_percentnumericmin: 0max: 50عدم دقت قابل قبول در پرداخت.به عنوان مثال ، اگر مقدار 5 را تصویب کنید ، فاکتور به صورت پرداختی مشخص می شود حتی اگر مشتری فقط 95 ٪ از مبلغ را پرداخت کرده باشد.مبلغ پرداخت واقعی به مانده اعتبار می شود
additional_datastringmax: 255nullاطلاعات اضافی برای شما (به مشتری نشان داده نشده است)
currenciesarrayاز مجموعه ارزهای موجود از تنظیمات بازرگان شما استفاده می شود (اگر پارامتر تنظیم نشده باشد ، تمام ارزهای رمزپایه پشتیبانی شده به طور پیش فرض استفاده می شوند).ارزهای موجود در بخش تنظیمات بازرگان تنظیم شده است.لیست ارزهای مجاز برای پرداخت. این امر مفید است اگر می خواهید لیست سکه هایی را که مشتریان شما می توانند برای پرداخت فاکتورها استفاده کنند ، محدود کنید. ساختار
except_currenciesarraynullلیست ارزهای محروم برای پرداخت ساختار
course_sourcestringmin: 4max: 20مقادیر موجودBinanceBinanceP2PExmoKucoinدر صورت عدم تصویب ، از نرخ ارز رمزنگاری استفاده می شود.خدماتی که نرخ ارز برای تبدیل در فاکتور گرفته می شود.
from_referral_codestringnullبازرگانی که درخواست را انجام می دهد با کد به یک مراجعه کننده متصل می شود.به عنوان مثال ، شما یک برنامه کاربردی هستید که فاکتورها را از طریق Cryptomus API ایجاد می کند و مشتریان شما فروشگاه های دیگری هستند.
آنها در برنامه شما کلید API و شناسه بازرگان خود را وارد می کنند ، و شما با اعتبار آنها درخواست می کنید و کد ارجاع خود را منتقل می کنید.
بنابراین ، مشتریان شما به حساب رمزنگاری شما مراجعه می کنند و از گردش مالی آنها درآمد دریافت خواهید کرد.
discount_percentintegermin: -99max: 100nullاعداد مثبت:
به شما امکان می دهد تخفیف تعیین کنید.
برای تعیین 5 ٪ تخفیف برای پرداخت ، باید یک ارزش را تصویب کنید: 5
اعداد منفی:
به شما امکان می دهد کمیسیون اضافی سفارشی را تنظیم کنید.
برای تعیین کمیسیون اضافی 10 ٪ برای پرداخت ، باید یک ارزش را تصویب کنید: -10درصد تخفیف در هنگام ایجاد فاکتور فقط در صورتی در نظر گرفته می شود که فاکتور دارای رمزنگاری خاص باشد.
is_refreshbooleanfalseبا استفاده از این پارامتر ، می توانید در صورت پایان عمر ، طول عمر را به روز کنید و آدرس جدیدی را برای فاکتور دریافت کنید.برای انجام این کار ، شما باید تمام پارامترهای مورد نیاز را منتقل کنید و فاکتور با سفارش_ ord_id تازه می شود.فقط address ، payment_status و expired_at تغییر می کند. بدون توجه به پارامترهای تصویب شده ، هیچ زمینه دیگری تغییر نکرده است.

نوع پارامتری

string

تعریف

مبلغی که باید پرداخت شوداگر سکه در مقدار وجود دارد ، آنها را با جداکننده ارسال کنید.
مثال: 10.28

نوع پارامتری

string

تعریف

کد ارز

نوع پارامتری

stringmin: 1max: 128alpha_dash

تعریف

شناسه را در سیستم خود سفارش دهیداین پارامتر باید رشته ای باشد که از کاراکترهای الفبایی ، اعداد ، زیرکانها و خطوط تشکیل شده است. این نباید شامل هر فضایی یا شخصیت های خاص باشد. order_id باید در فاکتورهای بازرگان/کیف پول استاتیک/پرداخت عود بی نظیر باشدوقتی فاکتور موجود را با order_id پیدا می کنیم ، جزئیات آن را برمی گردانیم ، یک فاکتور جدید ایجاد نمی شود.

نوع پارامتری

string

تعریف

کد شبکه blockchain

نوع پارامتری

stringmin: 6max: 255url

تعریف

قبل از پرداخت ، کاربر می تواند روی دکمه فرم پرداخت کلیک کرده و در این آدرس به صفحه فروشگاه برگردد.

نوع پارامتری

stringmin: 6max: 255url

تعریف

پس از پرداخت موفقیت آمیز ، کاربر می تواند بر روی دکمه فرم پرداخت کلیک کرده و به این URL برگردد.

نوع پارامتری

stringmin: 6max: 255url

تعریف

URL که از طریق وضعیت پرداخت وب به آنها ارسال می شود

نوع پارامتری

boolean

تعریف

آیا کاربر مجاز به پرداخت مبلغ باقیمانده است. این زمانی مفید است که کاربر کل مبلغ فاکتور را برای یک معامله پرداخت نکرده باشد و شما می خواهید به او اجازه دهید مبلغ کامل را پرداخت کند. اگر این ویژگی را غیرفعال کنید ، فاکتور پس از دریافت اولین پرداخت نهایی می شود و به مانده خود وجوه خود را دریافت خواهید کرد.

نوع پارامتری

integermin: 300max: 43200

تعریف

طول عمر فاکتور صادر شده (در ثانیه)

نوع پارامتری

string

تعریف

این پارامتر برای مشخص کردن ارز هدف برای تبدیل مقدار فاکتور استفاده می شود. هنگام ایجاد فاکتور ، مبلغ و ارز را تهیه می کنید و API آن مقدار را به مقدار معادل در to_currency تبدیل می کند.به عنوان مثال ، برای ایجاد فاکتور برای 20 دلار در بیت کوین:
amount: 20
currency : USD
to_currency : btc
API براساس نرخ ارز فعلی ، 20 دلار مبلغ 20 دلار را به معادل خود در BTC تبدیل می کند و کاربر در BTC پرداخت می کند to_currency همیشه باید کد cryptocurrency باشد ، نه یک کد ارزی FIAT.

نوع پارامتری

integermin: 0max: 100

تعریف

درصد کمیسیون پرداخت به مشتری پرداخت می شوداگر نرخ 1 ٪ دارید ، پس اگر برای 100 USDT با SUFTRACT = 100 فاکتور ایجاد کنید (مشتری 100 ٪ کمیسیون پرداخت می کند) ، مشتری مجبور است 101 USDT را بپردازد.

نوع پارامتری

numericmin: 0max: 5

تعریف

عدم دقت قابل قبول در پرداخت.به عنوان مثال ، اگر مقدار 5 را تصویب کنید ، فاکتور به صورت پرداختی مشخص می شود حتی اگر مشتری فقط 95 ٪ از مبلغ را پرداخت کرده باشد.مبلغ پرداخت واقعی به مانده اعتبار می شود

نوع پارامتری

stringmax: 255

تعریف

اطلاعات اضافی برای شما (به مشتری نشان داده نشده است)

نوع پارامتری

array

تعریف

لیست ارزهای مجاز برای پرداخت. این امر مفید است اگر می خواهید لیست سکه هایی را که مشتریان شما می توانند برای پرداخت فاکتورها استفاده کنند ، محدود کنید. ساختار

نوع پارامتری

array

تعریف

لیست ارزهای محروم برای پرداخت ساختار

نوع پارامتری

stringmin: 4max: 20
مقادیر موجود
- Binance- BinanceP2P- Exmo- Kucoin

تعریف

خدماتی که نرخ ارز برای تبدیل در فاکتور گرفته می شود.

نوع پارامتری

string

تعریف

بازرگانی که درخواست را انجام می دهد با کد به یک مراجعه کننده متصل می شود.به عنوان مثال ، شما یک برنامه کاربردی هستید که فاکتورها را از طریق Cryptomus API ایجاد می کند و مشتریان شما فروشگاه های دیگری هستند.
آنها در برنامه شما کلید API و شناسه بازرگان خود را وارد می کنند ، و شما با اعتبار آنها درخواست می کنید و کد ارجاع خود را منتقل می کنید.
بنابراین ، مشتریان شما به حساب رمزنگاری شما مراجعه می کنند و از گردش مالی آنها درآمد دریافت خواهید کرد.

نوع پارامتری

integermin: -99max: 100

تعریف

اعداد مثبت:
به شما امکان می دهد تخفیف تعیین کنید.
برای تعیین 5 ٪ تخفیف برای پرداخت ، باید یک ارزش را تصویب کنید: 5
اعداد منفی:
به شما امکان می دهد کمیسیون اضافی سفارشی را تنظیم کنید.
برای تعیین کمیسیون اضافی 10 ٪ برای پرداخت ، باید یک ارزش را تصویب کنید: -10درصد تخفیف در هنگام ایجاد فاکتور فقط در صورتی در نظر گرفته می شود که فاکتور دارای رمزنگاری خاص باشد.

نوع پارامتری

boolean

تعریف

با استفاده از این پارامتر ، می توانید در صورت پایان عمر ، طول عمر را به روز کنید و آدرس جدیدی را برای فاکتور دریافت کنید.برای انجام این کار ، شما باید تمام پارامترهای مورد نیاز را منتقل کنید و فاکتور با سفارش_ ord_id تازه می شود.فقط address ، payment_status و expired_at تغییر می کند. بدون توجه به پارامترهای تصویب شده ، هیچ زمینه دیگری تغییر نکرده است.

* - پارامتر اجباری

ساختار ارز

نامتعریف
currency*کد ارز
networkکد شبکه blockchain

تعریف

کد ارز

تعریف

کد شبکه blockchain

* - پارامتر اجباری

ساختار except_currencies

نامتعریف
currency*کد ارز
networkکد شبکه blockchain

تعریف

کد ارز

تعریف

کد شبکه blockchain

* - پارامتر اجباری

فاکتور در زمان ایجاد فقط در صورت ایجاد پارامتر ارز یا to_currency یک رمزنگاری رمزنگاری شده و پارامتر شبکه خواهد بود و پارامتر شبکه تصویب می شود (یا یک رمزنگاری فقط یک شبکه دارد ، به عنوان مثال BTC).

مثال

در زیر نمونه ای از نمونه با حداقل تعداد مورد نیاز پارامترها آورده شده است. در این حالت ، فاکتور با ارز FIAT USD ایجاد می شود. در صفحه پرداخت ، کاربر قادر به انتخاب Cryptocurrency و شبکه برای پرداخت این لایحه خواهد بود.


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مقدار واقعی تخفیف یا کمیسیون اضافی در cryptocurrency.به عنوان مثال ، اگر مبلغ فاکتور 15 USDT باشد و تخفیف_percent -5 باشد ، ارزش تخفیف -0.75 خواهد بودیعنی amount + discount = payer_amount
payer_currencyارز که در آن مشتری باید پرداخت را انجام دهد.
currencyفاکتور کد ارز
merchant_amountمبلغ رمزنگاری که به تعادل شما اعتبار داده می شود. اگر فاکتور payer_currency مشخص نشده باشد ، مقدار تهی خواهد بود.
networkکد شبکه blockchain
addressآدرس کیف پول برای پرداخت
fromآدرس کیف پول که از آن پرداخت شده است
txidهش معامله
payment_statusوضعیت پرداخت همه وضعیت های پرداخت
urlصفحه پرداخت URL
expired_atTimestamp انقضاء فاکتور
is_finalآیا فاکتور نهایی شده است.وقتی فاکتور نهایی شد ، پرداخت فاکتور غیرممکن است (پرداخت می شود یا منقضی می شود)
additional_dataاطلاعات اضافی
created_atتاریخ ایجاد فاکتور. منطقه زمانی UTC+3 است
updated_atآخرین تاریخ به روز شده فاکتور. منطقه زمانی UTC+3 است

تعریف

فاکتور uuid

تعریف

شناسه را در سیستم خود سفارش دهید

تعریف

مقدار فاکتور

تعریف

مبلغ پرداخت شده توسط مشتری

تعریف

مبلغ در payer_currency که مشتری باید بپردازد ، از جمله تخفیف یا کمیسیون اضافی.

تعریف

درصد تخفیف یا کمیسیون اضافی ، که در پارامترهای درخواست منتقل شد

تعریف

مقدار واقعی تخفیف یا کمیسیون اضافی در cryptocurrency.به عنوان مثال ، اگر مبلغ فاکتور 15 USDT باشد و تخفیف_percent -5 باشد ، ارزش تخفیف -0.75 خواهد بودیعنی amount + discount = payer_amount

تعریف

ارز که در آن مشتری باید پرداخت را انجام دهد.

تعریف

فاکتور کد ارز

تعریف

مبلغ رمزنگاری که به تعادل شما اعتبار داده می شود. اگر فاکتور payer_currency مشخص نشده باشد ، مقدار تهی خواهد بود.

تعریف

کد شبکه blockchain

تعریف

آدرس کیف پول برای پرداخت

تعریف

آدرس کیف پول که از آن پرداخت شده است

تعریف

هش معامله

تعریف

وضعیت پرداخت همه وضعیت های پرداخت

تعریف

صفحه پرداخت URL

تعریف

Timestamp انقضاء فاکتور

تعریف

آیا فاکتور نهایی شده است.وقتی فاکتور نهایی شد ، پرداخت فاکتور غیرممکن است (پرداخت می شود یا منقضی می شود)

تعریف

اطلاعات اضافی

تعریف

تاریخ ایجاد فاکتور. منطقه زمانی 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 دلار ایجاد کنید و به مشتریان اجازه دهید فقط در هر شبکه فقط توسط USDT بپردازند.


1{
2	"amount": "25",
3	"currency": "USD",
4	"order_id": "1",
5	"to_currency": "USDT"
6}
کپی

برای ایجاد فاکتور 25 دلار از داده ها درخواست کنید و به مشتریان اجازه دهید فقط با USDT در شبکه Tron پرداخت کنند. فاکتور در زمان خلقت آدرس خواهد داشت.


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 دلار از داده ها درخواست کنید و به مشتریان اجازه دهید فقط در بیت کوین بپردازند. فاکتور در زمان خلقت آدرس خواهد داشت.


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}
کپی

اگر مبلغ پرداخت کمتر از حداقل مبلغ پشتیبانی شده برای cryptocurrency باشد ، این پیام خطا را دریافت خواهید کرد:


1{
2    "state": 1,
3    "message": "Minimum amount 0.5 USDT"
4}
کپی

اگر مبلغ پرداخت از حداکثر مبلغ پشتیبانی شده برای cryptocurrency بیشتر باشد ، این پیام خطا را دریافت خواهید کرد:


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}
کپی