BacodoBACODO

الوظيفة الإضافية NestJS

تكامل Stripe لـ NestJS

قم بإضافة Node SDK Stripeي الرسمي، ووحدة المدفوعات، ووحدة التحكم في خطاف الويب التي تتحقق من توقيع Stripe على النص الأساسي. NestJS هي واجهة برمجة التطبيقات - فهي لا تقوم بتثبيت عنصر الدفع وليست معالجات مسار Next.js.

  • تم تضمين كود المصدر الكامل لك بشكل دائم
  • لا يلزم وجود مفتاح ترخيص إضافي أو ترخيص متكرر
  • جاهز للإنتاج وتم اختباره
  • مدمج في مشروع NestJS الحالي والمكدس
  • يشمل الدعم الفني لمدة 30 يومًا بعد التسليم
  • دعم فني اختياري ممتد لمدة 6 أشهر بخصم 20% من سعر الوظيفة الإضافية

من

$175

USD · NestJS

عرض تجريبي

تكامل Stripe لـ NestJS · NestJS

كود المصدر الكامللا يوجد مفتاح الترخيصجاهز للإنتاجالتكامل الذي تم اختبارهدعم لمدة 30 يومًا

Requirements

What تكامل Stripe لـ NestJS needs

  • مشروع NestJS قائم
  • الوصول إلى Stripe Test Mode
  • يلزم فرونت إند لواجهة الدفع

لا يلزم الوصول إلى المستودع. نحتاج صلاحية المشروع فقط إذا رغبتم أن تُدمج Bacodo الإضافة مباشرة.

ماذا يفعل

شريط على NestJS API الخاص بك - وحدة التحكم ليست نموذج بطاقة

يقوم 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.

الميزات الأساسية

ما يشمله تكامل Stripe لـ NestJS

شريط SDK الرسمي في موفر NestJS

قم بإنشاء PaymentIntents باستخدام حزمة Stripe Node داخل خدمة NestJS. يأتي المفتاح السري من ConfigService / env - وليس من DTO الذي ينشره العميل، ولا من حزمة الواجهة الأمامية أبدًا.

وحدة تحكم Webhook تستخدم RawBody، وليس @Body()

stripe.webhooks.constructEvent يحتاج إلى وحدات البايت الدقيقة التي وقع عليها Stripe. نقوم بتمكين Nest RawBody (أو محلل Fastify الخام) على هذا الطريق. تحليل JSON أولاً هو كيفية فشل عمليات تكامل NestJS Stripe في الإنتاج.

حالة طلب NestJS بعد نجاح Payment_intent

يتم تنفيذ الاستيفاء في معالج NestJS بعد نجاح buildEvent، وليس بعد صفحة الشكر. نقوم بتحديث سجل طلبك أو استحقاقك الحالي بحيث تعكس واجهة برمجة التطبيقات (API) التي كشفت عنها بالفعل الحالة المدفوعة.

وضع اختبار NestJS ثم مفاتيح Stripe المباشر

قم بشحن NestJS مع مفاتيح اختبار Stripe وسر webhook أولاً. إن بدء البث المباشر عبارة عن تغيير موثق لنقطة النهاية لـ env وDashboard، وليس ترخيصًا إضافيًا.

التعامل مع خطاف الويب NestJS Idempotent

إعادة محاولة Stripe. يقوم معالج NestJS بإيقاف تشغيل events.id (أو معرف PaymentIntent) حتى لا يتم استيفاء POST المكرر بشكل مزدوج.

يظل عملاء NestJS عملاء

يتلقى تطبيق React أو Next.js أو تطبيق الهاتف المحمول فقط مفتاحًا قابلاً للنشر وclient_secret قصير العمر من NestJS API. هذه الوظيفة الإضافية هي مسار خادم NestJS، وليست العناصر الموجودة داخل Nest.

حالات الاستخدام

متى يناسب تكامل Stripe لـ NestJS

واجهة برمجة تطبيقات التجارة أو الحجز الموجودة في NestJS

لقد قمت بالفعل بإنشاء طلبات في NestJS وتحتاج إلى واجهة برمجة التطبيقات لإنشاء PaymentIntents ووضع علامة على تلك الطلبات المدفوعة من خطافات الويب.

تقوم الوكالة بتسليم واجهة برمجة تطبيقات عميل NestJS إلى الإنتاج

