تخطَّ إلى المحتوى

بنية تحتية لإصدار البطاقات

واجهة API للبطاقات الافتراضية — أصدر بطاقات Visa و Mastercard لعملائك.

تُصدر ScarabPay Business بطاقات افتراضية لعملائك، مموّلة من محفظة تاجر تشحنها أنت. كل حركة تُسجَّل بقيود مزدوجة متوازنة في دفتر لا يقبل إلا الإضافة، فتكون الأرقام التي تُبلّغ عنها هي نفسها الصفوف التي نحتفظ بها.

Request POST /v1/cards
// Idempotency-Key: 8f3c1d90-...-b7a2
{
  "product_id":  "01HXYZP4K2M8N6Q1RSTVWXYZ01",
  "customer_id": "01HABCD7F3G9J5K2LMNPQRSTVW",
  "amount_minor": 250000
}

Ledger · insert only

merchant_wallet −250000
card_float +250000
movement total 0
One request, and the entry it posts. Values are demonstration data; the shapes are the documented ones.

٠١

مسار المال

كيف تعمل واجهة API للبطاقات الافتراضية.

التمويل أولًا لأنه لا بد أن يكون كذلك: طلب إصدار على محفظة غير مموّلة يُرفض ولا يُدرج في طابور. وليست الخطوات أدناه مراحل في رسم تسويقي — كل واحدة منها نقطة نهاية تستدعيها أو حدث تستقبله.

  1. موِّل المحفظة

    تحتفظ محفظة التاجر برصيد واحد لكل عملة بوحدات صغرى صحيحة. تصل الإيداعات المشفّرة إلى عناوين دائمة لكل شبكة، وتُضاف إلى المحفظة بمجرد تأكيد الشبكة لها.

    POST /deposit-addresses

  2. أصدِر بطاقة لعميل

    طلب واحد يحمل منتجًا وعميلًا مسجّلًا ومبلغ شحن أوّلي. يُحجز المبلغ ورسوم إصدار المنتج على المحفظة، ويُستدعى شريك الإصدار خارج معاملة قاعدة البيانات، ثم تُسجّل التسوية الحركة في الدفتر. البطاقات التي تُهيَّأ لا تزامنيًّا تُعيد 202 ببطاقة معلّقة.

    POST /cards

  3. استقبل النشاط لحظة وقوعه

    تصلك التفويضات وتغيّرات دورة الحياة كأحداث ويب‑هوك موقّعة — إصدار، تفويض، إعادة شحن، تجميد، إلغاء تجميد، إنهاء. والنشاط نفسه قابل للقراءة لكل بطاقة على حدة، بترقيم بالمؤشر.

    GET /cards/{card}/transactions

  4. سوِّ الحسابات على الصفوف لا على المجاميع

    التسوية هي قراءة الدفتر مرة أخرى. لا شيء يُحدَّث ولا شيء يُحذف، فيظل الرقم الذي أبلغت عنه في ربع سابق قابلًا للإرجاع إلى القيود التي أنتجته.

    GET /deposits

كيف تُوجَّه منتجات البطاقات إلى شركاء الإصدار المرخّصين يقع تكاملك في الأعلى ويتصل بواجهة ScarabPay Business وحدها. وتحتها ثلاثة مسارات تؤدي إلى ثلاثة شركاء إصدار مرخّصين غير مُسمّين، يحمل كل منهم منتج بطاقات واحدًا. منصّتك واجهة ScarabPay Business شريك مرخّص 1 منتج بطاقات 1 شريك مرخّص 2 منتج بطاقات 2 شريك مرخّص 3 منتج بطاقات 3

٠٢

شركاء الإصدار

واجهة واحدة لإصدار البطاقات الافتراضية أمام عدة جهات إصدار.

