رابط دفع في الفاتورة: استخلصوا فواتيركم عبر الإنترنت، من رمز QR إلى التذكير
رابط دفع في الفاتورة: رابط لاستعمال واحد لكل فاتورة، ورمز QR مطبوع، وإرسال بالبريد الإلكتروني، وتتبّع الحالات، وتذكير دون أداء مزدوج.
رابط دفع في الفاتورة هو وسيلتكم لاستخلاص الفواتير عبر الإنترنت: كل فاتورة تصدرونها تحصل على رابطها الخاص لاستعمال واحد، بمبلغها. يفتح زبونكم الرابط أو يمسح رمز QR المطبوع، فيصل إلى صفحة هذا الرابط حيث يؤدّي بالبطاقة مع 3-D Secure — أو يختار النقد في الوكالة على رابط أُنشئ دون مدة صلاحية —، ثم يصبح الرابط «مدفوعًا» في بوابة التاجر. لا يتعلق الأمر هنا بأداء فواتيركم أنتم، بل بأن تتقاضوا مقابل الفواتير التي ترسلونها إلى زبنائكم، شركات كانوا أو أفرادًا. يبيّن هذا الدليل كيف تنشئون رابط كل فاتورة، وتطبعونه رمز QR، وترسلونه، وتتابعون حالته، وتذكّرون دون أداء مزدوج، وتطابقون كل أداء مع فاتورته.
استخلاص فواتيركم عبر الإنترنت، لا أداء فواتيركم
لنرفع الالتباس أولًا: يتناول هذا المقال الفواتير التي تصدرونها أنتم، تلك التي على زبنائكم أداؤها لكم. أما لأداء فواتيركم — الماء والكهرباء والهاتف — من رصيدكم، فاقرؤوا عن أداء الفواتير من حساب الأداء.
وتوضيح ثانٍ: ChariPay لا تُنشئ فواتيركم ولا ملفات PDF الخاصة بها. فأنتم تواصلون إعدادها في أداتكم المعتادة — برنامج الفوترة، أو نظام التسيير، أو جدول البيانات — بترقيمكم وبياناتكم. وChariPay تضيف ما ينقص الفاتورة الورقية أو ملف PDF: وسيلة لأدائها فورًا عبر الإنترنت. وChariPay منصة دفع مغربية، مزوّد خدمات دفع (PSP) تشغّله Chari Money، مؤسسة أداء مرخَّصة من بنك المغرب. وتصف صفحة روابط الدفع رابط الدفع الذي يرافق الفاتورة.
وإن كنتم تطلبون جزءًا من الثمن قبل الخدمة، فالمنطق مختلف: رابط يُرسَل مع عرض الأثمان، وآخر عند التسليم. وذلك موضوع دليلنا عن استخلاص التسبيق. أما هنا، فالخدمة سُلّمت والفاتورة صدرت: يبقى أن تتقاضوا مستحقاتكم.
رابط دفع في الفاتورة: رابط لاستعمال واحد لكل فاتورة
القاعدة في جملة واحدة: فاتورة واحدة، ورابط واحد لاستعمال واحد، بالمبلغ المستحق المبيَّن في الفاتورة. ويُستهلك الرابط بعد أداء ناجح واحد، وهو ما يمنع أداء الفاتورة نفسها مرتين عبر هذا الرابط. وأربعة إعدادات تجعل منه رابط فاتورة جيدًا:
- الوصف يحمل رقم الفاتورة: «الفاتورة FAC-2026-0457». فيعرف الزبون ما يؤدّيه، وتجدون الفاتورة في بوابة التاجر.
- مدة الصلاحية تتبع تاريخ الاستحقاق: 24 ساعة، أو 7 أيام، أو 30 يومًا، أو تاريخ محدد. ففاتورة تُؤدّى في ثلاثين يومًا تستدعي رابطًا تنتهي صلاحيته يوم الاستحقاق. وتصلح هذه المدة لرابط يُؤدّى بالبطاقة: ولزبون يؤدّي نقدًا، أنشئوا الرابط بخيار «Paiement en agence» (الأداء في الوكالة)، دون مدة صلاحية.
- الزبون مسجَّل: تفيد معلوماته في الإرسال بالبريد الإلكتروني وفي فواتيركم القادمة.
- عبر API، يكون `externalId` هو رقم الفاتورة: فالإنشاء المعاد بـ
externalIdنفسه يعيد الرابط الموجود بالرد200بدل إنشاء رابط ثانٍ. وهكذا تستطيع أداة الفوترة لديكم إعادة النداء دون خطر التكرار.
curl -X POST 'https://api-psp.charipay.ma/v1/payment-links' \
-H 'X-CHARI-PAY-API-KEY: chari_sk_test_...' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: invoice-fac-2026-0457' \
-d '{
"amount": 1800.00,
"description": "Facture FAC-2026-0457",
"singleUse": true,
"expiresAt": "2026-11-01T23:59:59Z",
"externalId": "FAC-2026-0457",
"customerEmail": "amine.bennani@example.com",
"metadata": { "invoiceNumber": "FAC-2026-0457" }
}'يحمل الرد مرجع الرابط reference (pl_…) وعنوانه payUrl: احفظوا الأول بجانب الفاتورة في أداتكم، واطبعوا الثاني، أو رمز QR الخاص به، على الفاتورة. أما ما ينبغي أن تتضمنه الفاتورة غير ذلك — الضرائب، والبيانات، وشروط الأداء — فمن شأن أداتكم ومستشاركم.
ولتروا ما سيتلقاه زبونكم، جرّبوا على فاتورة وهمية. يُفتح وضع الاختبار بمجرد تفعيل حسابكم، دون موافقة تنتظرونها: ابدؤوا في وضع الاختبار — ثلاثة حقول (الاسم، والبريد الإلكتروني المهني، والمؤسسة)، ورابط تفعيل يصلكم بالبريد لاختيار كلمة المرور، ثم بوابة التاجر حيث تنشئون بأنفسكم مفتاح الاختبار بعد إعادة مصادقة؛ ولا يُعرض المفتاح كاملًا إلا مرة واحدة. أنشئوا رابط الفاتورة، وافتحوه، وادفعوا ببطاقة الاختبار 4918 9141 0719 5005، CVV 123، وأي تاريخ انتهاء مستقبلي، ورمز 3-D Secure 555: هذه البطاقة هي الوحيدة المقبولة، ولا يتحرك أي مال حقيقي. ويجري التحقق من مؤسستكم (KYB) بالتوازي ولا يشترطه إلا الانتقال إلى الإنتاج.
طبع رمز QR على الفاتورة
كثيرًا ما تُقرأ الفاتورة على الورق، أو في ملف PDF مفتوح على جهاز غير الهاتف. ورمز QR يصل بين الاثنين: يعيد GET /v1/payment-links/{reference}/qr صورة PNG تحمل عنوان صفحة الدفع الخاصة بالرابط. أدرجوها في نموذج أداة الفوترة لديكم، بجانب المبلغ ورقم الفاتورة، مع جملة قصيرة: «امسحوا الرمز لأداء هذه الفاتورة عبر الإنترنت.»
يمسح الزبون الرمز، فيصل إلى صفحة رابط هذه الفاتورة — باسمكم وشعاركم والمبلغ والوصف — ويؤدّي. ولفاتورة PDF تُقرأ على الشاشة، أضيفوا أيضًا payUrl كرابط قابل للنقر: فلا يحتاج الزبون حينها حتى إلى هاتفه.
ومن جهة الأتمتة، يتلخص التسلسل في ثلاث حركات: إنشاء الرابط، وجلب رمز QR الخاص به، وإدراجه في ملف PDF للفاتورة. والرمز رمز رابط لاستعمال واحد خاص بهذه الفاتورة: لا يُعاد استعماله من فاتورة إلى أخرى. أما الاستعمالات الأخرى لرمز QR — ملصق نقطة البيع، والرواق — فيتناولها دليلنا عن الدفع عبر رمز QR.
إرسال الفاتورة ورابطها: بالبريد الإلكتروني أو عبر قناتكم
طريقتان لإيصال الرابط إلى الزبون، ويمكن الجمع بينهما.
عبر قناتكم الخاصة: ترسلون الفاتورة كالمعتاد — بالبريد الإلكتروني من أداتكم، أو على واتساب، أو بالبريد العادي — وفيها الرابط أو رمز QR. وهذه المشاركة فعلكم أنتم: لا ترسل ChariPay رابط الدفع الخاص بكم لا عبر SMS ولا عبر واتساب.
عبر بريد ChariPay الإلكتروني: يرسل POST /v1/payment-links/{reference}/send الرابط بالبريد الإلكتروني ويجيب بـ202. ودون محتوى، يُرسَل البريد إلى عنوان الزبون المسجَّل في الرابط؛ ومع حقل email، إلى العنوان الذي تحدّدونه — مصلحة المحاسبة لدى زبونكم المهني مثلًا.
curl -X POST 'https://api-psp.charipay.ma/v1/payment-links/pl_3ND8xk/send' \
-H 'X-CHARI-PAY-API-KEY: chari_sk_test_...' \
-H 'Content-Type: application/json' \
-d '{ "email": "amine.bennani@example.com" }'يحمل هذا البريد رابط الدفع، لا فاتورتكم: فالفاتورة نفسها تُرسَل عبر أداتكم. والإرسال نفسه متاح من بوابة التاجر. وتجدون معاملات كل نداء في وحدة «روابط الدفع» في توثيق API.
تتبّع حالة كل فاتورة
تخبركم حالة الرابط بموقع الفاتورة. وهي أربع: نشط، مدفوع، ملغى، منتهي الصلاحية.
| حالة الرابط | ما تقوله عن الفاتورة | ما تفعلونه |
|---|---|---|
| نشط | صادرة، لم تُؤدَّ بعد | انتظار تاريخ الاستحقاق، والتذكير عند الحاجة |
| مدفوع | أُدّيت عبر الإنترنت | وسمها مؤدّاة في أداتكم |
| ملغى | عُطّل الرابط: فاتورة ملغاة أو مؤدّاة بطريقة أخرى | لا شيء، سوى التحقق من سبب الإلغاء |
| منتهي الصلاحية | انقضى أجل الرابط دون أداء | التذكير برابط جديد |
وعند الاستخلاص يصلكم الإشعار في بوابة التاجر. ومن جهة الخادم، يعيد GET /v1/payment-links/{reference} حالة الرابط: في الشفرة، قارنوا status بالقيمة "ACTIVE" لتعرفوا هل ما زال الرابط قابلًا للأداء، واقرؤوا useCount لتعرفوا هل أُدّي. وهكذا تحيّن أداة الفوترة لديكم كل فاتورة دون إعادة إدخال.
التذكير بفاتورة غير مؤدّاة دون خطر الأداء المزدوج
لا يُرسَل أي تذكير من الرابط تلقائيًا: أنتم من يذكّر، بالإيقاع الذي تحدده شروطكم. وتظهر ثلاث حالات.
- 1الرابط ما زال نشطًا: أعيدوا إرساله، بالنداء
POST /v1/payment-links/{reference}/sendأو عبر قناتكم، مع رسالة تذكّر بالرقم والمبلغ وتاريخ الاستحقاق. إنه الرابط نفسه: لا خطر لأداء مزدوج. - 2انتهت صلاحية الرابط: أنشئوا رابطًا جديدًا بـ
externalIdجديد — مثلًاFAC-2026-0457-R1— وmetadataالفاتورة نفسه. فإعادةexternalIdالقديم ستعيد لكم الرابط الموجود، المنتهي الصلاحية، بالرد200. - 3تريدون استبدال رابط ما زال نشطًا (مبلغ مصحَّح، أو تاريخ استحقاق جديد): ألغوا القديم أولًا — فالرابط الملغى لا يمكن أداؤه — ثم أرسلوا الجديد.
ونموذج تذكير ناجع، قصير وواضح:
مرحبًا، حلّ أجل الفاتورة FAC-2026-0457. يمكنكم أداؤها عبر الإنترنت، بالبطاقة، بهذا الرابط.
واحتفظوا في أداتكم بلائحة الفواتير التي انتهت صلاحية روابطها: إنها لائحة التذكير الخاصة بكم. أما استحقاقات الاشتراك فلها مسار تذكيرات خاص بها: راجعوا متابعة الاشتراكات غير المؤداة.
الزبناء الذين يؤدّون نقدًا أو بالتحويل
لن يؤدّي كل زبنائكم بالبطاقة، ولا بأس في ذلك: فرابط الفاتورة نفسه وحسابكم يغطيان الحالتين الأخريين.
نقدًا. في صفحة رابط دفع يُستعمل مرة واحدة، يختار زبونكم النقد، ويتلقى مرجعًا، ويسدّده في وكالة من شبكة Chari، ويصلكم الإشعار بمجرد أن تؤكد الشبكة الإيداع. والأداء نقدًا في الوكالة يعتمد دائمًا على رابط لاستعمال واحد — مرجع واحد لكل إيداع. في بوابة التاجر، تفعيل خيار «Paiement en agence» (الأداء في الوكالة) على رابط يعطّل مدة صلاحيته: يبقى الرابط قابلًا للأداء بلا حدّ زمني. فالرابط الذي يحمل تاريخ انتهاء يُقدَّم إذن كرابط يُؤدّى بالبطاقة؛ ولزبون يؤدّي نقدًا، أنشئوا رابطًا بهذا الخيار، دون مدة صلاحية. بمجرد أن تؤكد الشبكة الإيداع، يصبح الرابط «مدفوعًا» ويصلكم الإشعار في بوابة التاجر؛ ومن جهة الخادم تُقرأ حالة الرابط عبر GET /v1/payment-links/{reference}. وChariPay هي بوابة الدفع الوحيدة في المغرب التي تستخلص النقد أيضًا في الوكالة.
بالتحويل. كثير من الزبناء المهنيين يؤدّون بالتحويل. وحسابكم في ChariPay حساب أداء حقيقي، تمسكه Chari Money، مؤسسة أداء مرخَّصة من بنك المغرب، مفتوح باسم شركتكم، بـRIB بهذا الاسم وشهادة PDF قابلة للتنزيل من بوابة التاجر أو عبر API. يستقبل مستخلصاتكم والتحويلات الواردة. وChariPay ليس بنكًا: حساب الأداء الخاص بكم تمسكه Chari Money. إنه يكمّل بنككم ولا يعوّضه. يمكنكم إذن ذكر هذا الـRIB في فواتيركم؛ ويشرح حساب الأداء في المغرب إطار هذا الحساب، ومقالنا عن شهادة RIB لحساب الأداء الوثائق المرافقة له.
وحين يؤدّي زبون بالتحويل، ألغوا رابط الفاتورة: فلن يمكن أداؤه بعد ذلك، وتتجنبون أداءً ثانيًا بالبطاقة.
مطابقة كل أداء مع فاتورته
تُحضَّر المطابقة منذ إنشاء الرابط، باختيار ما سيعود إليكم.
- `metadata` الخاص بكم — هنا
invoiceNumber— يعود كما هو في حدث الأداء بالبطاقة وعند كل قراءة للرابط: وهو المفتاح الأوثق لإيجاد الفاتورة. - مرجع الرابط `reference` (
pl_…)، المحفوظ في أداتكم بجانب الفاتورة، يتيح لكم إعادة قراءة الرابط في أي وقت. - `externalId` يُقرأ في الرابط، عبر
GET /v1/payment-links/{reference}؛ فلا تعوّلوا عليه في حدث الأداء، وجدوا الفاتورة بـmetadataالخاص بكم.
ومن جهة المحاسبة، تحمل كل حركة في الحساب مرجع البيع أو الاسترداد أو الدفعة التي تفسّرها؛ وتميّز بوابة التاجر بين المبلغ المدفوع والرسوم والصافي، ويحتفظ تصدير CSV بهذه المراجع — من بوابة التاجر أو عبر GET /v1/transactions/export.csv (حتى 10 000 سطر؛ وفوق ذلك قسّموا حسب الفترة بـfrom/to). والطوابع الزمنية بتوقيت UTC؛ والمغرب على UTC+1: فعلى أداة المطابقة لديكم أن تحوّل. وتجدون الطريقة اليومية، من الفوارق المعتادة إلى التصديرات، في مطابقة المستخلصات.
أسئلة شائعة
كيف أضيف رابط دفع إلى فاتورة؟
أنشئوا في بوابة التاجر لدى ChariPay، أو عبر API، رابط دفع لاستعمال واحد بمبلغ الفاتورة، مع رقمها في الوصف ومدة صلاحية تنتهي يوم الاستحقاق. ثم أضيفوا الرابط، أو رمز QR الخاص به المحصَّل عبر GET /v1/payment-links/{reference}/qr، إلى نموذج أداة الفوترة لديكم بجانب المبلغ. يؤدّي الزبون عبر الإنترنت ويصبح الرابط «مدفوعًا».
هل تستطيع ChariPay إنشاء فواتيري؟
لا. فـChariPay لا تُنشئ فواتير ولا ملفات PDF للفواتير: أنتم تعدّونها في أداتكم المعتادة، بترقيمكم وبياناتكم. وتوفّر ChariPay وسيلة الأداء التي ترافق الفاتورة: رابطًا لاستعمال واحد، ورمز QR الخاص به، وإرسال الرابط بالبريد الإلكتروني، وتتبّع حالته. أما القواعد الخاصة بالفاتورة نفسها فمن شأن أداتكم ومستشاركم.
كيف أذكّر زبونًا لم يؤدِّ فاتورته؟
إن كان الرابط ما زال نشطًا، فأعيدوا إرساله، بالبريد الإلكتروني عبر POST /v1/payment-links/{reference}/send أو عبر قناتكم، مع رسالة تذكّر بالرقم والمبلغ وتاريخ الاستحقاق. ولا يُرسَل أي تذكير تلقائيًا: أنتم من يحدد الإيقاع. وإن انتهت صلاحية الرابط، فأنشئوا رابطًا جديدًا بـexternalId جديد وmetadata الفاتورة نفسه.
ماذا أفعل حين تنتهي صلاحية رابط فاتورة؟
أنشئوا رابطًا جديدًا لاستعمال واحد بالمبلغ نفسه، بـexternalId جديد، كرقم الفاتورة متبوعًا بلاحقة تذكير مثلًا، وmetadata نفسه. فإعادة externalId القديم ستعيد الرابط المنتهي الصلاحية بالرد 200 بدل إنشاء رابط جديد. ثم أرسلوا الرابط الجديد إلى الزبون واختاروا مدة صلاحية جديدة واقعية.
كيف أتجنب أداء فاتورة مرتين؟
استعملوا رابطًا لاستعمال واحد لكل فاتورة: فهو يُستهلك بعد أداء ناجح واحد. وعبر API، اجعلوا رقم الفاتورة externalId، حتى يعيد الإنشاء المكرَّر الرابط الموجود. وقبل إرسال رابط بديل، ألغوا القديم، وألغوا الرابط أيضًا إن أدّى الزبون بالتحويل: فالرابط الملغى لا يمكن أداؤه، ولا يبقى أمام الزبون إلا رابط واحد.
هل يمكن لزبون أن يؤدّي فاتورة نقدًا؟
نعم، على رابط لاستعمال واحد أُنشئ بخيار «Paiement en agence»، دون مدة صلاحية. في صفحته، يختار الزبون النقد، ويتلقى مرجعًا، ويسدّده في وكالة من شبكة Chari. وبمجرد أن تؤكد الشبكة الإيداع، يصبح الرابط «مدفوعًا» ويصلكم الإشعار في بوابة التاجر. ويصبح المبلغ حينها متاحًا في حساب الأداء الخاص بكم، وتُعدّ الفاتورة مؤدّاة.
هل يمكن لزبوني أن يؤدّي الفاتورة بالتحويل؟
نعم. فحساب الأداء الخاص بكم، الذي تمسكه Chari Money والمفتوح باسم شركتكم، له RIB بهذا الاسم ويستقبل التحويلات الواردة: يمكنكم ذكره في فواتيركم. وهو يكمّل بنككم ولا يعوّضه. وحين يصل التحويل، طابقوه مع الفاتورة وألغوا الرابط المقابل، حتى لا يمكن أداؤه بالبطاقة بعد ذلك.
كيف أعرف أي فاتورة سدّدها أداء ما؟
بـmetadata الخاص بكم، مثل invoiceNumber، الذي يعود كما هو في حدث الأداء بالبطاقة وعند كل قراءة للرابط. واحفظوا أيضًا مرجع الرابط reference بجانب الفاتورة في أداتكم. أما externalId فيُقرأ في الرابط، لا في الحدث. ثم يعرض تصدير CSV كل أداء بمرجعه ومبلغه ورسومه وصافيه.
الخطوة التالية
في وضع الاختبار، أضيفوا الرابط أو رمز QR الخاص به إلى نموذج الفاتورة في أداتكم، وادفعوا فاتورة وهمية ببطاقة الاختبار، ثم تحققوا من المطابقة في التصدير: ابدؤوا في وضع الاختبار. وللمرحلة التي تسبق الفاتورة، انظروا استخلاص التسبيق، واحتفظوا بصفحة روابط الدفع للاطلاع على العرض كاملًا.
بقلم فريق ChariPay.