أنت بحاجة إلى وحدة Stripe قابلة للصيانة في NestJS، ومصدر في مستودع العميل، ومفتاح مباشر موثق بدلاً من نص Express لمرة واحدة يتم إسقاطه في main.ts.

يتم إصدار فاتورة SaaS من خلال NestJS API

يقوم NestJS بإنشاء PaymentIntent الأول أو إرفاق طريقة دفع. تظل الفواتير Stripeية المتكررة وبوابة العميل على الخادم. قد تحتاج أعمال الفواتير الثقيلة إلى عرض أسعار مخصص.

NestJS خلف واجهة أمامية منفصلة

يقوم Next.js أو React أو الهاتف المحمول باستدعاء NestJS API بالفعل. إن Stripe Integration لـ NestJS هو جانب واجهة برمجة التطبيقات (API) فقط - الواجهة الأمامية Stripe.js عبارة عن منصة مختلفة إذا كنت بحاجة إلى ذلك أيضًا.

عرض

معاينة مسار خطاف الويب NestJS Stripe

قم بمعاينة مسار خادم NestJS: أنشئ PaymentIntent، واستلم POST /webhooks/stripe، وقم ببناء الحدث على RawBody، وقم بتحديث حالة الطلب. يتوفر وضع الحماية المباشر لحساب Stripe الخاص بك بعد التحقق من التوافق. لا تعالج هذه الصفحة الرسوم الحقيقية ولا تجمع البطاقات في NestJS.

كيف يعمل

كيف يتم تسليم تكامل Stripe لـ NestJS

سير عمل الوظيفة الإضافية Bacodo القياسي، مع عمليات التحقق الخاصة بـ NestJS لـ Express vs Fastify، وrawBody، وConfigModule، وORM التي تستخدمها خدماتك بالفعل.

  1. 01

    حدد شريط NestJS

    قم بتأكيد تكامل Stripe لـ NestJS وما إذا كان اليوم الأول هو PaymentIntents أو Checkout Sessions أو كليهما على NestJS API.

  2. 02

    التحقق من توافق NestJS

    قم بمراجعة إصدارات NestJS / Node، ومحول HTTP (Express default أو Fastify)، واستمرار الأمر الحالي، وحراس المصادقة، وما إذا كان لديك بالفعل حساب Stripe.

  3. 03

    الاندماج في NestJS

    أضف الحزمة Stripeية، ووحدة المدفوعات، ونقطة نهاية إنشاء النية، ووحدة التحكم في خطاف الويب التي تتحقق من التوقيعات على النص الأساسي.

  4. 04

    قم بتكوين تطبيق NestJS

    Wire ConfigService من env: المفتاح السري، والمفتاح القابل للنشر للعملاء، وسر خطاف الويب، وشريط URL العام لـ HTTPS سيتم الاتصال به.

  5. 05

    اختبر مسار الدفع NestJS

    قم بتشغيل أحداث اختبار Stripe CLI أو Dashboard مقابل خطاف الويب NestJS، بالإضافة إلى مسارات إنشاء النية والرفض. تأكد من فشل نص JSON الذي تم تحليله في التوقيع كما هو متوقع.

  6. 06

    تسليم مصدر NestJS

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

الهندسة

كيف يتصل Stripe بمشروع NestJS

تحتوي عملية NestJS على المفتاح السري. يطلب العملاء من وحدة تحكم NestJS إنشاء PaymentIntent. يقوم Stripe بإعلام NestJS عن طريق webhook. يتحقق NestJS من التوقيع على RawBody، ثم يكتب حالة الطلب.

تطبيق العميلوحدة تحكم NestJSعقدة Stripe SDKنوايا الدفع Stripeيةخطاف الويب → NestJS RawBodyORM/المستودع الخاص بك

التقنيات المدعومة

ما يستخدمه تكامل Stripe لـ NestJS فعليًا

NestJS على Node.js

NestJS الحالي على Node LTS الذي يقبله شريط SDK. محول HTTP الافتراضي هو Express. يتم تضمين Fastify فقط إذا كانت هذه هي الطريقة التي يتم بها تشغيل تطبيق NestJS بالفعل ووافقنا عليها في التحقق من التوافق.

مكتبة عقدة Stripe الرسمية

PaymentIntents وجلسات الدفع وwebhooks.constructEvent. نحن لا نصنع غلافًا غير رسمي للمنتج إلا إذا طلبت ذلك صراحةً.

استمرار NestJS الخاص بك