تتكامل مرة واحدة. وخلف ذلك التكامل يُوجَّه كل منتج بطاقات إلى شريك إصدار مرخّص يُختار بحسب منطقته ومجموعة منتجاته. إضافة شريك أو استبداله عملية ترحيل لدينا لا لديك — فالطلب الذي ترسله لا يتغيّر.

هويّات الشركاء غير منشورة، ولا يُكشف اسم أي شريك عبر الواجهة البرمجية ولا في أي استجابة تصلك.

٠٣

المطوّرون

التكامل مع واجهة البطاقات الافتراضية، مصمَّم لإعادة المحاولة.

تُقاس الواجهة المالية بما يحدث في المحاولة الثانية. كل نقطة نهاية تُعدّل البيانات تشترط مفتاح تكرار، والمفتاح نفسه ينتقل إلى جهة الإصدار كمرجع للعميل، وإعادة الإرسال تنتهي إلى النتيجة الأصلية لا إلى حركة ثانية.

Response 201 Created
{
  "data": {
    "id":            "01HKQW2N8V4X6Z9B3D5F7HJKMN",
    "status":        "active",
    "masked_number":  "••••••••••••4417",
    "balance_minor":  250000,
    "currency":      "USD"
  }
}

Delivered to your endpoint

09:41:02 card.issued evt_01HKQW2N8V
09:41:03 card.authorization evt_01HKQW3P1A
11:07:55 card.recharged evt_01HKR4M6T7
18:22:10 card.terminated evt_01HKS9X2C4

Every delivery carries a timestamped HMAC signature you verify with your endpoint secret.

REST وJSON، وغلاف واحد

أغلفة متوقّعة للنجاح والمعالجة والخطأ. المعرّفات العامة من نوع ULID، ولا تغادر المعرّفات التسلسلية الداخلية النظام أبدًا.

التكرار شرط لا خيار

يُرفض أي طلب يُعدّل البيانات بلا مفتاح تكرار. ويُرفض كذلك إعادة استخدام مفتاح مع حمولة مختلفة، بدل قبوله بصمت.

ويب‑هوك موقّعة ومعاد إرسالها

تُسلَّم أحداث البطاقات والتمويل بتوقيع HMAC على الوقت والمحتوى، ويُعاد إرسالها عند الإخفاق.

وحدات صغرى صحيحة من طرف إلى طرف

لا وجود لأي قيمة عشرية عائمة في مسار المال — لا في طلب ولا في استجابة ولا في صف من صفوف الدفتر.

٠٤

ما هو قائم اليوم

ميزات واجهة البطاقات الافتراضية: أربع عشرة عملية، ولا وعود مستقبلية.

أربع عشرة عملية موثّقة عبر أحد عشر مسارًا، تغطّي الإصدار وسجلّ حاملي البطاقات والتمويل. وما ليس في هذه القائمة ليس شيئًا يمكنك استدعاؤه.

Cards
POST /cards Issues a card against a product, to a registry customer, with an initial load. Charges the load plus the product issue fee through hold → provider → settle. Returns 202 with a pending card when the issuer provisions asynchronously.
GET /cards/{card} Returns the card's current state. Poll it while a new card provisions — pending resolves to active.
POST /cards/{card}/recharge Loads more funds onto a live card from the wallet, as a new balanced movement.
POST /cards/{card}/freeze Blocks spend on a card without moving money. Reversed by /unfreeze.
POST /cards/{card}/terminate Ends a card permanently and returns its residual balance to the wallet.
GET /cards/{card}/transactions Provider-reported activity for one card, cursor-paginated.
Cardholders
POST /customers Registers a cardholder identity once. Stored encrypted at rest and submitted to the issuer inside an issue request.
GET /customers/{customer} Reads a registry customer. PAN and security code are never exposed and never persisted.
Funding
POST /deposit-addresses Creates a permanent per-network address that credits the merchant wallet on receipt.
GET /deposits Received deposits, reconciled against the ledger.

Unfreeze, list customers, update a customer and list deposit addresses complete the fourteen.

