डेवलपर दस्तावेज़

स्टेबलकॉइन भुगतान ऑर्डर बनाएँ

सर्वर से हस्ताक्षरित API अनुरोध द्वारा USDT / USDC ऑर्डर बनाएं। आवश्यक फ़ील्ड, नेटवर्क, पूरी देय राशि, भुगतान लिंक, समय सीमा और Webhook सेटिंग जाँचकर ऑर्डर नंबर सहेजें।

POST /api/v1/order/create

प्रमाणीकरण आवश्यक

X-Bolt-Key, X-Bolt-Timestamp और X-Bolt-Signature शामिल करें। वर्तमान मिलीसेकंड timestamp का उपयोग करें और सटीक कच्चे अनुरोध निकाय के साथ timestamp पर हस्ताक्षर करें।

USDTUSDC

सटीक राशि मिलान

API से लौटाई गई भुगतान राशि थोड़ी अधिक क्यों हो सकती है?

लॉन्च योजना

3 निश्चित अंक

बिजनेस प्रो

2-6 कॉन्फ़िगर करने योग्य

सिस्टम निर्धारित पहचान सटीकता के अनुसार राशि को ऊपर की ओर राउंड करता है। उसी नेटवर्क, मुद्रा और प्राप्तकर्ता वॉलेट के किसी लंबित ऑर्डर में वही राशि हो तो नए ऑर्डर को अलग पहचानने के लिए छोटा अंतर जोड़ता है। देय राशि मूल राशि से कम नहीं होती। मुफ़्त खातों में 3 दशमलव अंक तय हैं; Pro सदस्य 2–6 चुन सकते हैं। प्रतिक्रिया का payment.amount प्रयोग करें।

मिलान प्रवाह

ऑर्डर बनाएं

1

amount

आपका बैकएंड निपटान राशि भेजता है और BoltUtil देय ऑन-चेन राशि लौटाता है।

चेकआउट दिखाएं

2

payment.amount

भुगतानकर्ता को सटीक लौटाई गई राशि, नेटवर्क और प्राप्तकर्ता पता प्रदर्शित करें।

ऑन-चेन भुगतान जाँचें

3

Webhook

आपको सूचित करने से पहले मॉनिटर नेटवर्क, पता, टोकन, राशि और ऑर्डर की स्थिति से मेल खाता है।

एकीकरण नोट्स

1

क्रिएट-ऑर्डर प्रतिक्रिया से payment.amount प्रदर्शित करें, अनुरोध राशि या मूल उत्पाद की कीमत नहीं।

2

भुगतान निर्देश दिखाते समय छोटे दशमलव ऑफसेट को गोल न करें, काटें या हटाएं नहीं।

3

ऑफ़सेट परिशुद्धता को बदलने से केवल नए बनाए गए ऑर्डर प्रभावित होते हैं, मौजूदा लंबित ऑर्डर नहीं।

4

externalOrderId द्वारा पूरा करने और भुगतान स्थिति की पुष्टि करने से पहले Webhook हस्ताक्षर को सत्यापित करें और सूचनाओं को डीडुप्लिकेट करें। पुष्टिकरण की प्रतीक्षा में किया गया भुगतान भुगतान सफलता नहीं है।

01. अनुरोध मुख्य भाग

JSON Payload
amount
आवश्यक
Decimal

मूल उत्पाद या व्यवसाय ऑर्डर राशि currency द्वारा निर्दिष्ट मुद्रा में। फ़्लोटिंग-पॉइंट परिशुद्धता हानि से बचने के लिए एक स्ट्रिंग भेजें। भुगतानकर्ता को इस मूल्य के बजाय लौटाए गए payment.amount का भुगतान करना होगा।

मूल न्यूनतम राशि: 1.00। चुने गए नेटवर्क और मुद्रा के लिए निर्धारित न्यूनतम राशि भी पूरी करनी होगी।सटीकता सीमा: 6 दशमलव स्थानों तकसुरक्षा जोखिम: फ्रंटएंड पर गणना की गई राशि को पारित करने से सख्ती से मना करें। हमेशा अपने बैकएंड डेटाबेस से मान पुनर्प्राप्त करें।
externalOrderId
आवश्यक
String

आपका व्यावसायिक ऑर्डर ID, BoltUtil ऑर्डर को संबद्ध करने के लिए उपयोग किया जाता है। क्वेरीज़ externalOrderId का उपयोग करती हैं; निर्माण प्रतिक्रिया merchantExternalId लौटाती है, और Webhooks externalOrderId लौटाती है।

