सामग्री पर जाएं
डेवलपर्स

कुछ ही मिनटों में एकीकृत करें

एकल निर्भरता-मुक्त PHP SDK: चालान बनाएं, होस्टेड चेकआउट पर रीडायरेक्ट करें, और साइन किए गए वेबहुक्स की पुष्टि करें। किसी भी भाषा के लिए REST उपलब्ध है।

API एक नज़र में
  • बेस यूआरएलapi.payora.money
  • प्रमाणीकरणHMAC-SHA256
  • फॉर्मेटJSON · HTTPS
  • SDKsPHP · Node.js · Python
  • विशेष विवरणOpenAPI 3.0
त्वरित प्रारंभ

चालान से वेबहुक तक

  1. 01

    चालान बनाएं

    एक API कॉल जिसमें एक ऑर्डर आईडी और एक फिएट या क्रिप्टो राशि होती है, एक होस्टेड पे URL लौटाता है।

  2. 02

    ग्राहक भुगतान करता है

    वे एक सिक्का चुनते हैं, QR को स्कैन करते हैं या एक वॉलेट खोलते हैं, और चेकआउट अंतिमता पर लाइव पुष्टि करता है।

  3. 03

    आपको एक साइन किया हुआ वेबहुक मिलता है

    HMAC हस्ताक्षर की पुष्टि करें, एक बार आदेश को क्रेडिट करें, और देखें कि भुगतान आपके बैलेंस पर कैसे आता है।

PHP SDK

एक फ़ाइल, कोई निर्भरता नहीं। createInvoice(), getInvoice() और verifyWebhook() — इसे किसी भी प्रोजेक्ट में डालें।

HMAC प्रमाणीकरण

अनुरोध और वेबहुक्स HMAC-SHA256 के साथ टाइमस्टैम्प स्क्यू और आइडेम्पोटेंसी कुंजी के साथ साइन किए गए हैं।

REST API

HTTPS पर साधारण JSON — किसी भी स्टैक से एकीकृत करें, केवल PHP नहीं।

checkout
<?php
require 'Payora.php';
$payora = new Payora('https://api.payora.money', getenv('PAYORA_KEY'), getenv('PAYORA_SECRET'));

// 1 — create an invoice (fiat-priced; the payer picks a coin)
$inv = $payora->createInvoice([
  'order_id'   => 'ORDER-42',
  'mode'       => 'fiat',
  'amount'     => '9.99',
  'return_url' => 'https://shop.example/thanks',
  'lang'       => 'en',
], 'ORDER-42'); // Idempotency-Key: a retry never creates a second invoice
header('Location: ' . $inv['pay_url']);

// 2 — webhook endpoint: ALWAYS verify the signature first
$event = $payora->verifyWebhook(file_get_contents('php://input'), getallheaders());
if ($event === null) { http_response_code(400); exit; }
if ($event['status'] === 'paid') {
  creditOrderOnce($event['id'], $event['order_id'], $event['amount'], $event['currency']);
}
http_response_code(200); // 2xx stops retries

अपनी API कुंजी और गुप्त प्राप्त करें खाता बनाकर। पूरा SDK आपके डैशबोर्ड में है।

प्रमाणीकरण

प्रमाणीकरण

हर कॉल /v1/health को छोड़कर तीन हस्ताक्षरित हेडर ले जाती है। हस्ताक्षर यह साबित करता है कि अनुरोध आपके api_secret के धारक से आया है और रास्ते में इसे नहीं बदला गया।