تظل تحديثات الطلب أو الاستحقاق موجودة على Prisma أو TypeORM أو MikroORM أو المستودع الموجود لديك بالفعل. هذه الوظيفة الإضافية لا تخترع قاعدة بيانات جديدة.

حساب شريطي لواجهة برمجة تطبيقات NestJS

حساب Stripe الخاص بك، والمفاتيح الاختبارية والمباشرة التي تستخدمها NestJS، ونقطة نهاية webhook، وأحداث Dashboard. تبقى رسوم معالجة Stripe مع Stripe.

مطلوب استضافة NestJS

مضيف يمكنه تشغيل Node واستقبال منشورات HTTPS من Stripe. لا يمكن لموقع ثابت فقط أو تصدير Next.js فقط استضافة مسار خطاف الويب NestJS هذا.

ما الذي يتضمنه

ما يتضمنه تكامل Stripe لـ NestJS

  • التكامل في مشروع NestJS الحالي
  • كود المصدر الكامل في المستودع الخاص بك
  • ConfigModule env ووحدة المدفوعات ووحدة التحكم في webhook
  • تقوم PaymentIntent أو Checkout Session بإنشاء المسار الذي تحتاجه واجهة برمجة التطبيقات هذه
  • ملاحظات RawBody/المحول حتى يتم التحقق من إنشاء الحدث فعليًا
  • تم اختبار خطاف الويب NestJS وتدفقات النية قبل التسليم
  • ملاحظات التسليم للاختبار مدى الحياة
  • دعم فني لمدة 30 يومًا بعد التسليم

ليس في السعر الإضافي

  • حساب Stripe، ومفاتيح API، ورسوم معالجة Stripe - أنت تمتلكها
  • واجهة متجر جديدة أو واجهة مستخدم Stripe.js — NestJS هي واجهة برمجة التطبيقات
  • إعادة الكتابة من NestJS إلى معالجات الطريق Next.js
  • Marketplace Connect أو منتجات الفوترة المخصصة أو استبدال الشراء داخل التطبيق ما لم يتم تصنيفها على أنها عمل مخصص

Pricing

تكامل Stripe لتسعير NestJS

هذا السعر مخصص لمنصة NestJS فقط. ولا يستخدم تسعير الوظائف الإضافية Next.js أو Django أو FastAPI أو React أو Flutter.

تكامل Stripe لـ NestJS

أضف Stripe PaymentIntents الجاهزة للإنتاج وخطافات الويب الموقعة إلى واجهة برمجة تطبيقات NestJS الحالية واحتفظ بكود المصدر.

المتطلبات

  • مشروع NestJS قائم
  • الوصول إلى Stripe Test Mode
  • يلزم فرونت إند لواجهة الدفع

$175

دفعة واحدة

NestJS

تحتاجون فرونت إند؟

  • الشيفرة المصدرية كاملة
  • بدون رسوم ترخيص
  • دعم لمدة 30 يوماً
  • تكامل كامل

دفع آمن عبرstripe

التسليم والأمان

ممارسات التسليم والأمن في NestJS

تسليم NestJS المقدر

يتم تحديد نطاق تكامل NestJS Stripe النموذجي بعد التحقق من توافق NestJS. يعتمد المخطط الزمني على محول HTTP الخاص بك، وحراس المصادقة، وكيفية اتصال العملاء بـ NestJS.

تم اختباره على NestJS قبل التسليم

يتم تطبيق PaymentIntents في وضع الاختبار وتوقيعات webhook وعمليات إعادة المحاولة ومسارات الرفض على تطبيق NestJS قبل التسليم.

تبقى أسرار Stripe في NestJS ConfigService

تظل المفاتيح السرية وأسرار توقيع خطاف الويب في بيئة الخادم. يتلقى العملاء فقط مفتاحًا قابلاً للنشر أو Client_secret قصير العمر.

التحقق من Webhook قبل أن يكتب NestJS

تتحقق وحدة تحكم NestJS webhook من التوقيعات Stripeية على النص الأساسي قبل تحديث حالة الطلب أو الاستحقاق.

لا توجد مطالبات أمنية غير قابلة للتحقق من NestJS

نحن لا نطالب بالحصول على شهادة PCI، أو عدم الاحتيال، أو معدلات الموافقة المضمونة. لا يقوم NestJS بتخزين PAN. يتم جمع بيانات البطاقة عن طريق Stripe Checkout أو Elements على العميل، وليست بطاقة NestJS مخصصة DTO التي نستمر فيها.

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

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