प्रति व्यापारी विश्व स्तर पर अद्वितीय होना चाहिएसमर्थित: अक्षर, संख्याएं, अंडरस्कोर (_), हाइफ़न (-)लंबाई सीमा: 6 - 64 अक्षरएक डुप्लिकेट ID मौजूदा ऑर्डर के बजाय एक त्रुटि देता है।
network
आवश्यक
String

नीचे दिए गए बड़े मानों में से किसी एक का उपयोग करके भुगतान नेटवर्क चुनें। उदाहरण के लिए, Base के लिए BASE या Ethereum के लिए ERC20 का उपयोग करें।

उदाहरण मान

"network": "BASE"
अनुमत मान: TRC20, ERC20, BEP20, POLYGON, SOLANA, BASEचेकआउट में वही नेटवर्क दिखाएं।
currency
आवश्यक
String

भुगतान मुद्रा चुनें। केवल USDT या USDC पास करें; network में नेटवर्क को अलग से निर्दिष्ट करें।

उदाहरण मान

"currency": "USDC"
अनुमत मान: USDT, USDC⚠️ TRC20 केवल USDT को सपोर्ट करता है। अन्य जोड़ियों को एक सक्षम मार्ग और एक वैध प्राप्तकर्ता वॉलेट की आवश्यकता होती है।
orderDesc
String

ऑर्डर रिकॉर्ड के लिए वैकल्पिक उत्पाद या व्यवसाय सारांश। वर्तमान चेकआउट इस फ़ील्ड को प्रदर्शित नहीं करता है।

सुझाया गया प्रारूप: टॉप-अप - [उपयोगकर्ता खाता]अधिकतम लंबाई: 255 अक्षर
notifyUrl
URL

इस ऑर्डर के लिए Webhook रिसीवर। यदि छोड़ दिया जाए, तो आपके मर्चेंट डैशबोर्ड में सक्षम डिफ़ॉल्ट पता का उपयोग किया जाता है।

HTTPS होना चाहिएसार्वजनिक रूप से पहुंच योग्य होना चाहिएअपरिवर्तनीय: ऑर्डर बन जाने के बाद इस URL को संशोधित नहीं किया जा सकता है।ऑर्डर बनाने से पहले, अपने डैशबोर्ड में Webhook और साइनिंग सीक्रेट को कॉन्फ़िगर और सक्षम करें। यह पैरामीटर उस कॉन्फ़िगरेशन को प्रतिस्थापित नहीं करता है.अधिकतम लंबाई: 255 अक्षर
returnUrl
URL

भुगतान पूरा होने या उपयोगकर्ता द्वारा वापस लौटने का विकल्प चुनने के बाद, चेकआउट ब्राउज़र को इस URL पर रीडायरेक्ट करता है। यह केवल एक नेविगेशन गंतव्य है और भुगतान की सफलता को साबित नहीं करता है।

हस्ताक्षरित Webhook या ऑर्डर-स्थिति क्वेरी के माध्यम से भुगतान सत्यापित करेंयदि छोड़ दिया जाए, तो डिफ़ॉल्ट https://boltutil.com है।अधिकतम लंबाई: 255 अक्षर
expiredMinutes
Long

किसी ऑर्डर के बनने के बाद जितने मिनट तक भुगतान शेष रहता है। निःशुल्क योजना 30 मिनट निर्धारित है; प्रो सदस्य 15-60 मिनट चुन सकते हैं।

कॉन्फ़िगर करने योग्य सीमा: 15-60 मिनटडिफ़ॉल्ट: 30 मिनटकेवल प्रो सदस्य ही इस मान को अनुकूलित कर सकते हैं; निःशुल्क योजना 30 मिनट निर्धारित हैनिःशुल्क खाते वैध सीमा के भीतर कस्टम मानों को अनदेखा करते हैं और 30 मिनट का उपयोग करते हैं। वास्तविक समाप्ति के रूप में time.expireTimestamp का उपयोग करें।
metadata
Map

व्यापारी द्वारा परिभाषित JSON data. BoltUtil इसे संशोधित नहीं करता है और इसे क्रिएट-ऑर्डर प्रतिक्रिया, ऑर्डर-स्टेटस प्रतिक्रिया और Webhook में अपरिवर्तित लौटाता है।

प्रारूप: मानक JSON ऑब्जेक्टअपरिवर्तित लौटाया गया और भुगतान मिलान के लिए कभी भी उपयोग नहीं किया गयाअधिकतम 10 शीर्ष-स्तरीय कुंजियाँ

02. प्रतिक्रिया विवरण