हेडरमानविवरण
X-Payora-Keypk_…आपकी सार्वजनिक api_key। स्टोर की पहचान करता है।
X-Payora-Timestampunix secondsजिस क्षण आपने अनुरोध पर हस्ताक्षर किया, यूनिक्स सेकंड में।
X-Payora-Signaturehex · 64timestamp + "." + कच्चे शरीर का लोअरकेस हेक्स HMAC-SHA256, आपके api_secret के साथ कुंजीबद्ध।
X-Payora-Test1एक चालान को आपके एकीकरण के परीक्षण के रूप में चिह्नित करता है: यह वास्तविक है और सिक्के प्राप्त कर सकता है, लेकिन मांग और रूपांतरण रिपोर्ट से बाहर रहता है।
Idempotency-KeystringPOST /v1/invoice और POST /v1/payout पर वैकल्पिक। एक ही कुंजी के साथ पुनः प्रयास करने से पहले परिणाम लौटता है बजाय कि डुप्लिकेट बनाने के; एक अलग शरीर के साथ वही कुंजी 409 का उत्तर देती है।
Content-Typeapplication/jsonउन अनुरोधों पर आवश्यक है जो एक शरीर ले जाते हैं।
X-Payora-Signature=hex( HMAC-SHA256( api_secret, timestamp + "." + raw_body ) )

आप जो सटीक बाइट्स भेजते हैं, उस पर हस्ताक्षर करें। हस्ताक्षर करने के बाद JSON को फिर से एन्कोड करना — यहां तक कि कुंजियों को पुनर्व्यवस्थित करना या एक स्थान जोड़ना — सिग्नेचर को तोड़ देता है।

GET अनुरोध के लिए शरीर खाली है, इसलिए हस्ताक्षरित स्ट्रिंग timestamp है जिसके बाद एक बिंदु है।

API 120 सेकंड से अधिक समय दूर के timestamp को अस्वीकार करता है। अपने सर्वर को NTP के साथ समन्वय में रखें।

अपने सर्वर पर api_secret रखें। यह अनुरोधों और वेबहुक्स दोनों पर हस्ताक्षर करता है: जो भी इसे रखता है वह आपके नाम पर चालान बना सकता है और कॉलबैक को जाली बना सकता है।

sign-request
<?php
$body = json_encode(['order_id' => 'ORDER-42', 'mode' => 'fiat', 'amount' => '9.99'], JSON_UNESCAPED_SLASHES);
$ts   = (string) time();
$sig  = hash_hmac('sha256', $ts . '.' . $body, $apiSecret); // lowercase hex

$ch = curl_init('https://api.payora.money/v1/invoice');
curl_setopt_array($ch, [
  CURLOPT_POST => true, CURLOPT_POSTFIELDS => $body, CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => [
    'X-Payora-Key: ' . $apiKey,
    'X-Payora-Timestamp: ' . $ts,
    'X-Payora-Signature: ' . $sig,
    'Idempotency-Key: ORDER-42',
    'Content-Type: application/json',
  ],
]);
$invoice = json_decode(curl_exec($ch), true);
POST /v1/invoice

चालान पैरामीटर

सभी वैकल्पिक हैं सिवाय order_id और amount। फिएट मोड भुगतान करने वाले को आपके खाते पर सक्षम किसी भी सिक्के को चुनने की अनुमति देता है; क्रिप्टो मोड को भी currency की आवश्यकता होती है।

पैरामीटरप्रकारविवरण
order_idstring · requiredआपका अद्वितीय ऑर्डर संदर्भ (≤190 वर्ण)। एक पुनरावृत्ति 409 के साथ अस्वीकृत होती है - डबल-सबमिशन के खिलाफ सुरक्षित।
amountstring · requiredफिएट राशि (mode=fiat) या सटीक क्रिप्टो राशि (mode=crypto)।
modefiat | cryptoडिफ़ॉल्ट फिएट: चेकआउट पर प्रति कॉइन दर लॉक की गई। क्रिप्टो कॉइन + राशि को पहले से तय करता है।
fiat_currencystringISO fiat code for fiat mode (default USD).
currencystringक्रिप्टो मोड के लिए कॉइन (जैसे TON, TRX, USDT_TRON)।
return_urlhttps URLजहां चेकआउट का “स्टोर पर लौटें” बटन ग्राहक को वापस भेजता है - आपकी साइट। केवल पूर्ण http(s)।
langen·ru·uk·es·deचेकआउट भाषा, ताकि आपके रूसी स्टोर से एक ग्राहक रूसी चेकआउट देख सके - अंग्रेजी नहीं। इसे भुगतान URL पर ?lang=ru के रूप में भी सेट किया जा सकता है।
ttlsecondsचालान कितनी देर तक भुगतान योग्य रहता है (120–86400 सेकंड, डिफ़ॉल्ट 1800)।
customer_emailemailOptional — receipt + emailed to the payer.
notesstringचालान पर संग्रहीत फ्री-फॉर्म नोट।

