מה זה חיוב חד-פעמי?
חיוב חד-פעמי הוא תשלום שמתבצע פעם אחת בלבד - ללא חידוש אוטומטי.מנוי (Subscription)
חיוב אוטומטי כל חודש/שנהדוגמאות: Netflix, Spotify, SaaS
חד-פעמי (One-Time)
תשלום יחיד, ללא חזרהדוגמאות: קורס, ספר, כרטיס לאירוע
מתי להשתמש בזה?
קורסים דיגיטליים 🎓
קורסים דיגיטליים 🎓
לקוח משלם פעם אחת ומקבל גישה לכל החיים.דוגמה: “קורס פיתוח Full-Stack - ₪499 (פעם אחת)”
מוצרים דיגיטליים 📦
מוצרים דיגיטליים 📦
eBooks, תבניות, כלים דיגיטליים, פלאגינים.דוגמה: “תבנית Landing Page - ₪149”
כרטיסים לאירועים 🎟️
כרטיסים לאירועים 🎟️
כנסים, סדנאות, אירועים חד-פעמיים.דוגמה: “כרטיס לכנס SaaS 2025 - ₪299”
שירותים חד-פעמיים 💼
שירותים חד-פעמיים 💼
ייעוץ, ביקורת קוד, עיצוב לוגו.דוגמה: “שעת ייעוץ עסקי - ₪500”
תרומות 💝
תרומות 💝
תרומה לפרויקט, Tip Jar, קפה למפתח.דוגמה: “קנה לי קפה ☕ - ₪15”
ההבדלים מול מנוי
| מאפיין | מנוי (Subscription) | חד-פעמי (One-Time) |
|---|---|---|
| תדירות חיוב | אוטומטי (חודשי/שנתי) | פעם אחת בלבד |
| ביטול | הלקוח יכול לבטל | אין מה לבטל |
| ניהול | פורטל ניהול מנוי | אין צורך בניהול |
| זיהוי | subscription_uid | order_uid |
| חידוש | מתחדש אוטומטית | לא מתחדש |
| Success URL | ?subscription_uid=sub_xxx | ?order_uid=order_xxx&email=... |
איך זה עובד?
1
לקוח לוחץ 'קנה עכשיו'
הלקוח מגיע לדף המוצר ורוצה לרכוש
2
יצירת לינק תשלום
המערכת שלך יוצרת לינק תשלום אישי עבורו
3
מעבר לדף תשלום
הלקוח מועבר לדף התשלום של Splitz
4
ביצוע תשלום
הלקוח משלם (PayPal או כרטיס אשראי)
5
חזרה לאפליקציה
הלקוח מועבר חזרה עם
order_uid ופרטי התשלום6
אימות ומתן גישה
אתה מאמת שההזמנה שולמה ונותן לו גישה למוצר
הקוד המלא
דרישות:
- חבילת NPM מותקנת:
npm install splitz-payments - API Key מהמערכת (הגדרות)
- Payment Link UID שיצרת (לינקים לתשלום)
שלב 1: יצירת לינק תשלום
שלב 2: בדיקה האם הזמנה שולמה לאחר התשלום:
הפרמטר שייחזור בURL ששמו: order_uid יעזור לכם לזההות את ההזמנה ולאמת את התשלום. לדוגמא: https://example.com/subscriptionCallback?order_uid=xxxSecurity Checklist
1
✅ API Key בצד השרת בלבד
אל תחשוף את ה-API Key בצד הלקוח!
2
✅ אמת תמיד בשרת
אל תסמוך על פרמטרים ב-URL!
סיכום
תזכורות חשובות:- ✅ תמיד תאמת בצד השרת עם
orders.isPaid() - ✅ אל תחשוף API Key בצד הלקוח
- ✅ שמור
order_uidבדאטאבייס - ✅ שלח מייל אישור לכל תשלום
- ✅ טפל בשגיאות בצורה ידידותית
טיפול בחזרה מדף התשלום
אחרי שהלקוח משלם, הוא חוזר לכתובת שהגדרת ב-Payment Link (עמוד ההצלחה).הפרמטרים שחוזרים ב-URL:
אימות התשלום (קריטי!)
Order Object - מבנה נתונים
כשאתה קורא ל-splitz.orders.get(), תקבל אובייקט עם השדות הבאים:
שילוב עם Lovable
אם אתה משתמש ב-Lovable, הנה prompt מוכן:סוגי שגיאות:
SplitzAPIError- שגיאה כללית מה-APIValidationError- פרמטרים לא תקיניםAuthenticationError- API key לא תקין או חסרNotFoundError- משאב לא נמצא (404)ForbiddenError- אין הרשאה (403)
Troubleshooting
❌ שגיאה: "Invalid payment_link_uid"
❌ שגיאה: "Invalid payment_link_uid"
הבעיה: ה-Payment Link לא קיים או לא מוגדר לחיובים חד-פעמיים.הפתרון:
- היכנס ל-Dashboard → לינקים לתשלום
- ודא שהלינק מסומן כ-”חד-פעמי” (לא מנוי)
- העתק את ה-
payment_link_uidהנכון (מתחיל ב-pl_)
❌ הלקוח לא מועבר לדף תשלום
❌ הלקוח לא מועבר לדף תשלום
הבעיה: הקוד לא מפנה נכון.הפתרון:
❌ אחרי תשלום - אין פרמטרים ב-URL
❌ אחרי תשלום - אין פרמטרים ב-URL
הבעיה: עמוד ההצלחה לא מוגדר ב-Payment Link.הפתרון:
- היכנס ל-Dashboard → לינקים לתשלום
- ערוך את הלינק
- הוסף “כתובת הפניה לאחר תשלום” (Success URL)
- לדוגמה:
https://myapp.com/purchase-success
❌ שגיאה: "Order not found"
❌ שגיאה: "Order not found"
הבעיה: ה-order_uid לא נכון או לא קיים.הפתרון:
- בדוק שאתה קורא נכון את הפרמטר:
- וודא שהפרמטר באמת קיים ב-URL
- בדוק ב-Dashboard → הזמנות אם ההזמנה קיימת
❌ התשלום הצליח אבל `is_paid = false`
❌ התשלום הצליח אבל `is_paid = false`
הבעיה: PayPal עדיין מעבד את התשלום.הפתרון: זה נורמלי - לפעמים לוקח 1-2 דקות.תצג ללקוח:חכה 30 שניות ונסה שוב, או השתמש ב-Webhook.
❌ לקוח שילם אבל לא קיבל גישה
❌ לקוח שילם אבל לא קיבל גישה
הבעיה: הקוד לא נתן לו גישה אוטומטית.הפתרון:
- בדוק ב-Dashboard → הזמנות - האם התשלום מופיע כ-Paid?
- בדוק את הקונסול (F12) - יש שגיאות JavaScript?
- ודא שהקוד של
grantAccess()רץ - בדוק שהנתונים נשמרו בדאטאבייס
- השתמש ב-Webhook כפתרון גיבוי
שאלות נפוצות
האם אפשר להחזיר כסף (Refund)?
האם אפשר להחזיר כסף (Refund)?
כן. אתה יכול להחזיר כסף ישירות מה-Dashboard.הזמנות → בחר הזמנה → החזר כסףהכסף יחזור ללקוח תוך 5-10 ימי עסקים.
מה ההבדל בין `orders.isPaid()` ל-`orders.get()`?
מה ההבדל בין `orders.isPaid()` ל-`orders.get()`?
isPaid()- בדיקה מהירה, מחזיר רק{ paid: true/false }get()- מחזיר את כל פרטי ההזמנה (מייל, מחיר, תאריכים וכו’)
- רק רוצה לדעת אם שולם? →
isPaid() - צריך פרטים נוספים? →
get()
האם אפשר למכור מנוי וחד-פעמי באותה אפליקציה?
האם אפשר למכור מנוי וחד-פעמי באותה אפליקציה?
בהחלט! פשוט השתמש ב-Payment Links שונים:
pl_subscription_monthlyלמנוייםpl_course_onetimeלקורסים חד-פעמיים
איך עוקבים אחרי כל התשלומים?
איך עוקבים אחרי כל התשלומים?
ב-Dashboard → הזמנותתראה:
- כל התשלומים (מנויים + חד-פעמיים)
- סטטוס (Paid / Pending)
- סכומים
- מיילים של לקוחות
- Export ל-Excel
מה קורה אם לקוח משלם פעמיים בטעות?
מה קורה אם לקוח משלם פעמיים בטעות?
זה לא אמור לקרות (הלינך תקף רק לתשלום אחד).אם זה קרה בכל זאת - פשוט תחזיר כסף על אחד התשלומים מה-Dashboard.
האם צריך לשמור את ה-order_uid בדאטאבייס?
האם צריך לשמור את ה-order_uid בדאטאבייס?
כן, מומלץ מאוד!זה מאפשר לך:
- לעקוב אחרי מי שילם
- למנוע duplicate purchases
- לתת support (הלקוח אומר “שילמתי ואין לי גישה”)
- לעשות refund אם צריך