كل حركة تنتهي إلى قيود مجموعها صفر.

التفويض لا يُعدّل رصيدًا. بل يضع حجزًا على محفظة التاجر، ويستدعي المُصدر خارج معاملة قاعدة البيانات، ثم يسجّل الحركة كقيدين متساويين متعاكسين في دفتر لا يقبل إلا الإضافة. والتصحيحات تُسجَّل كقيود جديدة، لا كتعديلات.

الدفتر هو مصدر الحقيقة لكل رقم تعرضه المنصة، بما في ذلك الأرقام في لوحة التاجر نفسه.

ScarabPay Business active

Card number ending 4417

Cardholder
A. HADDAD
Expires
04/29

Ledger excerpt · demonstration data

auth · card_float −2480
auth · settlement_due +2480
movement total 0

٠٥

شكل العمل

بطاقات افتراضية لشركات التقنية المالية والأعمال.

لا يوجد في هذه الواجهة حقل حدّ إنفاق، ولا قاعدة لفئات التجّار، ولا مفتاح قناة، والبناء حول واحد منها بناء حول شيء غير موجود. ما تتحكّم فيه هو مقدار تمويل البطاقة — يُحدَّد عند الإصدار، ويتغيّر بإعادة الشحن، ويُسترد عند الإنهاء. وتتفرّع عن ذلك ثلاثة أنماط.

01

بطاقة لكل عميل

تحتفظ منصّتك بمحفظة واحدة، ويحمل كل عميل نهائي بطاقة مموّلة منها. حدّ انكشافه هو الرصيد الذي شحنته، وهويّته سجلّ في سجل حاملي البطاقات لا حمولة تعيد إرسالها.

02

مدفوعات تُصدَر كبطاقات

ادفع لبائع أو متعاقد بإصدار بطاقة تحمل المبلغ المستحق. أضف إليها بإعادة شحن، وأنهِها عند انتهاء التعامل — فيعود المتبقي إلى محفظتك كحركة متوازنة.

03

بطاقة لكل مورّد

أصدِر بطاقة منفصلة لكل مورّد أو اشتراك وموّلها بما تساويه تلك العلاقة. الإنفاق فوق المبلغ المشحون لا يُفوَّض، ونشاط كل بطاقة قابل للقراءة على حدة.

الأسئلة الشائعة

ما هي واجهة API للبطاقات الافتراضية؟

هي واجهة REST تستدعيها منصتك لإصدار بطاقات Visa و Mastercard افتراضية لعملائك، وشحنها بالأموال، وإدارتها — تجميد وإلغاء تجميد وشحن وإنهاء — دون أن تبني نظام إصدار البطاقات بنفسك.

كيف تعمل المنصة

كيف تُموَّل البطاقات؟

لكل تاجر محفظة بالدولار. تموّلها بإيداع عملات مستقرة إلى عناوين دائمة لكل شبكة، وتُضاف بعد تأكيد الشبكة. يُخصم الشحن الأولي للبطاقة ورسوم إصدارها من هذه المحفظة.

كيف أتحكم بما يمكن للبطاقة صرفه؟

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

اقرأ مرجع API

كيف أعرف ما يحدث على البطاقة؟

تصل أحداث البطاقات والتمويل إلى نقطة الاستقبال لديك كإشعارات webhook موقّعة بـ HMAC-SHA256، وتُعاد عند الفشل. ويمكن قراءة النشاط نفسه لكل بطاقة عبر API.

هل ScarabPay بنك؟

لا. لسنا بنكًا ولا نملك ترخيصًا مصرفيًا. تُصدر البطاقات عبر شركاء إصدار مرخّصين.

من نحن

كيف أبدأ؟

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

تواصل معنا

كل ما في هذه الصفحة يعود إلى عملية في الواجهة.

اطّلع على ما تفعله الواجهة، أو اكتب إلينا بما تبنيه ونخبرك بصراحة إن كان يناسبك.