return_url और lang भी उस pay_url के लिए क्वेरी पैरामीटर के रूप में काम करते हैं जो API आपको देता है — <pay_url>&lang=ru&return_url=https://shop.example/thanks। हमेशा खरीदार को API द्वारा लौटाए गए pay_url पर भेजें: इसमें एक-प्रति-चालान एक्सेस टोकन होता है, इसलिए चालान नंबरों का अनुमान लगाकर चेकआउट पृष्ठ तक नहीं पहुंचा जा सकता। चालान आईडी से लिंक को फिर से न बनाएं।

अनुरोध निर्माता

हस्ताक्षरित चालान अनुरोध बनाएं

फील्ड भरें और एक तैयार cURL कमांड कॉपी करें। यह अपने आप को आपके शेल में $PAYORA_KEY और $PAYORA_SECRET के साथ हस्ताक्षरित करता है — यह पृष्ठ कभी भी आपकी कुंजियों को नहीं देखता और कुछ भी नहीं भेजता।

mode
POST /v1/invoice
BODY='{"order_id":"ORDER-42","mode":"fiat","amount":"9.99","fiat_currency":"USD","return_url":"https://shop.example/thanks","lang":"hi","ttl":1800}'
TS=$(date +%s)
SIG=$(printf '%s.%s' "$TS" "$BODY" | openssl dgst -sha256 -hmac "$PAYORA_SECRET" | cut -d' ' -f2)

curl -X POST https://api.payora.money/v1/invoice \
  -H "X-Payora-Key: $PAYORA_KEY" \
  -H "X-Payora-Timestamp: $TS" \
  -H "X-Payora-Signature: $SIG" \
  -H 'Idempotency-Key: ORDER-42' \
  -H 'Content-Type: application/json' \
  -d "$BODY"

इस पृष्ठ से कुछ भी नहीं भेजा जाता है।

वेबहुक्स

वेबहुक्स

जब एक चालान या भुगतान की स्थिति बदलती है, तो Payora आपके कॉलबैक URL पर एक साइन किया हुआ JSON इवेंट POST करता है। पहले सिग्नेचर की पुष्टि करें, एक बार ऑर्डर को क्रेडिट करें, उत्तर 2xx।

इवेंटstatusजब यह सक्रिय होता है
invoice.paidpaidभुगतान ऑन-चेन पुष्टि किया गया है। इसमें राशि, सिक्का और tx_hash शामिल है।
invoice.underpaidunderpaidचालान उस राशि के आने के बाद समाप्त हो गया जो अपेक्षित थी।
invoice.expiredexpiredचालान समाप्त हो गया जब कुछ भी प्राप्त नहीं हुआ।
invoice.cancelledcancelledचालान रद्द कर दिया गया। पहले से आई हुई राशि, यदि कोई हो, इवेंट में वर्णित है।
invoice.cancel_settled—रद्द किए गए चालान पर आई राशि का निपटान किया गया है: क्रेडिट किया गया या वापस भेजा गया।
invoice.late_payment—वह पैसा जो एक चालान पर आया जब उसे रद्द किया गया। प्रत्येक ऐसे जमा के लिए एक बार भेजा गया; परिणाम बताता है कि इसे क्रेडिट किया गया था या इसे वापस किया जा रहा है।
payout.sentsentएक भुगतान बैच पर हस्ताक्षर किए गए और प्रसारित किए गए। इसमें प्रत्येक आइटम इसके tx_hash के साथ शामिल है।

हर डिलीवरी के हेडर

हेडरमानविवरण
X-Payora-Iduuidविशिष्ट इवेंट आईडी, जो शरीर में आईडी के समान है। इसे दोहराव को अनदेखा करने के लिए स्टोर करें।
X-Payora-Eventinvoice.paidइवेंट नाम।
X-Payora-Timestampunix secondsजब यह प्रयास हस्ताक्षरित किया गया था।
X-Payora-Signaturehex · 64अनुरोधों के समान योजना: timestamp का HMAC-SHA256 + "." + आपके api_secret के साथ कच्चा शरीर।

