Integration
फॉर्म जमा करने के लिए भुगतान
सर्वर API क्लाइंट लिखे बिना एक साधारण HTML फॉर्म से MakePay के होस्टेड checkout को प्रारंभ करता है।
सिंहावलोकन
फॉर्म सबमिट भुगतान सबसे कम घर्षण वाला MakePay एकीकरण है। एक सामान्य HTML फॉर्म ऑर्डर फ़ील्ड को MakePay पर पोस्ट करता है, MakePay एक होस्टेड checkout भुगतान लिंक बनाता है, और खरीदार को भुगतान पृष्ठ पर रीडायरेक्ट किया जाता है।
इसका उपयोग तब करें जब आपकी साइट HTML फॉर्म प्रस्तुत कर सकती है लेकिन आप अभी तक सर्वर-साइड API क्लाइंट नहीं लिखना चाहते हैं। उन्नत ईकॉमर्स प्लेटफ़ॉर्म, प्लगइन्स, एसडीके या सर्वर ऑर्डर सिस्टम के लिए, भुगतान लिंक API, OAuth ऐप्स या आधिकारिक स्टोर मॉड्यूल को प्राथमिकता दें।
सुरक्षा मॉडल
प्रपत्र क्रिया सार्वजनिक प्रपत्र कुंजी के रूप में MakePay API कुंजी आईडी का उपयोग करती है:
https://makepay.io/gateway/pay/{makepayKeyId}
API रहस्य का उपयोग ब्राउज़र में कभी नहीं किया जाता है। किसी फ़ॉर्म को सक्षम करने से पहले, MakeCrypto डैशबोर्ड खोलें, एक MakePay एकीकरण कुंजी बनाएं या चुनें, और सटीक वेबसाइट मूल को अनुमत मूल में जोड़ें, उदाहरण के लिए:
https://merchant.example
MakePay केवल उन ब्राउज़र सबमिशन को स्वीकार करता है जिनके Origin या Referer उन अनुमत मूलों में से एक से मेल खाते हैं। अनुमत मूल के बिना कुंजियाँ प्रपत्र गेटवे द्वारा अस्वीकार कर दी जाती हैं।
बुनियादी रूप
<form
method="post"
action="https://makepay.io/gateway/pay/mk_makepay_YOUR_KEY_ID"
>
<input type="hidden" name="title" value="Order #1042" />
<input type="hidden" name="description" value="Checkout for order #1042" />
<input type="hidden" name="amount" value="129.99" />
<input type="hidden" name="fiat_currency" value="USD" />
<input type="hidden" name="currency" value="USDT" />
<input type="hidden" name="order_id" value="order_1042" />
<input type="hidden" name="customer_email" value="buyer@example.com" />
<input
type="hidden"
name="success_url"
value="https://merchant.example/orders/1042/success"
/>
<input
type="hidden"
name="failure_url"
value="https://merchant.example/orders/1042/failed"
/>
<input
type="hidden"
name="return_url"
value="https://merchant.example/orders/1042"
/>
<input type="hidden" name="metadata[cart_id]" value="cart_7M2V" />
<button type="submit">Pay with crypto</button>
</form>
जब खरीदार फॉर्म जमा करता है, तो MakePay एक बार भुगतान लिंक बनाता है और होस्ट किए गए checkout URL को 303 See Other के साथ प्रतिक्रिया देता है।
खेत
| फ़ील्ड | आवश्यक | नोट्स |
|---|---|---|
amount | हाँ | सकारात्मक दशमलव राशि. 8 दशमलव स्थानों तक. |
currency | नहीं | पसंदीदा क्रिप्टो निपटान प्रतीक, उदाहरण के लिए USDT, USDC, BTC, ETH, LTC, या DOGE। |
asset | नहीं | सटीक गंतव्य संपत्ति पहचानकर्ता जब एक प्रतीक एकाधिक श्रृंखलाओं पर मौजूद होता है। |
fiat_currency | नहीं | USD या EUR जैसी मुद्रा प्रदर्शित करें। fiatCurrency, display_currency, और displayCurrency को भी स्वीकार करता है। |
title | नहीं | चेकआउट शीर्षक. name और label को भी स्वीकार करता है। |
description | नहीं | चेकआउट विवरण. |
order_id | नहीं | व्यापारी का ऑर्डर या चालान आईडी. orderId, invoice_id, और invoiceId को भी स्वीकार करता है। |
client_id | नहीं | व्यापारी ग्राहक/ग्राहक आईडी. clientId को भी स्वीकार करता है। |
customer_email | नहीं | Customer ईमेल। customerEmail और email को भी स्वीकार करता है। |
customer_name | नहीं | Customer नाम. customerName को भी स्वीकार करता है। |
return_url | नहीं | सामान्य वापसी गंतव्य के लिए पूर्ण http या https URL। |
success_url | नहीं | सफल भुगतान के बाद एब्सोल्यूट http या https URL का उपयोग किया जाता है। |
failure_url | नहीं | एब्सोल्यूट http या https URL का उपयोग विफल भुगतान और फॉर्म सत्यापन त्रुटियों के लिए किया जाता है। |
expiration_time | नहीं | 15m, 1h, 12h, 24h, 72h, या never। डिफ़ॉल्ट रूप से 12h. |
send_payment_request_email | नहीं | भुगतान अनुरोध ईमेल करने के लिए true, 1, yes, या on पर सेट करें। customer_email की आवश्यकता है। |
metadata[key] | नहीं | अतिरिक्त स्ट्रिंग मेटाडेटा. कुंजियों में अक्षर, संख्याएँ, _, ., : और - शामिल हो सकते हैं। 25 मेटाडेटा फ़ील्ड तक। |
गतिशील रूप
सर्वर वास्तविक ऑर्डर राशि और ऑर्डर आईडी के साथ फॉर्म प्रस्तुत करता है। ग्राहक-संपादन योग्य पृष्ठ से सबमिट की गई रकम पर तब तक भरोसा न करें जब तक कि आपका सर्वर उन्हें सत्यापित या पुनर्निर्मित न कर दे।
<form
method="post"
action="https://makepay.io/gateway/pay/mk_makepay_YOUR_KEY_ID"
>
<input type="hidden" name="amount" value="{{ order.total }}" />
<input type="hidden" name="fiat_currency" value="{{ order.currency }}" />
<input type="hidden" name="order_id" value="{{ order.id }}" />
<input type="hidden" name="customer_email" value="{{ customer.email }}" />
<button type="submit">Pay with MakePay</button>
</form>
व्यवहार को पुनर्निर्देशित करें
सफल फॉर्म सबमिशन होस्ट किए गए MakePay checkout पर रीडायरेक्ट होता है। success_url, failure_url, और return_url फ़ील्ड भुगतान लिंक पर सहेजे जाते हैं और भुगतान के बाद checkout द्वारा उपयोग किए जाते हैं।
यदि सत्यापन विफल हो जाता है और failure_url वैध है, तो MakePay इसके साथ वापस रीडायरेक्ट करता है:
?makepay_status=error&makepay_error=invalid_amount&makepay_error_message=...
उत्पत्ति/प्रमाणीकरण विफलताओं को एक अविश्वसनीय MakePay पर पुनर्निर्देशित करने के बजाय एक MakePay त्रुटि पृष्ठ के रूप में दिखाया गया है।
वेबहुक
अंतिम ऑर्डर अपडेट के लिए MakePay webhooks का उपयोग करें। ग्राहक रीडायरेक्ट उपयोगकर्ता अनुभव के लिए उपयोगी है, लेकिन webhooks भुगतान स्थिति, कम भुगतान, अधिक भुगतान, रिफंड और समाप्ति के लिए सच्चाई का विश्वसनीय स्रोत है।
हस्ताक्षर सत्यापन और इवेंट पेलोड के लिए वेबहुक गाइड देखें।
समस्या निवारण
Allowed origin required: अपनी साइट के मूल को MakePay एकीकरण कुंजी में जोड़ें।Origin not allowed: फॉर्म एक अलग डोमेन से सबमिट किया जा रहा है, कॉन्फ़िगर की गई अनुमत उत्पत्ति की तुलना में योजना, या पोर्ट।invalid_amount:amountलुप्त है, शून्य है, ऋणात्मक है, या दशमलव नहीं है।invalid_currency:USD,USDT, याBTCजैसे मुद्रा प्रतीक का उपयोग करें।invalid_url: रीडायरेक्ट फ़ील्ड पूर्णhttpयाhttpsURLs होनी चाहिए।onboarding_required: व्यापारी ने डिफ़ॉल्ट MakePay कॉन्फ़िगर नहीं किया है निपटान संपत्ति अभी तक.