دليل التكامل

كيفية قبول مدفوعات USDT / USDC على موقع ويب باستخدام Node.js

يحتاج الخروج من USDT / USDC للإنتاج إلى أكثر من عنوان المحفظة. أنشئ طلبًا من Node.js، وأعد بيانات الدفع إلى المتصفح، ثم قم بتنفيذه فقط بعد التحقق من خطاف الدفع على الشبكة.

الخطوات

يحتاج الخروج من USDT / USDC للإنتاج إلى أكثر من عنوان المحفظة. أنشئ طلبًا من Node.js، وأعد بيانات الدفع إلى المتصفح، ثم قم بتنفيذه فقط بعد التحقق من خطاف الدفع على الشبكة.

كيفية قبول مدفوعات USDT / USDC على موقع ويب باستخدام Node.js

  1. 01

    أنشئ طلب الدفع من الخادم وحدد المبلغ والشبكة ومعرّف الطلب الخارجي.

  2. 02

    اعرض رابط الدفع والشبكة وعنوان الاستلام ورمز QR ومبلغ USDT / USDC الدقيق.

  3. 03

    يتحقق BoltUtil من الشبكة وعقد الرمز والعنوان والمبلغ ومدة الطلب والتأكيدات.

  4. 04

    بعد التأكيد، تحقق من توقيع Webhook ونفّذ الطلب بطريقة تمنع التكرار.

يتحقق BoltUtil من الدفع ويرسل إشعارات موقعة. يتحقق خادمك من التوقيع وحالة الطلب ويمنع التكرار قبل التسليم أو تفعيل الخدمة أو إضافة الرصيد.

ملاحظات التكامل

ما يهم قبل الإنتاج

تسوية غير احتجازية

تصل USDT / USDC مباشرة إلى محفظة التاجر ولا يحتفظ BoltUtil بالأموال أو المفاتيح الخاصة.

ست شبكات للدفع

TRON وEthereum وBNB Smart Chain وPolygon وSolana وBase. تدعم TRON عملة USDT / USDC فقط؛ تتطلب مسارات USDT / USDC الأخرى تفعيل الأصل وإعداد محفظة استلام صالحة.

Webhooks موقعة

تساعد توقيعات HMAC والطابع الزمني وسجلات إعادة الإرسال على أتمتة التنفيذ بأمان.

Node.js 22+ · USDC / Base checkout
import crypto from 'node:crypto'

// Node.js 20+ server module. Call only after authenticating the buyer.
// order must come from your database, with ownership and price checked.
// Never pass req.body directly; persist externalOrderId before calling.
export async function createStablecoinCheckout(order) {
  const key = process.env.BOLTUTIL_API_KEY
  const secret = process.env.BOLTUTIL_API_SECRET
  if (!key || !secret) throw new Error('Missing server credentials')

  const payload = JSON.stringify({
    externalOrderId: order.externalOrderId,
    amount: order.amount,
    currency: 'USDC',
    network: 'BASE',
    notifyUrl: 'https://merchant.com/webhooks/boltutil',
    returnUrl: 'https://merchant.com/orders/complete'
  })
  const timestamp = Date.now().toString()
  const signature = crypto.createHmac('sha256', secret)
    .update(`${timestamp}.${payload}`).digest('hex')

  // A timeout does not prove creation failed. Query order/status using
  // the SAME externalOrderId before deciding whether to retry.
  const response = await fetch('https://api.boltutil.com/api/v1/order/create', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
      'X-Bolt-Key': key,
      'X-Bolt-Timestamp': timestamp,
      'X-Bolt-Signature': signature
    },
    body: payload,
    signal: AbortSignal.timeout(10000)
  })
  const result = await response.json()
  if (!response.ok || result.code !== 200 || !result.data?.checkoutUrl) {
    throw new Error('Create order failed; reconcile the saved order')
  }
  // Save result.data on the server. Return only checkout data to the buyer.
  return result.data
}

أمثلة للتكامل واستكشاف الأخطاء فقط. لا تُرسل طلبات. راجع بيانات الطلب وإعدادات الشبكة ووثائق API.

اقرأ مستندات API

أنشئ الطلبات على الخادم

لا تكشف مفتاح API في المتصفح واحفظ معرّف الطلب قبل عرض صفحة الدفع.

اعرض الشبكة بوضوح

يجب توضيح TRC20 وERC20 وBEP20 وPolygon أو Solana إلى جانب العنوان.

نفّذ بعد التحقق

رابط العودة ليس دليلاً على الدفع؛ استخدم Webhook موقعاً أو استعلام الحالة من الخادم.

دليل التكامل

الأسئلة التي يطرحها التجار قبل بدء البث المباشر

هل يحتفظ BoltUtil بأموال التاجر؟

لا. تصل الأموال مباشرة إلى محفظة التاجر، بينما يراقب BoltUtil التحويلات ويرسل الإشعارات.

كيف تتم مطابقة دفعة USDT / USDC؟

يتحقق النظام من الشبكة والرمز والعنوان والمبلغ الدقيق وحالة الطلب ومدة صلاحيته.

ما الشبكات التي تدعم USDT وUSDC؟

تدعم TRON عملة USDT فقط. تستخدم Ethereum وBNB Smart Chain وPolygon وSolana وBase نسخ USDT / USDC المحددة. يعتمد التوافر على القنوات المفعلة ومحافظ التاجر.

ابدأ تدفق دفعات USDT / USDC أكثر نظافة

يمكنك إنشاء الطلبات ومراقبة عمليات النقل وإخطار الواجهة الخلفية لديك دون مطالبة العملاء بإرسال لقطات شاشة.