invoice.paid पेलोड

क्षेत्रप्रकारविवरण
iduuidडुप्लिकेशन से बचने के लिए इवेंट आईडी।
eventstringइवेंट नाम।
invoice_idintPayora चालान संख्या।
order_idstringआपका ऑर्डर संदर्भ, जैसा कि चालान बनाते समय भेजा गया था।
statusstringpaid के लिए invoice.paid।
currencystringभुगतानकर्ता द्वारा उपयोग की गई मुद्रा, जैसे कि USDT_TRON।
amountdecimal stringप्राप्त राशि।
amount_unitsinteger stringसिक्के की सबसे छोटी इकाइयों में वही राशि — इसका उपयोग सटीक तुलना के लिए करें।
expecteddecimal stringचालान के लिए मांगी गई राशि।
fiat_amountdecimal string | nullजैसा आपने चालान बनाया, उसका फिएट मूल्य; क्रिप्टो-मोड चालानों के लिए शून्य।
fiat_currencystring | nullfiat_amount का ISO कोड; क्रिप्टो-मोड चालानों के लिए शून्य।
tx_hashstringऑन-चेन लेनदेन हैश।
paid_atunix secondsजब इवेंट बनाया गया था।
testbooltrue के लिए सैंडबॉक्स चालान।
invoice.paid
{
    "id": "6f1c2a4e-8b0d-4c1e-9a57-2f3d9e1b7c40",
    "event": "invoice.paid",
    "invoice_id": 1042,
    "order_id": "ORDER-42",
    "status": "paid",
    "currency": "USDT_TRON",
    "amount": "9.99",
    "amount_units": "9990000",
    "expected": "9.99",
    "fiat_amount": "9.99",
    "fiat_currency": "USD",
    "tx_hash": "3f9a…c21e",
    "paid_at": 1758038400,
    "test": false
}

जब प्राप्त राशि चालान से भिन्न होती है, तो amount_received और amount_expected जोड़ी जाती हैं।

डिलीवरी और पुनः प्रयास

2xx के अलावा कुछ भी, या 15 सेकंड के भीतर कोई उत्तर नहीं, को पुनः प्रयास किया जाता है जिसमें प्रयासों के बीच एक घंटे की सीमा के साथ गुणात्मक बैकऑफ होता है — 12 प्रयासों तक। प्रत्येक प्रयास को एक नए टाइमस्टैम्प के साथ फिर से हस्ताक्षरित किया जाता है; शरीर और इवेंट आईडी वही रहते हैं, इसलिए आईडी पर डुप्लिकेट से बचें।

अंतिम प्रयास के बाद इवेंट को विफल के रूप में चिह्नित किया जाता है और स्टोर के मालिक को एक ईमेल मिलता है। रीडायरेक्ट का कभी पालन नहीं किया जाता है, और कॉलबैक URL इंटरनेट से पहुंच योग्य होना चाहिए — कोई लोकलहोस्ट या निजी पते नहीं।

आप एक ऑर्डर को क्रेडिट करने से पहले

  • किसी भी JSON पार्सिंग से पहले कच्चे शरीर को पढ़ें।
  • हस्ताक्षर को फिर से गणना करें और स्थिर समय में तुलना करें: hash_equals, crypto.timingSafeEqual, hmac.compare_digest।
  • अपने विंडो के बाहर के टाइमस्टैम्प को अस्वीकार करें — SDKs ±300 सेकंड स्वीकार करते हैं।
  • स्थिति और राशि की जांच करें अपने ऑर्डर के खिलाफ, फिर प्रति इवेंट आईडी एक बार क्रेडिट करें।
  • 2xx का त्वरित उत्तर दें और प्रतिक्रिया देने के बाद धीमी कार्य करें।
webhook
<?php
require 'Payora.php';
$payora = new Payora('https://api.payora.money', getenv('PAYORA_KEY'), getenv('PAYORA_SECRET'));

