- مشروع NestJS قائم
- الوصول إلى Stripe Test Mode
- يلزم فرونت إند لواجهة الدفع
لا يلزم الوصول إلى المستودع. نحتاج صلاحية المشروع فقط إذا رغبتم أن تُدمج Bacodo الإضافة مباشرة.
الوظيفة الإضافية NestJS
قم بإضافة Node SDK Stripeي الرسمي، ووحدة المدفوعات، ووحدة التحكم في خطاف الويب التي تتحقق من توقيع Stripe على النص الأساسي. NestJS هي واجهة برمجة التطبيقات - فهي لا تقوم بتثبيت عنصر الدفع وليست معالجات مسار Next.js.
من
$175
USD · NestJS
تكامل Stripe لـ NestJS · NestJS
Requirements
لا يلزم الوصول إلى المستودع. نحتاج صلاحية المشروع فقط إذا رغبتم أن تُدمج Bacodo الإضافة مباشرة.
ماذا يفعل
يقوم Bacodo بدمج Stripe في مشروع NestJS الذي لديك بالفعل. بعد التسليم، تظل الوحدة والخدمة ووحدة التحكم موجودة في الريبو الخاص بك. لا تزال تمتلك حساب Stripe ومفاتيح API ورسوم Stripe. NestJS لا يخزن PAN مطلقًا.
يحتاج مسار NestJS Stripe للإنتاج إلى SDK للشريط الرسمي، وإنشاء PaymentIntent في الموفر، وconstructEvent على المخزن المؤقت للطلب غير المعدل. يقوم محلل JSON الافتراضي الخاص بـ Nest بكسر التحقق من التوقيع إذا قمت @Body() بخطاف الويب. وهذا خطأ حقيقي، وليس شعارا.
نضيف وحدة NestJS (ConfigService for STRIPE_SECRET_KEY / STRIPE_WEBHOOK_SECRET)، وهي خدمة تنشئ PaymentIntents، ووحدة تحكم webhook التي تقرأ RawBody. تمر عمليات كتابة الطلب عبر المستودع أو ORM الذي تستخدمه بالفعل - Prisma أو TypeORM أو MikroORM - وليس متجر Bacodo فقط.
يتخطى فريقك أول تطبيق إنتاجي لـ NestJS Stripe: RawBody على Express أو Fastify، والتعامل مع الأحداث غير الفعالة، وPaymentIntents المدرك لـ SCA، والتسليم الذي يوثق مفاتيح الاختبار للتشغيل المباشر.
مهندسو الواجهة الخلفية والوكالات التي تقوم بالفعل بتشغيل NestJS وتحتاج إلى واجهة برمجة تطبيقات دفع قابلة للصيانة. إذا كنت تريد Next.js App Router أو React SPA، فهذه عمليات هبوط مختلفة لـ Stripe.
الميزات الأساسية
قم بإنشاء PaymentIntents باستخدام حزمة Stripe Node داخل خدمة NestJS. يأتي المفتاح السري من ConfigService / env - وليس من DTO الذي ينشره العميل، ولا من حزمة الواجهة الأمامية أبدًا.
stripe.webhooks.constructEvent يحتاج إلى وحدات البايت الدقيقة التي وقع عليها Stripe. نقوم بتمكين Nest RawBody (أو محلل Fastify الخام) على هذا الطريق. تحليل JSON أولاً هو كيفية فشل عمليات تكامل NestJS Stripe في الإنتاج.
يتم تنفيذ الاستيفاء في معالج NestJS بعد نجاح buildEvent، وليس بعد صفحة الشكر. نقوم بتحديث سجل طلبك أو استحقاقك الحالي بحيث تعكس واجهة برمجة التطبيقات (API) التي كشفت عنها بالفعل الحالة المدفوعة.
قم بشحن NestJS مع مفاتيح اختبار Stripe وسر webhook أولاً. إن بدء البث المباشر عبارة عن تغيير موثق لنقطة النهاية لـ env وDashboard، وليس ترخيصًا إضافيًا.
إعادة محاولة Stripe. يقوم معالج NestJS بإيقاف تشغيل events.id (أو معرف PaymentIntent) حتى لا يتم استيفاء POST المكرر بشكل مزدوج.
يتلقى تطبيق React أو Next.js أو تطبيق الهاتف المحمول فقط مفتاحًا قابلاً للنشر وclient_secret قصير العمر من NestJS API. هذه الوظيفة الإضافية هي مسار خادم NestJS، وليست العناصر الموجودة داخل Nest.
حالات الاستخدام
لقد قمت بالفعل بإنشاء طلبات في NestJS وتحتاج إلى واجهة برمجة التطبيقات لإنشاء PaymentIntents ووضع علامة على تلك الطلبات المدفوعة من خطافات الويب.
أنت بحاجة إلى وحدة Stripe قابلة للصيانة في NestJS، ومصدر في مستودع العميل، ومفتاح مباشر موثق بدلاً من نص Express لمرة واحدة يتم إسقاطه في main.ts.
يقوم NestJS بإنشاء PaymentIntent الأول أو إرفاق طريقة دفع. تظل الفواتير Stripeية المتكررة وبوابة العميل على الخادم. قد تحتاج أعمال الفواتير الثقيلة إلى عرض أسعار مخصص.
يقوم Next.js أو React أو الهاتف المحمول باستدعاء NestJS API بالفعل. إن Stripe Integration لـ NestJS هو جانب واجهة برمجة التطبيقات (API) فقط - الواجهة الأمامية Stripe.js عبارة عن منصة مختلفة إذا كنت بحاجة إلى ذلك أيضًا.
عرض
قم بمعاينة مسار خادم NestJS: أنشئ PaymentIntent، واستلم POST /webhooks/stripe، وقم ببناء الحدث على RawBody، وقم بتحديث حالة الطلب. يتوفر وضع الحماية المباشر لحساب Stripe الخاص بك بعد التحقق من التوافق. لا تعالج هذه الصفحة الرسوم الحقيقية ولا تجمع البطاقات في NestJS.
كيف يعمل
سير عمل الوظيفة الإضافية Bacodo القياسي، مع عمليات التحقق الخاصة بـ NestJS لـ Express vs Fastify، وrawBody، وConfigModule، وORM التي تستخدمها خدماتك بالفعل.
01
قم بتأكيد تكامل Stripe لـ NestJS وما إذا كان اليوم الأول هو PaymentIntents أو Checkout Sessions أو كليهما على NestJS API.
02
قم بمراجعة إصدارات NestJS / Node، ومحول HTTP (Express default أو Fastify)، واستمرار الأمر الحالي، وحراس المصادقة، وما إذا كان لديك بالفعل حساب Stripe.
03
أضف الحزمة Stripeية، ووحدة المدفوعات، ونقطة نهاية إنشاء النية، ووحدة التحكم في خطاف الويب التي تتحقق من التوقيعات على النص الأساسي.
04
Wire ConfigService من env: المفتاح السري، والمفتاح القابل للنشر للعملاء، وسر خطاف الويب، وشريط URL العام لـ HTTPS سيتم الاتصال به.
05
قم بتشغيل أحداث اختبار Stripe CLI أو Dashboard مقابل خطاف الويب NestJS، بالإضافة إلى مسارات إنشاء النية والرفض. تأكد من فشل نص JSON الذي تم تحليله في التوقيع كما هو متوقع.
06
قم بتوصيل مصدر NestJS وملاحظات البيئة وقائمة التحقق من المفاتيح المباشرة. إن تطبيق NestJS هو ملكك للمحافظة عليه.
الهندسة
تحتوي عملية NestJS على المفتاح السري. يطلب العملاء من وحدة تحكم NestJS إنشاء PaymentIntent. يقوم Stripe بإعلام NestJS عن طريق webhook. يتحقق NestJS من التوقيع على RawBody، ثم يكتب حالة الطلب.
التقنيات المدعومة
NestJS الحالي على Node LTS الذي يقبله شريط SDK. محول HTTP الافتراضي هو Express. يتم تضمين Fastify فقط إذا كانت هذه هي الطريقة التي يتم بها تشغيل تطبيق NestJS بالفعل ووافقنا عليها في التحقق من التوافق.
PaymentIntents وجلسات الدفع وwebhooks.constructEvent. نحن لا نصنع غلافًا غير رسمي للمنتج إلا إذا طلبت ذلك صراحةً.
تظل تحديثات الطلب أو الاستحقاق موجودة على Prisma أو TypeORM أو MikroORM أو المستودع الموجود لديك بالفعل. هذه الوظيفة الإضافية لا تخترع قاعدة بيانات جديدة.
حساب Stripe الخاص بك، والمفاتيح الاختبارية والمباشرة التي تستخدمها NestJS، ونقطة نهاية webhook، وأحداث Dashboard. تبقى رسوم معالجة Stripe مع Stripe.
مضيف يمكنه تشغيل Node واستقبال منشورات HTTPS من Stripe. لا يمكن لموقع ثابت فقط أو تصدير Next.js فقط استضافة مسار خطاف الويب NestJS هذا.
ما الذي يتضمنه
Pricing
هذا السعر مخصص لمنصة NestJS فقط. ولا يستخدم تسعير الوظائف الإضافية Next.js أو Django أو FastAPI أو React أو Flutter.
تكامل Stripe لـ NestJS
أضف Stripe PaymentIntents الجاهزة للإنتاج وخطافات الويب الموقعة إلى واجهة برمجة تطبيقات NestJS الحالية واحتفظ بكود المصدر.
المتطلبات
$175
دفعة واحدةNestJS
تحتاجون فرونت إند؟
دفع آمن عبرstripe
التسليم والأمان
يتم تحديد نطاق تكامل NestJS Stripe النموذجي بعد التحقق من توافق NestJS. يعتمد المخطط الزمني على محول HTTP الخاص بك، وحراس المصادقة، وكيفية اتصال العملاء بـ NestJS.
يتم تطبيق PaymentIntents في وضع الاختبار وتوقيعات webhook وعمليات إعادة المحاولة ومسارات الرفض على تطبيق NestJS قبل التسليم.
تظل المفاتيح السرية وأسرار توقيع خطاف الويب في بيئة الخادم. يتلقى العملاء فقط مفتاحًا قابلاً للنشر أو Client_secret قصير العمر.
تتحقق وحدة تحكم NestJS webhook من التوقيعات Stripeية على النص الأساسي قبل تحديث حالة الطلب أو الاستحقاق.
نحن لا نطالب بالحصول على شهادة PCI، أو عدم الاحتيال، أو معدلات الموافقة المضمونة. لا يقوم NestJS بتخزين PAN. يتم جمع بيانات البطاقة عن طريق Stripe Checkout أو Elements على العميل، وليست بطاقة NestJS مخصصة DTO التي نستمر فيها.
الأسئلة الشائعة
يتضمن Stripe Integration لـ NestJS شريط Node SDK الرسمي، ووحدة NestJS Payments، وخدمة create-PaymentIntent، ووحدة تحكم webhook التي تستدعي buildEvent على النص الأساسي، وتحديثات حالة الطلب في متجرك الحالي، والاختبارات مقابل أحداث اختبار Stripe، وملاحظات التسليم. تتلقى مصدر NestJS في مشروعك. رسوم Stripe وحساب Stripe الخاص بك منفصلان.
نعم. تم تصميم Stripe Integration for NestJS خصيصًا لواجهة برمجة تطبيقات NestJS الموجودة لديك بالفعل. نحن نلائم وحدة نمطية ووحدة تحكم وConfigService env في تطبيق NestJS الحالي الخاص بك بدلاً من شحن مستودع تجريبي منفصل باعتباره التسليم.
لا، يجب ألا يقوم NestJS بتخزين PAN. يستخدم العملاء Stripe Checkout أو Elements. يمتلك Stripe Integration لـ NestJS طرق الدفع وخطافات الويب وكتابة الطلبات من جانب الخادم. يعد NestJS DTO المخصص الذي ينشر بيانات البطاقة الأولية خارج النطاق الافتراضي.
يستخدم Stripe Integration لـ NestJS مكتبة العقد Stripeية الرسمية لـ PaymentIntents وجلسات Checkout وwebhooks.constructEvent. نحن لا نصنع غلافًا غير رسمي للمنتج إلا إذا طلبت ذلك صراحةً.
يتحقق stripe.webhooks.constructEvent من البايتات الدقيقة التي وقعها Stripe. يقوم محلل JSON الافتراضي الخاص بـ Nest بتغيير هذا الجسم. يتيح تكامل Stripe لـ NestJS إمكانية استخدام RawBody (أو محلل Fastify الخام) على مسار خطاف الويب. باستخدام @Body() هناك كيفية فشل عمليات التحقق من توقيع NestJS في الإنتاج.
يفترض تكامل Stripe الافتراضي لـ NestJS أن المحول السريع الذي يأتي معه Nest. يتم تضمين Fastify فقط إذا كان تطبيق NestJS الخاص بك يعمل بالفعل باستخدام FastifyAdapter ونوافق على مسار الجسم الأولي أثناء فحص توافق NestJS.
يمكن لـ NestJS إنشاء PaymentIntent أو جلسة Checkout وتخزين معرف عميل Stripe. تظل منتجات الفوترة Stripeية المتكررة وبوابة العملاء ومنطق الفاتورة على الخادم. قد يحتاج عمل NestJS كثيف الاشتراك إلى عرض أسعار مخصص.
تستخدم عملية NestJS المفتاح السري وسر التوقيع على الويب من ConfigService/متغيرات البيئة. يتلقى العملاء فقط المفتاح القابل للنشر. لا يضع Stripe Integration لـ NestJS مفاتيح سرية في DTOs أو حزمة الواجهة الأمامية.
نقوم بتنفيذ Stripe Integration لـ NestJS مقابل مفاتيح اختبار Stripe واختبار أحداث webhook أولاً. يعد البث المباشر بمثابة تبديل موثق للمفتاح ونقطة النهاية في Stripe Dashboard وNestJS env، وليس تنشيطًا لترخيص إضافي.
يقوم NestJS بإنشاء PaymentIntents التي تدعم SCA. يكمل العميل خدمة 3-D Secure باستخدام Stripe.js أو Checkout. يتم تنفيذ NestJS فقط بعد نجاح Payment_intent. على خطاف الويب، وليس بعد إعادة توجيه المتصفح وحده.
نعم للتنفيذ بعد جلسة PaymentIntent أو Checkout التي أنشأها NestJS. إن استجابة NestJS 201 للعميل ليست مصدر الحقيقة. تتحقق وحدة التحكم في webhook من التوقيعات ثم تحدد الطلب المدفوع.
نعم. عادةً ما يضيف Stripe Integration لـ NestJS حقولًا أو سجل دفع رفيع بجوار نموذج طلب NestJS الموجود لديك بدلاً من استبدال Prisma أو TypeORM أو MikroORM.
لا، أنت تقوم بإنشاء وامتلاك حساب Stripe ومفاتيح API ورسوم معالجة Stripe. سعر الوظيفة الإضافية لـ NestJS هو التنفيذ في مشروع NestJS الخاص بك، وليس ترخيص دفع Bacodo.
لا، NestJS عبارة عن واجهة برمجة تطبيقات Node مستقلة. جهاز توجيه التطبيق Next.js ومعالجات المسار عبارة عن تكامل شريطي لـ Next.js. لا نقوم بإعادة كتابة NestJS API في Next.js داخل سعر الوظيفة الإضافية NestJS هذا.
نعم. تتم محاذاة البيانات التعريفية لـ PaymentIntent أو Checkout Session وسجلات العملاء والحقول التي تستمر فيها بعد تأكيد خطاف الويب مع نموذج طلب NestJS الحالي أثناء تكامل Stripe لـ NestJS.
مصدر NestJS موجود في الريبو الخاص بك، حتى يتمكن فريقك من الحفاظ عليه. يغطي الدعم المضمن لمدة 30 يومًا الأسئلة الفنية والعيوب في تكامل Stripe الذي تم تسليمه لنطاق NestJS، وليس عمل ميزات NestJS غير ذي الصلة.
خلال فترة 30 يومًا، نساعد في حل العطل في تكامل NestJS الذي تم تسليمه بسبب واجهة برمجة تطبيقات Stripe الموثقة أو تغيير الحزمة Stripeية. ترقيات NestJS المستمرة بعد ذلك هي الصيانة الخاصة بك، أو الدعم الفني الموسع إذا قمت بشرائه.
نقوم بتوثيق كيفية قراءة حالة PaymentIntent وسجلات Stripe Dashboard وتسليم خطاف الويب NestJS. يتضمن الدعم لمدة 30 يومًا استكشاف أخطاء فشل التوقيع وإصلاحها (عادةً RawBody)، وإعادة المحاولة، والمفاتيح التي تمت تهيئتها بشكل خاطئ لتدفق NestJS الذي تم تسليمه.
لقد قمنا بتأكيد إصدارات NestJS وNode LTS الخاصة بك مقابل إصدار Stripe الذي نقوم بتثبيته في وقت التكامل. قد تحتاج أوقات تشغيل NestJS الأقدم أو المتشعبة بشدة إلى نطاق إضافي.
يتم تضمين 30 يومًا بعد التسليم لمسار NestJS Stripe الذي تم تسليمه. يعد الدعم الفني الممتد اختياريًا بنسبة 20% من سعر الوظيفة الإضافية لـ NestJS ويغطي ستة أشهر أخرى من المساعدة الفنية بشأن نفس تكامل NestJS، وليس بناء منتج جديد.
أضف مدفوعات Stripe الجاهزة للإنتاج إلى NestJS API الموجودة لديك، واحتفظ بكود المصدر، واترك الخادم يتولى التنفيذ.
$175