المطورون/الإطلاق
بيئة Sandbox
بيئة Sandbox نسخة تجريبية منفصلة من CardV. استخدمها لبناء الربط واختباره دون أموال حقيقية أو منتجات حقيقية.
| Live | Sandbox | |
|---|---|---|
| عنوان API الأساسي | https://b2b.cardv.net/api/v1 | https://sandbox.cardv.net/api/v1 |
| البوابة | https://b2b.cardv.net/portal/ | البوابة نفسها، مع التبديل إلى Sandbox |
#الحصول على الوصول
- يجب أن توافق CardV على شركتك أولًا.
- سجّل الدخول إلى البوابة واختر Sandbox من الشريط العلوي. لا يمكنك تسجيل الدخول إلى Sandbox مباشرة.
- في المرة الأولى، تنشئ CardV حسابك في Sandbox، بنفس Merchant ID ومعه 1,000 USD من الأموال التجريبية.
- داخل Sandbox، ينشئ صاحب الحساب (Owner) مفتاح API خاصًا بـ Sandbox ويعرضه. مفاتيح Live لا تعمل هنا.
- اختياري: أعدّ 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 ومعرّف الطلب أو الاستدعاء.