$raw   = file_get_contents('php://input');           // raw, before any parsing
$event = $payora->verifyWebhook($raw, getallheaders()); // HMAC + ±300 s window, constant-time
if ($event === null) { http_response_code(400); exit; } // bad / forged / stale

if ($event['event'] === 'invoice.paid' && !alreadyProcessed($event['id'])) {
  creditOrder($event['order_id'], $event['amount'], $event['currency'], $event['tx_hash']);
  rememberProcessed($event['id']);
}
http_response_code(200); // 2xx stops retries
प्लेग्राउंड

Webhook सिग्नेचर प्लेग्राउंड

एक गुप्त, एक टाइमस्टैम्प और कच्चा बॉडी दर्ज करें ताकि आप देख सकें कि Payora कौन सा सटीक सिग्नेचर भेजेगा — या एक की जांच करें जो आपने प्राप्त की।

यह आपके ब्राउज़र में WebCrypto के साथ चलता है। आप जो कुछ भी टाइप करते हैं वह इस पृष्ठ को नहीं छोड़ता। साझा कंप्यूटर पर एक परीक्षण गुप्त का उपयोग करें, न कि एक लाइव।

X-Payora-Timestamp
साइन किया हुआ स्ट्रिंग
1758038400.{…}
हेडर जो Payora भेजता है
headers
X-Payora-Timestamp: 1758038400
X-Payora-Signature: …

तुलना करने के लिए एक सिग्नेचर पेस्ट करें

मास भुगतान

सामूहिक भुगतान API

क्रिप्टो को एक साइन किए गए, आइडेम्पोटेंट अनुरोध में 500 वॉलेट्स तक भेजें — payroll, सहयोगी भुगतान या निकासी के लिए। बैच कुल और प्रति-आइटम शुल्क आपके internal balance पर तुरंत रखा जाता है; ऑपरेटर हस्ताक्षर करता है और प्रसारित करता है, फिर एक साइन किया हुआ payout.sent वेबहुक सक्रिय होता है। बाकी सब की तरह वही HMAC प्रमाणीकरण।

payout
# create a payout batch — funds held instantly, sent by the operator
curl -X POST https://api.payora.money/v1/payout \
  -H 'X-Payora-Key: pk_…' -H 'X-Payora-Timestamp: 1700000000' \
  -H 'X-Payora-Signature: <hmac-sha256>' -H 'Idempotency-Key: payroll-2026-01' \
  -d '{"currency":"USDT_TRON","items":[
        {"address":"TR7…","amount":"250.00"},
        {"address":"TX9…","amount":"99.50","tag":"batch-A"}]}'

# → 201 Created
{ "batch_id": 812, "status": "pending", "currency": "USDT_TRON",
  "item_count": 2, "total": "349.50", "fee": "…", "items": [ … ] }

# poll status, or receive a signed payout.sent webhook when it is sent
curl https://api.payora.money/v1/payout/812 -H 'X-Payora-Key: …' …

मान्यता सख्त है: कोई भी खराब पता या अत्यधिक सटीक राशि पूरे बैच को अस्वीकार कर देती है (HTTP 422) जिसमें दोषपूर्ण आइटम अनुक्रमांक होते हैं — एक पेरोल रन कभी भी चुपचाप किसी प्राप्तकर्ता को नहीं छोड़ता। एक अभी भी लंबित बैच को रद्द करें POST /v1/payout/{id}/cancel के साथ रोक को छोड़ने के लिए। आर्किटेक्चर लेखन देखें।

संदर्भ

एंडपॉइंट संदर्भ

हर एंडपॉइंट HTTPS पर साधारण JSON बोलता है api.payora.money पर। सभी को छोड़कर /v1/health वही HMAC-SHA256 अनुरोध प्रमाणीकरण का उपयोग करते हैं। मशीन-पठनीय विनिर्देश openapi.json पर है।

