ایجاد فاکتور
درخواست
پارامترهای پرس و جو
نام | نوع پارامتری | مقدار پیش فرض | تعریف |
---|---|---|---|
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_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 دلار در بیت کوین: amount: 20 currency : USD to_currency : btcAPI براساس نرخ ارز فعلی ، 20 دلار مبلغ 20 دلار را به معادل خود در BTC تبدیل می کند و کاربر در BTC پرداخت می کند to_currency همیشه باید کد cryptocurrency باشد ، نه یک کد ارزی FIAT. | |
subtract | integermin: 0max: 100 | 0 | درصد کمیسیون پرداخت به مشتری پرداخت می شوداگر نرخ 1 ٪ دارید ، پس اگر برای 100 USDT با SUFTRACT = 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 | در صورت عدم تصویب ، از نرخ ارز رمزنگاری استفاده می شود. | خدماتی که نرخ ارز برای تبدیل در فاکتور گرفته می شود. |
from_referral_code | string | null | بازرگانی که درخواست را انجام می دهد با کد به یک مراجعه کننده متصل می شود.به عنوان مثال ، شما یک برنامه کاربردی هستید که فاکتورها را از طریق Cryptomus API ایجاد می کند و مشتریان شما فروشگاه های دیگری هستند. آنها در برنامه شما کلید API و شناسه بازرگان خود را وارد می کنند ، و شما با اعتبار آنها درخواست می کنید و کد ارجاع خود را منتقل می کنید.بنابراین ، مشتریان شما به حساب رمزنگاری شما مراجعه می کنند و از گردش مالی آنها درآمد دریافت خواهید کرد. |
discount_percent | integermin: -99max: 100 | null | اعداد مثبت: به شما امکان می دهد تخفیف تعیین کنید. برای تعیین 5 ٪ تخفیف برای پرداخت ، باید یک ارزش را تصویب کنید: 5اعداد منفی: به شما امکان می دهد کمیسیون اضافی سفارشی را تنظیم کنید.برای تعیین کمیسیون اضافی 10 ٪ برای پرداخت ، باید یک ارزش را تصویب کنید: -10درصد تخفیف در هنگام ایجاد فاکتور فقط در صورتی در نظر گرفته می شود که فاکتور دارای رمزنگاری خاص باشد. |
is_refresh | boolean | false | با استفاده از این پارامتر ، می توانید در صورت پایان عمر ، طول عمر را به روز کنید و آدرس جدیدی را برای فاکتور دریافت کنید.برای انجام این کار ، شما باید تمام پارامترهای مورد نیاز را منتقل کنید و فاکتور با سفارش_ 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 : btcAPI براساس نرخ ارز فعلی ، 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
* - پارامتر اجباری
مثال
در زیر نمونه ای از نمونه با حداقل تعداد مورد نیاز پارامترها آورده شده است. در این حالت ، فاکتور با ارز 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_at | Timestamp انقضاء فاکتور |
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}
کپی