ماذا يتضمن تكامل Stripe لـ NestJS؟

يتضمن Stripe Integration لـ NestJS شريط Node SDK الرسمي، ووحدة NestJS Payments، وخدمة create-PaymentIntent، ووحدة تحكم webhook التي تستدعي buildEvent على النص الأساسي، وتحديثات حالة الطلب في متجرك الحالي، والاختبارات مقابل أحداث اختبار Stripe، وملاحظات التسليم. تتلقى مصدر NestJS في مشروعك. رسوم Stripe وحساب Stripe الخاص بك منفصلان.

هل ستقوم بدمج Stripe في مشروع NestJS الحالي لدينا؟

نعم. تم تصميم Stripe Integration for NestJS خصيصًا لواجهة برمجة تطبيقات NestJS الموجودة لديك بالفعل. نحن نلائم وحدة نمطية ووحدة تحكم وConfigService env في تطبيق NestJS الحالي الخاص بك بدلاً من شحن مستودع تجريبي منفصل باعتباره التسليم.

هل يجمع Stripe Integration for NestJS أرقام البطاقات في NestJS؟

لا، يجب ألا يقوم NestJS بتخزين PAN. يستخدم العملاء Stripe Checkout أو Elements. يمتلك Stripe Integration لـ NestJS طرق الدفع وخطافات الويب وكتابة الطلبات من جانب الخادم. يعد NestJS DTO المخصص الذي ينشر بيانات البطاقة الأولية خارج النطاق الافتراضي.

ما هي حزمة Stripe التي يستخدمها Stripe Integration لـ NestJS؟

يستخدم Stripe Integration لـ NestJS مكتبة العقد Stripeية الرسمية لـ PaymentIntents وجلسات Checkout وwebhooks.constructEvent. نحن لا نصنع غلافًا غير رسمي للمنتج إلا إذا طلبت ذلك صراحةً.

لماذا يصر تكامل Stripe لـ NestJS على RawBody؟

يتحقق stripe.webhooks.constructEvent من البايتات الدقيقة التي وقعها Stripe. يقوم محلل JSON الافتراضي الخاص بـ Nest بتغيير هذا الجسم. يتيح تكامل Stripe لـ NestJS إمكانية استخدام RawBody (أو محلل Fastify الخام) على مسار خطاف الويب. باستخدام @Body() هناك كيفية فشل عمليات التحقق من توقيع NestJS في الإنتاج.

هل تم تضمين Fastify في Stripe Integration لـ NestJS؟

يفترض تكامل Stripe الافتراضي لـ NestJS أن المحول السريع الذي يأتي معه Nest. يتم تضمين Fastify فقط إذا كان تطبيق NestJS الخاص بك يعمل بالفعل باستخدام FastifyAdapter ونوافق على مسار الجسم الأولي أثناء فحص توافق NestJS.

هل يمكن لـ Stripe Integration لـ NestJS جمع مدفوعات الاشتراك؟

يمكن لـ NestJS إنشاء PaymentIntent أو جلسة Checkout وتخزين معرف عميل Stripe. تظل منتجات الفوترة Stripeية المتكررة وبوابة العملاء ومنطق الفاتورة على الخادم. قد يحتاج عمل NestJS كثيف الاشتراك إلى عرض أسعار مخصص.

أين توجد مفاتيح Stripe القابلة للنشر والمفاتيح السرية في تطبيق NestJS؟

تستخدم عملية NestJS المفتاح السري وسر التوقيع على الويب من ConfigService/متغيرات البيئة. يتلقى العملاء فقط المفتاح القابل للنشر. لا يضع Stripe Integration لـ NestJS مفاتيح سرية في DTOs أو حزمة الواجهة الأمامية.

كيف يعمل وضع اختبار Stripe والوضع المباشر في NestJS؟

نقوم بتنفيذ Stripe Integration لـ NestJS مقابل مفاتيح اختبار Stripe واختبار أحداث webhook أولاً. يعد البث المباشر بمثابة تبديل موثق للمفتاح ونقطة النهاية في Stripe Dashboard وNestJS env، وليس تنشيطًا لترخيص إضافي.

كيف يتعامل تكامل Stripe في NestJS مع 3-D Secure / SCA؟