एंडपॉइंटएक्सेसविवरण
GET/v1/healthno authService status plus the list of enabled currencies.
POST/v1/invoiceauthएक चालान बनाएं (फिएट या क्रिप्टो मोड)। समर्थन करता है Idempotency-Key। 201 लौटाता है जिसमें invoice_id, status, pay_url और expires; क्रिप्टो मोड पता, राशि और डीपलिंक जोड़ता है।
GET/v1/invoice/{id}authचालान की स्थिति (केवल अपने चालान): स्थिति, शेष, और शुल्क — मुद्रा, पता, अपेक्षित/प्राप्त राशि और tx_hash।
POST/v1/payoutauth · Pro+एक सामूहिक भुगतान बैच बनाएं (कठोर सत्यापन, धन तुरंत रोका गया)। समर्थन करता है Idempotency-Key। बैच दृश्य के साथ 201 लौटाता है: batch_id, status, कुल, शुल्क, आइटम।
GET/v1/payoutauthअपने हाल के भुगतान बैचों की सूची बनाएं (?limit=, डिफ़ॉल्ट 50)।
GET/v1/payout/{id}authPayout batch status and items (own batches only).
POST/v1/payout/{id}/cancelauthएक अभी भी लंबित बैच को रद्द करें और रखी गई राशि को जारी करें। यदि बैच अब रद्द नहीं किया जा सकता है तो 409 लौटाता है।
डाउनलोड

SDKs और डाउनलोड

कोई निर्भरता न होने वाली एकल फ़ाइलें। प्रत्येक SDK अनुरोधों पर हस्ताक्षर करता है और वेबहुक को उसी तरह सत्यापित करता है।

phpPHPPayora.php

PHP 7.4+ cURL के साथ, एक फ़ाइल। createInvoice, getInvoice और verifyWebhook।

jsNode.jspayora.js

Node.js केवल अंतर्निहित https और क्रिप्टो के साथ। चालान, बैलेंस, भुगतान और verifyWebhook।

pyPythonpayora.py

केवल Python मानक पुस्तकालय। चालान, बैलेंस, भुगतान और verify_webhook।

{ }Postmanpayora.postman_collection.json

एक Postman संग्रह जो आपके लिए हर कॉल पर हस्ताक्षर करता है।

{…}OpenAPI 3.0openapi.json

प्रत्येक एंडपॉइंट का मशीन-पठनीय स्पेक, कोड जनरेटर और API क्लाइंट के लिए।

api.payora.moneyखोलें
क्या आप WooCommerce, WHMCS, Magento या किसी अन्य CMS का उपयोग कर रहे हैं?

एक तैयार मॉड्यूल आपके लिए उपरोक्त सभी करता है: चालान, रीडायरेक्ट और एक सत्यापित वेबहुक।

प्लगइन्स ब्राउज़ करें
अक्सर पूछे जाने वाले प्रश्न

अक्सर पूछे जाने वाले प्रश्न

साफ जवाब, जिसमें असहज सवाल शामिल हैं: हिरासत, शुल्क और जब कुछ गलत होता है तो क्या होता है।

सहायता केंद्र

मैं Payora को कैसे एकीकृत करूं?

एकल-फाइल PHP SDK (कोई निर्भरता नहीं) स्थापित करें या सीधे REST API को कॉल करें। createInvoice() के साथ एक चालान बनाएं, ग्राहक को उसके pay_url पर रीडायरेक्ट करें, और एक वेबहुक इवेंट को संभालें: status=paid। एक सक्षम डेवलपर 30-60 मिनट में लाइव है।

क्या गैर-PHP स्टैक्स के लिए एक REST API है?

हाँ। सब कुछ HTTPS पर साधारण JSON है, इसलिए आप किसी भी भाषा से एकीकृत कर सकते हैं। PHP SDK समान एंडपॉइंट्स के चारों ओर एक सुविधाwrapper है - चालान बनाना, चालान प्राप्त करना, और वेबहुक हस्ताक्षरों को सत्यापित करना।

क्या ग्राहक भुगतान करने के बाद सही भाषा में मेरी साइट पर लौट सकता है?

हाँ। जब आप इनवॉइस बनाते हैं तो return_url पास करें (या भुगतान लिंक पर ?return_url=) और चेकआउट सफलता स्क्रीन पर आपकी साइट पर वापस जाने के लिए “स्टोर पर लौटें” बटन दिखाता है — और भुगतान करते समय। lang (en, ru, uk, es, de) पास करें, या लिंक पर ?lang=, ताकि आपके रूसी स्टोर से ग्राहक अंग्रेजी के बजाय रूसी चेकआउट पर पहुंचे। दोनों वैकल्पिक हैं; return_url एक पूर्ण http(s) URL होना चाहिए।