application/json
orderToken
चेकआउट खोलने के लिए BoltUtil ऑर्डर पहचानकर्ता। व्यापारी API क्वेरीज़ externalOrderId का उपयोग करते हैं।
merchantExternalId
अनुरोध में externalOrderId से मेल खाता है।
status
PENDING सफल निर्माण के बाद। बाद के भुगतान और कॉलबैक स्थितियों के लिए ऑर्डर-स्थिति दस्तावेज़ देखें।
ऑर्डर की स्थिति देखें →
checkoutUrl
विशेष चेकआउट भुगतान लिंक।
returnUrl
चेकआउट वापसी पता। यदि छोड़ दिया जाए तो डिफ़ॉल्ट रूप से https://boltutil.com हो जाता है।
metadata
कस्टम पासथ्रू data ऑब्जेक्ट।

data.payment { ... }

address
इस ऑर्डर द्वारा उपयोग किया गया वॉलेट प्राप्त करने वाला व्यापारी। एकाधिक ऑर्डर इस पते को साझा कर सकते हैं; प्रति ऑर्डर कोई नया पता उत्पन्न नहीं होता है।
amount
सटीक देय राशि, एक स्ट्रिंग के रूप में लौटाई गई। इसे बिना गोलाई या काट-छांट किए पूर्ण रूप से प्रदर्शित करें।
rawAmount
सबसे छोटी टोकन इकाई में राशि, एक पूर्णांक स्ट्रिंग के रूप में लौटाई गई: payment.amount × 10^payment.decimal। decimal = 6 के लिए, एक टोकन 1,000,000 सबसे छोटी इकाइयों के बराबर है।
currency
मुद्रा चिह्न.
network
नेटवर्क पहचानकर्ता.
qrData
भुगतान QR कोड बनाने के लिए पते की स्ट्रिंग। इसमें राशि, मुद्रा या नेटवर्क नहीं होता। payment.amount, currency और network अलग से दिखाएँ।
decimal
इस नेटवर्क पर चुने गए टोकन की ऑन-चेन सटीकता, जिसका उपयोग rawAmount बदलने में होता है। यह ऑर्डर की राशियों को अलग पहचानने की सटीकता नहीं है।

data.time { ... }

expireTimestamp
data.time में: ऑर्डर की समाप्ति Unix मिलीसेकंड timestamp के रूप में होती है।
serverTimestamp
data.time में: सर्वर समय जब प्रतिक्रिया उत्पन्न हुई थी, Unix मिलीसेकंड timestamp के रूप में।

सामान्य त्रुटियाँ

ये सामान्य मामले हैं। विफलताओं का निदान करने के लिए वास्तविक HTTP स्थिति और प्रतिक्रिया कोड/संदेश का उपयोग करें। त्रुटि प्रतिक्रिया भुगतान परिणाम नहीं है।

  • 401: API कुंजी, रॉ-बॉडी हस्ताक्षर और वर्तमान मिलीसेकंड timestamp (सर्वर घड़ी के 5 मिनट के भीतर) की जांच करें।
  • 400: externalOrderId पहले से मौजूद है। डुप्लिकेट व्यावसायिक ऑर्डर बनाने के बजाय मूल ऑर्डर को क्वेरी करें।
  • 400: आवश्यक पैरामीटर, उपलब्ध नेटवर्क/संपत्ति, रिसीविंग वॉलेट और सक्षम Webhook कॉन्फ़िगरेशन की जांच करें।
  • 429: अनुरोध दर सीमा या मुफ़्त दैनिक ऑर्डर बनाने का कोटा पूरा हुआ। व्यावसायिक त्रुटि कोड और message देखें।
create / cURL
# Run against your account only when ready; this sends an API request.
: "${BOLTUTIL_API_KEY:?Set your complete API Key}"
: "${BOLTUTIL_WEBHOOK_SECRET:?Set your Webhook secret}"
timestamp=$(python3 -c 'import time; print(int(time.time()*1000))')
body='{"amount":"25.00","currency":"USDT","network":"TRC20","externalOrderId":"INV-20260209-99281"}'
signature=$(printf '%s.%s' "$timestamp" "$body" | openssl dgst -sha256 -hmac "$BOLTUTIL_WEBHOOK_SECRET" | awk '{print $NF}')

curl --request POST "https://api.boltutil.com/api/v1/order/create" \
  --header 'Content-Type: application/json' \
  --header "X-Bolt-Key: $BOLTUTIL_API_KEY" \
  --header "X-Bolt-Timestamp: $timestamp" \
  --header "X-Bolt-Signature: $signature" \
  --data-binary "$body"

पते, लेनदेन हैश और ऑर्डर इसके उदाहरण हैं। उन्हें अपने स्वयं के परीक्षण data से बदलें।

Base URL

PROD
https://api.boltutil.com