يقوم NestJS بإنشاء PaymentIntents التي تدعم SCA. يكمل العميل خدمة 3-D Secure باستخدام Stripe.js أو Checkout. يتم تنفيذ NestJS فقط بعد نجاح Payment_intent. على خطاف الويب، وليس بعد إعادة توجيه المتصفح وحده.

هل يلزم استخدام خطافات الويب Stripeية من أجل الخروج من NestJS؟

نعم للتنفيذ بعد جلسة PaymentIntent أو Checkout التي أنشأها NestJS. إن استجابة NestJS 201 للعميل ليست مصدر الحقيقة. تتحقق وحدة التحكم في webhook من التوقيعات ثم تحدد الطلب المدفوع.

هل يمكننا الاحتفاظ بـ Prisma أو TypeORM مع Stripe Integration لـ NestJS؟

نعم. عادةً ما يضيف Stripe Integration لـ NestJS حقولًا أو سجل دفع رفيع بجوار نموذج طلب NestJS الموجود لديك بدلاً من استبدال Prisma أو TypeORM أو MikroORM.

هل يشمل سعر Stripe Integration لـ NestJS حساب Stripe أو الرسوم؟

لا، أنت تقوم بإنشاء وامتلاك حساب Stripe ومفاتيح API ورسوم معالجة Stripe. سعر الوظيفة الإضافية لـ NestJS هو التنفيذ في مشروع NestJS الخاص بك، وليس ترخيص دفع Bacodo.

هل تكامل Stripe لـ NestJS هو نفس معالجات مسار Next.js؟

لا، NestJS عبارة عن واجهة برمجة تطبيقات Node مستقلة. جهاز توجيه التطبيق Next.js ومعالجات المسار عبارة عن تكامل شريطي لـ Next.js. لا نقوم بإعادة كتابة NestJS API في Next.js داخل سعر الوظيفة الإضافية NestJS هذا.

هل يمكننا تخصيص إيصالات Stripe والبيانات التعريفية في NestJS؟

نعم. تتم محاذاة البيانات التعريفية لـ PaymentIntent أو Checkout Session وسجلات العملاء والحقول التي تستمر فيها بعد تأكيد خطاف الويب مع نموذج طلب NestJS الحالي أثناء تكامل Stripe لـ NestJS.

ما هو دعم NestJS المضمن بعد تسليم Stripe؟

مصدر NestJS موجود في الريبو الخاص بك، حتى يتمكن فريقك من الحفاظ عليه. يغطي الدعم المضمن لمدة 30 يومًا الأسئلة الفنية والعيوب في تكامل Stripe الذي تم تسليمه لنطاق NestJS، وليس عمل ميزات NestJS غير ذي الصلة.

كيف يتم التعامل مع تحديثات Stripe أو NestJS بعد التكامل؟

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

ماذا لو فشلت مدفوعات Stripe في تطبيق NestJS للإنتاج؟

نقوم بتوثيق كيفية قراءة حالة PaymentIntent وسجلات Stripe Dashboard وتسليم خطاف الويب NestJS. يتضمن الدعم لمدة 30 يومًا استكشاف أخطاء فشل التوقيع وإصلاحها (عادةً RawBody)، وإعادة المحاولة، والمفاتيح التي تمت تهيئتها بشكل خاطئ لتدفق NestJS الذي تم تسليمه.

ما هي إصدارات NestJS المتوافقة مع Stripe Integration لـ NestJS؟

لقد قمنا بتأكيد إصدارات NestJS وNode LTS الخاصة بك مقابل إصدار Stripe الذي نقوم بتثبيته في وقت التكامل. قد تحتاج أوقات تشغيل NestJS الأقدم أو المتشعبة بشدة إلى نطاق إضافي.

ما هو الدعم لمدة 30 يومًا مقابل الدعم الفني الممتد لمدة 6 أشهر لتكامل Stripe لـ NestJS؟

يتم تضمين 30 يومًا بعد التسليم لمسار NestJS Stripe الذي تم تسليمه. يعد الدعم الفني الممتد اختياريًا بنسبة 20% من سعر الوظيفة الإضافية لـ NestJS ويغطي ستة أشهر أخرى من المساعدة الفنية بشأن نفس تكامل NestJS، وليس بناء منتج جديد.

تكامل Stripe لـ NestJS

أضف مدفوعات Stripe الجاهزة للإنتاج إلى NestJS API الموجودة لديك، واحتفظ بكود المصدر، واترك الخادم يتولى التنفيذ.

$175