API प्रमाणीकरण कैसे संभाला जाता है?

अनुरोध और वेबहुक को आपके api_secret का उपयोग करके टाइमस्टैम्प और कच्चे शरीर पर HMAC-SHA256 के साथ प्रमाणित किया जाता है, ±120-सेकंड स्क्यू विंडो और आइडेम्पोटेंसी कुंजी के साथ। समय हमलों को रोकने के लिए हस्ताक्षरों की तुलना स्थिर समय में की जाती है।

मैं API कुंजी कैसे प्राप्त करूं?

एक मुफ्त खाता बनाएं। आपका सार्वजनिक api_key और गुप्त api_secret डैशबोर्ड में दिखाई देते हैं, साथ ही डाउनलोड करने योग्य SDK और पूर्ण वेबहुक संदर्भ। सेटिंग्स से किसी भी समय कुंजी घुमाएं।

वेबहुक पेलोड में क्या होता है?

एक साइन किया हुआ JSON इवेंट जिसमें इनवॉइस आईडी, आपका ऑर्डर_आईडी, स्थिति (उदाहरण के लिए भुगतान किया गया), राशि और मुद्रा, और आइडेम्पोटेंसी के लिए एक अद्वितीय इवेंट आईडी शामिल है। हमेशा ऑर्डर को क्रेडिट करने से पहले सिग्नेचर की पुष्टि करें, फिर डबल-प्रोसेसिंग से बचने के लिए इवेंट आईडी को रिकॉर्ड करें।

क्या बड़े पैमाने पर क्रिप्टो भुगतान के लिए एक API है?

हाँ। POST /v1/payout एक अनुरोध में 500 वॉलेट्स तक क्रिप्टो भेजता है - प्रति आइटम एक {पता, राशि, वैकल्पिक टैग}, आपके खाते पर सक्षम किसी भी सिक्के में। यह चालान API के समान HMAC-SHA256 प्रमाणीकरण और Idempotency-Key का उपयोग करता है, इसलिए एक पुनः प्रयास किया गया अनुरोध कभी भी एक डुप्लिकेट बैच नहीं बनाता। बैच कुल और प्रति-आइटम शुल्क तुरंत आपके बैलेंस पर सुरक्षित किया जाता है; ऑपरेटर हस्ताक्षर करता है और प्रसारित करता है, फिर एक हस्ताक्षरित payout.sent वेबहुक सक्रिय होता है। मान्यता सख्त है - कोई भी अमान्य पता या अत्यधिक सटीक राशि पूरे बैच को अस्वीकृत कर देती है (422) इसलिए एक पेरोल रन कभी भी चुपचाप एक प्राप्तकर्ता को नहीं छोड़ता।

मैं क्रिप्टो पेरोल या सहयोगी भुगतान को कैसे स्वचालित करूं?

अपने सिस्टम में प्राप्तकर्ता सूची बनाएं, फिर प्रति रन एक स्थिर Idempotency-Key (उदाहरण के लिए payroll-2026-01) के साथ POST /v1/payout कॉल करें। GET /v1/payout/{id} को पोल करें या डिलीवरी की पुष्टि करने और प्रत्येक tx हैश को रिकॉर्ड करने के लिए payout.sent वेबहुक का इंतजार करें। बैच जमा करने से फंड सुरक्षित होते हैं लेकिन यह अपने आप उन्हें स्थानांतरित नहीं करता — ऑपरेटर हस्ताक्षर करता है और प्रसारित करता है, इसलिए केवल API कॉल पर कुछ भी नहीं निकलता।

अपनी API कुंजी प्राप्त करें

एकल निर्भरता-मुक्त PHP SDK: चालान बनाएं, होस्टेड चेकआउट पर रीडायरेक्ट करें, और साइन किए गए वेबहुक्स की पुष्टि करें। किसी भी भाषा के लिए REST उपलब्ध है।

इस पृष्ठ का उत्तर क्या है