المطورون/الإطلاق

بيئة Sandbox

بيئة Sandbox نسخة تجريبية منفصلة من CardV. استخدمها لبناء الربط واختباره دون أموال حقيقية أو منتجات حقيقية.

ذات صلة: البداية · المصادقة

LiveSandbox
عنوان API الأساسيhttps://b2b.cardv.net/api/v1https://sandbox.cardv.net/api/v1
البوابةhttps://b2b.cardv.net/portal/البوابة نفسها، مع التبديل إلى Sandbox

#الحصول على الوصول

  1. يجب أن توافق CardV على شركتك أولًا.
  2. سجّل الدخول إلى البوابة واختر Sandbox من الشريط العلوي. لا يمكنك تسجيل الدخول إلى Sandbox مباشرة.
  3. في المرة الأولى، تنشئ CardV حسابك في Sandbox، بنفس Merchant ID ومعه 1,000 USD من الأموال التجريبية.
  4. داخل Sandbox، ينشئ صاحب الحساب (Owner) مفتاح API خاصًا بـ Sandbox ويعرضه. مفاتيح Live لا تعمل هنا.
  5. اختياري: أعدّ Webhook في Sandbox، وسيكون له سر توقيع خاص به.

#ما هو منفصل

  • لبيئة Sandbox مفاتيحها ومحفظتها وطلباتها ورسائل Webhook وقائمة عناوين IP وسجل التدقيق الخاصة بها.
  • الإعدادات غير مشتركة. أعدّ المفاتيح وWebhook وقائمة عناوين IP في كل بيئة على حدة.
  • طلبات Sandbox لا تشتري منتجات حقيقية أبدًا، والأكواد التجريبية لا يمكن استخدامها.
  • الأموال التجريبية بلا قيمة. لا يمكنك شحنها في Sandbox، ولا سحبها، ولا نقلها إلى Live.
  • إذا نفدت أموالك التجريبية، اطلب المزيد من دعم CardV.

#الأموال التجريبية

تستخدم الطلبات الأموال التجريبية تمامًا كما تستخدم طلبات Live الأموال الحقيقية. وتُسترد قيمة الطلبات التجريبية الفاشلة بالطريقة نفسها. يمكنك متابعة حركة الأموال التجريبية في صفحة الحركات بالبوابة.

#منتجات الاختبار

  • قائمة منتجات Sandbox صغيرة، وتضم منتجات تجريبية فقط.
  • أرقام المنتجات (SKU ID) تختلف عن Live. ابحث عنها دائمًا عبر GET/skus داخل Sandbox.
  • لا تنسخ أبدًا أرقام Sandbox إلى إعدادات Live، ولا العكس.
  • الأسعار والتوفر وسرعة التسليم في Sandbox ليست كما في Live.

#قائمة التحقق للاختبار

  • يُظهر GET/account رقم Merchant ID و"api_access_enabled": true.
  • يعمل GET/balance.
  • تستطيع التنقل بين صفحات GET/skus، ولا تطلب إلا المنتجات available.
  • ينجح الطلب الموقّع، ويحصل التوقيع الخاطئ على HTTP 403.
  • ترسل expected_unit_price في كل بند من بنود الطلب.
  • ينجح طلب منتج ذي قيمة مرنة مع amount (إن وُجد مثل هذا المنتج في Sandbox).
  • إرسال الطلب نفسه مرتين (قيمة nonce جديدة، مع المحتوى ورقم الطلب نفسيهما) يُرجع HTTP 200 مع order_id نفسه، ويُخصم المبلغ من رصيدك مرة واحدة فقط.
  • رقم الطلب نفسه مع محتوى مختلف يُرجع HTTP 400 على external_order_id.
  • بعد انتهاء المهلة، يعيد برنامجك إرسال الطلب نفسه بدل إنشاء رقم طلب جديد.
  • تقرأ deliveries[].display_fields وتسلّمها للعميل.
  • تتعامل مع failed وrefunded وpartially_succeeded.
  • تنجح شيفرة Webhook لديك مع قيم الاختبار، ثم مع رسالة Webhook حقيقية من Sandbox، وتتجاهل الرسائل المكررة.
  • تنتظر مدة Retry-After بعد HTTP 429.
  • لا تحتوي سجلاتك على مفاتيح API أو تواقيع أو أكواد أو بيانات حسابات العملاء.

#قائمة التحقق قبل التشغيل الفعلي

  • أنشئ مفتاح API لبيئة Live من بوابة Live، واحفظه في مخزن الأسرار لبيئة الإنتاج.
  • غيّر العنوان الأساسي في الإعدادات إلى https://b2b.cardv.net/api/v1.
  • حمّل قائمة منتجات Live، واربط منتجاتك بأرقام SKU الخاصة بـ Live.
  • اشحن محفظتك في Live من البوابة، واضبط تنبيه انخفاض الرصيد.
  • اختياري: أضف عناوين IP لخوادمك إلى قائمة العناوين المسموح بها في Live.
  • أعدّ Webhook في Live، وانشر سر التوقيع الخاص به.
  • أكّد مع CardV حدود الطلبات وحد معدل الطلبات لحسابك.
  • أرسل طلبًا واحدًا صغيرًا في Live، وتحقق من المبلغ المخصوم والأكواد ورسالة Webhook. ثم زِد حجم الطلبات تدريجيًا.
  • طابِق الحسابات يوميًا باستخدام صفحة الحركات وملفات التصدير في البوابة.
  • فعّل التحقق بخطوتين لكل أصحاب الحساب (Owner).

#حل المشكلات

HTTP 403 error code: 1010

يعمل خادم Sandbox خلف خدمة حماية على طرف الشبكة. بعض برامج HTTP تحصل على HTTP 403 مع النص العادي error code: 1010. الطلب لم يصل إلى CardV أصلًا، لذا لن يفيد تغيير المفتاح أو التوقيع.

  • حدّد قيمة واضحة لـ User-Agent.
  • إذا استمرت المشكلة، أرسل إلى دعم CardV عنوان IP لخادمك وقيمة User-Agent ووقت حدوثها.
  • لا تلجأ أبدًا إلى الاختبار على Live بدلًا من ذلك.

هل لديك سؤال حول التكامل؟ راسلنا على [email protected] مع ذكر Merchant ID ومعرّف الطلب أو الاستدعاء.