بيع الدورات التكوينية عبر الإنترنت في المغرب: الاستخلاص ثم منح الولوج بعد الأداء
بيع الدورات التكوينية عبر الإنترنت في المغرب: بيع بالوحدة، أو فوج بمقاعد محدودة، أو اشتراك شهري، مع منح الولوج عند الويب هوك وسياسة استرداد واضحة.
بيع الدورات التكوينية عبر الإنترنت في المغرب يبدأ باختيار نموذج البيع، ثم بربط الولوج بدليل الأداء. للبيع بالوحدة — كتاب إلكتروني، أو دورة مسجّلة، أو حصة كوتشينغ — يكفي رابط دفع أو صفحة منتج. ولفوج بمقاعد محدودة، رابط لاستعمال واحد لكل مسجَّل، بأجل نهائي إن كان يُؤدّى بالبطاقة. وللاشتراك الشهري، اشتراك: رابط دفع يُرسَل بالبريد الإلكتروني عند كل استحقاق. وفي الحالات الثلاث، يؤدي الزبون بالدرهم في صفحة مستضافة، ودليلُ الأداء — لا العودة إلى موقعكم أبدًا — هو ما يفتح الولوج. يفصّل هذا الدليل كل نموذج، وطريقة منح الولوج للمتعلّم الصحيح، وسياسة الاسترداد.
بيع الدورات التكوينية عبر الإنترنت في المغرب: ثلاثة نماذج وثلاث أدوات
ChariPay منصة دفع مغربية، مزوّد خدمات دفع (PSP) تشغّله Chari Money، مؤسسة أداء مرخَّصة من بنك المغرب. وهي تستخلص؛ لا تعوّض منصة دوراتكم ولا مجموعتكم الخاصة ولا أداة إرسال ملفاتكم، وليست مربوطة بها تلقائيًا. ومهمتكم هي الربط بين الطرفين: حين يتمّ الأداء، تفتحون الولوج. وكل شيء بالدرهم المغربي (MAD)، دون أي تحويل للعملة.
| النموذج | أداة ChariPay | ما يُطلق الولوج |
|---|---|---|
| البيع بالوحدة: كتاب إلكتروني، نماذج، دورة مسجّلة، حصة كوتشينغ | رابط دفع، أو صفحة منتج في المتجر المستضاف | الأداء بالبطاقة: payment.succeeded (الرابط) أو order.paid (المتجر) |
| فوج بمقاعد محدودة: معسكر تكويني، ورشة عبر الإنترنت، فوج الدخول | رابط لاستعمال واحد لكل مسجَّل، بتاريخ انتهاء إن كان يُؤدّى بالبطاقة، أو منتج بمخزون | الأداء بالبطاقة: payment.succeeded (الرابط) أو order.paid (المتجر)؛ النقد عبر رابط: يصبح الرابط «مدفوعًا» |
| اشتراك شهري: نادٍ، مكتبة دورات، مواكبة | اشتراك: رابط دفع لكل استحقاق، يُرسَل بالبريد الإلكتروني | subscription.payment_succeeded |
ولجارين اثنين دليلهما الخاص. إن كنتم تنشرون برنامجًا يُباع بالاشتراك، مع فتح الولوج وقطعه تلقائيًا، فاقرؤوا فوترة SaaS في المغرب. وإن كنتم مؤسسة تعليمية، بأسر وسنة دراسية، فاقرؤوا أداء رسوم التمدرس عبر الإنترنت. أما هذا الدليل فموجّه إلى المكوِّن والكوتش وصانع المحتوى الذي يبيع معرفته عبر الإنترنت.
بيع المنتجات الرقمية بالوحدة: رابط أو صفحة منتج
لمنتج يُباع بالوحدة، أداتان.
رابط الدفع. رابط الدفع مبلغ ووصف؛ يدفع الزبون في صفحة تستضيفها ChariPay. ويُشارَك كرابط أو رمز QR أو ملصق PDF للطباعة أو بالبريد الإلكتروني أو واتساب. ومن بوابة التاجر، كل رابط دفع تنشئونه هو رابط لاستعمال واحد: رابط لكل مشترٍ، بثمن الدورة. أما الرابط القابل لإعادة الاستعمال — مبلغ واحد يؤدّيه عدة زبناء، وهو الذي يوضع في نبذة حساب أو نشرة بريدية أو مجموعة متعلّمين — فيُنشأ عبر API بـsingleUse: false؛ وبعد إنشائه يظهر في بوابة التاجر كباقي الروابط. والرابط يحمل مبلغًا ثابتًا: لسعر إطلاق أو لسعر الطلبة، أنشئوا رابطًا مستقلًا.
حدّ يجب معرفته: يعيد حدث أداء الرابط metadata الخاص بالرابط؛ وفي الرابط القابل لإعادة الاستعمال يكون إذن نفسه لكل المشترين — يخبركم بما بيع، لا بمن اشترى. ولربط كل أداء بمتعلّم بعينه — وهو أمر مهم بمجرد أن يكون الولوج شخصيًا — يبقى الرابط المخصّص لاستعمال واحد لكل متعلّم، المنشأ ببياناته، الخيار الأكثر أمانًا.
صفحة المنتج في المتجر المستضاف. لا موقع لكم بعد؟ انشروا منتجاتكم في واجهتكم المستضافة وتابعوا طلبياتكم — في انتظار الأداء، مدفوعة، مشحونة، مسلَّمة — من بوابة التاجر. فتصبح كل دورة منتجًا بسعره وصفحة بيعه، وكل شراء طلبية تتابعونها. وهذا هو السبيل، من دون مطوّر، لبيع الدورة نفسها مرات عديدة بالسعر نفسه: شاركوا رابط صفحتها. والشرح خطوة بخطوة في المتجر المستضاف.
وفي الحالتين، لا يسلّم الرابط ولا المتجر دورتكم: أنتم من يرسل الولوج، بعد تأكيد الأداء.
جرّبوا ذلك مع دورتكم الأولى قبل طرحها للبيع: ابدؤوا في وضع الاختبار. ثلاثة حقول (الاسم، والبريد الإلكتروني المهني، والمؤسسة)، ورابط تفعيل يصلكم بالبريد لاختيار كلمة المرور، ثم بوابة التاجر حيث تنشئون بأنفسكم مفتاح الاختبار. أنشئوا رابط دورتكم، وادفعوه ببطاقة الاختبار كما يفعل المتعلّم: لا يتحرك أي مال حقيقي.
فوج بمقاعد محدودة: رابط لكل مسجَّل وأجل نهائي
للفوج قيدان: عدد المقاعد وتاريخ الإغلاق. ورابط الدفع المخصّص لاستعمال واحد يستجيب للاثنين. فرابط الدفع يكون لاستعمال واحد أو قابلًا لإعادة الاستعمال، بمدة صلاحية تختارونها — 24 ساعة، 7 أيام، 30 يومًا، بلا انتهاء، أو تاريخ محدد — وبحالة واضحة: نشط، مدفوع، ملغى، منتهي الصلاحية.
الطريقة:
- 1رابط لاستعمال واحد لكل مسجَّل، بثمن الدورة، مع اسمه في الوصف.
- 2مدة صلاحية تنتهي في تاريخ محدد لرابط يُؤدّى بالبطاقة، عشية الانطلاق مثلًا، أو الأجل الذي أعلنتموه.
- 3عدد روابط يساوي عدد المقاعد: أنتم من يحدّد السقف، بعدم إنشاء رابط زائد.
- 4لائحة انتظار: حين تنتهي صلاحية رابط دون أداء، يعود المقعد إلى الشخص التالي، برابط جديد.
وخيار آخر إن كنتم تبيعون عبر المتجر المستضاف: منتج بمخزون اختياري يساوي عدد المقاعد، ولائحة الطلبيات المؤدّاة في بوابة التاجر.
وللرابط المخصّص لاستعمال واحد ميزة أخيرة في الفوج: ففي صفحته يستطيع المتعلّم أيضًا الأداء نقدًا في الوكالة. يختار النقد، ويتلقى مرجعًا، ويسدّده في وكالة من شبكة Chari، ويصلكم الإشعار بمجرد أن تؤكد الشبكة الإيداع. أما جلسة الدفع المنشأة عبر API فلا تقبل إلا البطاقة.
إعداد مهم هنا. في بوابة التاجر، تفعيل خيار «Paiement en agence» (الأداء في الوكالة) على رابط يعطّل مدة صلاحيته: يبقى الرابط قابلًا للأداء بلا حدّ زمني. فالرابط الذي يحمل تاريخ انتهاء يُقدَّم إذن كرابط يُؤدّى بالبطاقة؛ ولمتعلّم يؤدّي نقدًا، أنشئوا رابطًا بهذا الخيار، دون مدة صلاحية. أما باقي الإعدادات فموصوفة في صفحة روابط الدفع.
الاشتراك الشهري: رابط دفع عند كل استحقاق
نادٍ تكويني، أو مكتبة دورات تتجدّد كل شهر، أو مواكبة شهرية: هذا اشتراك. عند كل استحقاق، تُنشئ ChariPay رابط دفع لاستعمال واحد وترسله بالبريد الإلكتروني إلى المتعلّم، فيؤدّيه بالبطاقة في صفحة الدفع المستضافة مع 3-D Secure. والأداء الأول هو ما يفعّل الاشتراك.
ما يعيشه المتعلّم، وما تديرونه أنتم:
- رابط عند كل استحقاق: يتلقى بالبريد الإلكتروني رابط دفع للفترة، مع وصف الاشتراك؛ ولا يُرسَل أي رابط قبل تاريخ أول استحقاق اخترتموه.
- تذكيرات ما دام الاستحقاق غير مؤدّى: يُرسَل تذكير كل يوم بالبريد الإلكتروني بالرابط نفسه، ولا تُفتح أي فترة جديدة؛ ويبقى الرابط قابلًا للأداء 14 يومًا بعد تاريخ الاستحقاق.
- نهاية واضحة: إن انتهت صلاحية الرابط دون أداء، يُلغى الاشتراك تلقائيًا؛ ويشير
subscription.canceledإلى هذا الإلغاء التلقائي، وعند وصوله تقطعون الولوج، لا قبله. وعندما تلغون أنتم — من بوابة التاجر أو عبر API — لا تنتظروا حدثًا: فردّPOST /v1/subscriptions/{reference}/cancelيحمل أصلًا الحالةCANCELED؛ حدّثوا نظامكم في تلك اللحظة. وعند بلوغ تاريخ نهايته يصبح الاشتراك «منتهيًا». - حالات مقروءة: في انتظار الانطلاق، نشط، موقوف مؤقتًا، منتهٍ، ملغى؛ والإيقاف والاستئناف والإلغاء من بوابة التاجر أو عبر API.
والآلية الكاملة — الجدولة، والتذكيرات، والإيقاف المؤقت، والفسخ — موصوفة في الاشتراكات والمدفوعات المتكررة؛ أما ما يحدث حين يبقى استحقاق غير مؤدّى فمفصّل في استحقاق اشتراك غير مؤدّى. واحتفظوا بالأساس بالنسبة إلى دورة تكوينية: الولوج يتبع حالة الاشتراك، ونظامكم هو من يطبّق ذلك.
منح الولوج بعد الأداء، لا قبل الحدث أبدًا
قاعدة كل بيع عبر الإنترنت تسري مضاعفةً على المنتج الرقمي، الذي يُنسخ ويُشارَك. أكّدوا الطلبية عند استلام الويب هوك، لا عند إعادة التوجيه وحدها: فإعادة التوجيه تعني أن المشتري عاد، لا أن الأداء قد تمّ. فالمتعلّم الذي يعود إلى صفحة «شكرًا» لديكم لم يؤدِّ بالضرورة؛ لا ترسلوا شيئًا قبل الحدث.
| النموذج | الحدث الذي يفتح الولوج |
|---|---|
| رابط دفع أو جلسة، مؤدّاة بالبطاقة | payment.succeeded |
| طلبية من المتجر المستضاف، مؤدّاة بالبطاقة | order.paid |
| استحقاق اشتراك | subscription.payment_succeeded |
| رابط لاستعمال واحد مؤدّى نقدًا | يصبح الرابط «مدفوعًا»: إشعار في بوابة التاجر؛ ومن جهة الخادم GET /v1/payment-links/{reference} |
وبلا مطوّر، تبقى الطريقة صالحة: يصلكم إشعار في بوابة التاجر عند الاستخلاص، وترسلون الولوج يدويًا — دعوة المجموعة، أو رابط التنزيل، أو بيانات الدخول إلى المنصة. ومع مطوّر، يتلقى خادمكم الحدث، ويتحقق من توقيعه، ويفتح الولوج وحده. والأخطاء الخمسة التي تُفشل هذه المرحلة — التوقيع، والتكرار، والعمل الثقيل داخل الطلب — مشروحة في إنجاح دمج الويب هوك.
منح الولوج للمتعلّم الصحيح
لا فائدة من حدث أداء إن لم تعرفوا لمن هو. والأداة هي metadata: كائن مسطّح — نصوص وأرقام وقيم منطقية، دون كائن متداخل ولا مصفوفة، 4 كيلوبايت على الأكثر — ترسلونه عند إنشاء الرابط أو الجلسة، فيعود إليكم كما هو في حدث الأداء. ضعوا فيه ما يحتاجه نظامكم لفتح الولوج الصحيح: courseId، وcohort، ومعرّف المتعلّم لديكم.
ثلاث قواعد تجنّبكم المفاجآت:
- اعثروا على طلبيتكم عبر `metadata` الخاص بكم، الذي يعود كما هو في الحدث؛ وفي الجلسة يحمل الحدث أيضًا `orderId` الخاص بكم. أما
externalIdالخاص بجلسة أو برابط فلا يعود في الحدث: وظيفته ألّا تُنشئوا المورد نفسه مرتين. - في المتجر المستضاف، يعود
metadataالخاص بالمنتج في حدثpayment.succeededالمرافق، لا فيorder.paid: استمعوا إلى الاثنين. - لا بيانات حساسة في `metadata`: يكفي معرّف، لا كلمة مرور ولا رقم بطاقة تعريف أبدًا.
والجدول الكامل للمعرّفات — من ينشئها وأين تعود — في ربط الأداء بالطلبية.
سياسة استرداد الدورة التكوينية
يطرح المنتج الرقمي سؤالًا لا يطرحه زوج أحذية: بعد مشاهدة الدورة، ماذا نردّ؟ الجواب لكم، لكن يجب أن يُكتب قبل البيع، في صفحتكم أو في الرسالة المرافقة للرابط. والسياسة الواضحة تميّز على الأقل بين لحظتين: قبل الانطلاق (أو قبل أول ولوج) وبعد الولوج.
وفي الأداء بالبطاقة، الإجراء هو نفسه دائمًا: استردّوا لزبون، كليًا أو جزئيًا، من بوابة التاجر أو عبر API. الاسترداد مجاني؛ ويُخصم مبلغه من رصيدكم المتاح، وإذا لم يكفِ الرصيد تُوقَف العملية بدل إحداث رصيد مدين. والاسترداد ليس فوريًا من جهة البنك: أخبروا المتعلّم دون أن تعِدوه بتاريخ. واقطعوا الولوج لحظة الاسترداد، لا قبلها ولا بعدها بأسابيع.
أما فوترة دوراتكم ومعاملتها الضريبية، فمستشاركم وحده من يستطيع إبداء الرأي. وطريقة الاسترداد — نداء API، والتتبّع، والرسالة إلى الزبون — في استرداد مبلغ لزبون، والصورة الشاملة للبيع عبر الإنترنت في دليل الدفع الإلكتروني للتجارة الإلكترونية في المغرب.
أسئلة شائعة
كيف أستخلص ثمن دورة تكوينية عبر الإنترنت دون موقع إلكتروني؟
برابط دفع لاستعمال واحد لكل متعلّم، تنشئونه من بوابة التاجر وتشاركونه عبر واتساب أو البريد الإلكتروني أو رمز QR: يؤدي الزبون في صفحة تستضيفها ChariPay، ويصلكم إشعار في بوابة التاجر عند الاستخلاص. وللبيع مرات عديدة بالسعر نفسه، أو لكتالوج من عدة دورات، يمنحكم المتجر المستضاف صفحة بيع لكل منتج وتتبّعًا للطلبيات، دائمًا دون موقع تبنونه.
كيف أمنح الولوج تلقائيًا بعد الأداء؟
بربط خادمكم بحدث الأداء بالبطاقة: payment.succeeded لرابط أو جلسة، وorder.paid للمتجر المستضاف، وsubscription.payment_succeeded للاشتراك. يتحقق خادمكم من التوقيع، ويقرأ metadata الخاص بكم لتحديد المتعلّم والدورة، ثم يفتح الولوج. ولا يكون ذلك أبدًا عند إعادة التوجيه: فهي تعني أن المشتري عاد، لا أنه أدّى.
هل يمكن بيع دورة تكوينية باشتراك شهري؟
نعم، باشتراك. عند كل استحقاق، يتلقى المتعلّم بالبريد الإلكتروني رابط دفع يؤدّيه بالبطاقة في الصفحة المستضافة مع 3-D Secure؛ وما دام لم يؤدِّ، يُرسَل تذكير كل يوم، وإن بقي الرابط غير مؤدّى بعد 14 يومًا من الاستحقاق، يُلغى الاشتراك تلقائيًا. افتحوا الولوج عند كل subscription.payment_succeeded واقطعوه عند subscription.canceled؛ وإن ألغيتم أنتم، من بوابة التاجر أو عبر API، فاقطعوه فورًا دون انتظار أي حدث.
كيف أحدّد عدد مقاعد فوج ما؟
بإنشاء عدد من الروابط المخصّصة لاستعمال واحد يساوي عدد المقاعد بالضبط، رابط لكل مسجَّل، بمدة صلاحية تنتهي في تاريخ الإغلاق لمن يؤدّي بالبطاقة. والرابط الذي تنتهي صلاحيته دون أداء يحرّر المقعد للشخص التالي. وإن كنتم تبيعون عبر المتجر المستضاف، فاضبطوا المخزون الاختياري للمنتج على عدد المقاعد وتابعوا الطلبيات المؤدّاة في بوابة التاجر.
هل يمكن للمتعلّم أداء ثمن دورته نقدًا؟
نعم، برابط دفع لاستعمال واحد، يُنشأ في بوابة التاجر بخيار «Paiement en agence»، أي دون مدة صلاحية: في صفحته يختار المتعلّم النقد، ويتلقى مرجعًا، ويسدّده في وكالة من شبكة Chari. وبمجرد أن تؤكد الشبكة الإيداع، يصبح الرابط «مدفوعًا» ويصلكم الإشعار في بوابة التاجر. أما جلسة الدفع المنشأة عبر API أو الرابط القابل لإعادة الاستعمال فلا يقبلان إلا البطاقة.
كيف أستردّ المبلغ لمتعلّم يلغي تسجيله؟
إن أدّى بالبطاقة، فحسب السياسة التي كتبتموها قبل البيع، كليًا أو جزئيًا، من بوابة التاجر أو عبر API. الاسترداد مجاني، ويُخصم مبلغه من رصيدكم المتاح، وهو ليس فوريًا من جهة البنك. اقطعوا الولوج لحظة الاسترداد. وإن لم يكن المتعلّم قد أدّى بعد، فألغوا رابطه ببساطة: فالرابط الملغى لا يمكن أداؤه بعد ذلك.
بأي عملة أبيع دوراتي التكوينية عبر الإنترنت؟
بالدرهم المغربي: فكل شيء بعملة MAD — المستخلصات، والأرصدة، والتحويلات، والدفعات نحو البنك — دون أي تحويل للعملة. ومبالغ API بالوحدات الرئيسية (149.90 = 149,90 درهمًا). لذا اعرضوا أسعاركم بالدرهم في صفحة البيع، حتى يكون المبلغ الذي يقرؤه المتعلّم هو نفسه الذي سيجده في صفحة الدفع.
الخطوة التالية
اختاروا نموذجكم — بالوحدة، أو بالفوج، أو بالاشتراك —، ثم أنشئوا في وضع الاختبار الرابط أو المنتج أو الاشتراك المناسب له: ابدؤوا في وضع الاختبار. اربطوا بعد ذلك فتح الولوج بحدث الأداء، متّبعين إنجاح دمج الويب هوك، وحضّروا كتالوجكم مع المتجر المستضاف.
بقلم فريق ChariPay.