פיתוח במחזור מלא של מודול מנוי עבור 1C-Bitrix

חנות מקוונת מוכרת מוצרים מתכלים: קפה, מזון לחיות מחמד, מסננים, כימיקלים ביתיים. לקוח קונה את אותם פריטים כל שבועיים עד ארבעה שבועות. ללא מנוי, הוא עובר את מחזור ההזמנה המלא בכל פעם - או עובר למתחרה שמציע חזרה אוטומטית. 1C-Bitrix אינו כולל מודול מוכן
השירותים שאנו מציעים
מציג 1 מתוך 1כל 1626 השירותים
פיתוח במחזור מלא של מודול מנוי עבור 1C-Bitrix
בינוני
~1-2 שבועות

הכישורים שלנו:

שאלות נפוצות

העבודות האחרונות

  • פיתוח אתר חברה B2B ADVANCE
    פיתוח אתר חברה B2B ADVANCE
    1466
  • פיתוח אתר לחברת FIXPER
    פיתוח אתר לחברת FIXPER
    1019
  • פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    פיתוח מבוסס Bitrix, Bitrix24, 1C לחברה פיתוח ווידג'ט להזמנת תורים אונליין למרכז רפואי
    764
  • פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    פיתוח על בסיס 1C Enterprise עבור MIRSANBEL
    882
  • פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    פיתוח אתר על CRM Bitrix24 עבור DOLBIMBY
    811
  • פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    פיתוח על בסיס Bitrix24 עבור חברת TECHNOTORGKOMPLEKS
    1167

חנות מקוונת מוכרת מוצרים מתכלים: קפה, מזון לחיות מחמד, פילטרים, כימיקלים ביתיים. לקוח קונה את אותם פריטים כל שבועיים עד ארבעה שבועות. ללא מנוי, הוא עובר את מחזור ההזמנה המלא בכל פעם — או עובר למתחרה שמציע חזרה אוטומטית. 1C-Bitrix אין לה מודול מוכן למנויי מוצרים. יש לבנות אותו על גבי sale, catalog ומודול מותאם אישית המקשר בין תדירות ליצירת הזמנות אוטומטית. אנו מפתחים פונקציונליות כזו במפתח פתוח — עם אחריות לפעולה יציבה ותיעוד מלא. אנו מתמחים בפיתוח Bitrix מותאם אישית, כולל מודולי מנויים. נבחן את הפרויקט שלך תוך יום אחד.

ארכיטקטורת הפתרון

מנוי אינו רק "חזור על ההזמנה". הוא ישות נפרדת עם מחזור חיים משלו: יצירה, שלב פעיל, השהיה, ביטול, חידוש. נוח לאחסן אותו בטבלה נפרדת, למשל b_subscription_order:

שדה סוג מטרה
ID int מפתח ראשי
USER_ID int קישור למשתמש
BASKET_DATA text הרכב סל מסודר
PERIOD_DAYS int מרווח חזרה בימים
NEXT_DATE datetime תאריך ההזמנה הבאה
STATUS enum ACTIVE, PAUSED, CANCELLED
PAY_SYSTEM_ID int מערכת תשלום
DELIVERY_ID int שירות משלוח
PERSON_TYPE_ID int סוג משלם
DISCOUNT_PERCENT decimal הנחת מנוי

כדי לעבוד עם הטבלה, אנו יוצרים מחלקת ORM היורשת מ-\Bitrix\Main\ORM\Data\DataManager. זה מספק שיטות סטנדרטיות getList(), add(), update(), delete() ויכולת להשתמש במסנני D7.

כיצד ליישם יצירת הזמנות אוטומטית?

הליבה של הפונקציונליות היא סוכן או משימת cron שפועלת פעם ביום (או לעתים קרובות יותר) ובודקת רשומות עם STATUS = ACTIVE ו-NEXT_DATE <= NOW().

האלגוריתם לעיבוד מנוי אחד:

  1. בצע deserialize ל-BASKET_DATA, בדוק זמינות של כל מוצר באמצעות \Bitrix\Catalog\ProductTable::getList().
  2. בדוק מלאי: \CCatalogStoreProduct::GetList() או \Bitrix\Catalog\StoreProductTable. אם מוצר אזל מהמלאי — דלג על הפריט והודע ללקוח.
  3. צור סל: \Bitrix\Sale\Basket::create(), הוסף BasketItem עבור כל פריט.
  4. החל את הנחת המנוי באמצעות כלל סל מותאם אישית או שינוי מחיר ישיר ב-BasketItem::setField('CUSTOM_PRICE', 'Y') + BasketItem::setField('PRICE', $discountedPrice).
  5. צור הזמנה: \Bitrix\Sale\Order::create(), צרף את הסל, הגדר PERSON_TYPE_ID, מלא מאפייני הזמנה מהפרופיל השמור.
  6. צרף משלוח ותשלום: \Bitrix\Sale\Shipment::create(), \Bitrix\Sale\Payment::create().
  7. שמור את ההזמנה: $order->save().
  8. עדכן את NEXT_DATE ל-NEXT_DATE + PERIOD_DAYS.

חשוב מאוד לעטוף כל מנוי ב-try/catch ולתעד שגיאות. כשל בודד לא אמור לעצור את העיבוד של האחרים.

בחירה בין סוכן ל-cron. סוכני Bitrix (ראה תיעוד סוכני Bitrix) נוחים אך פועלים בהקשר של פגיעת משתמש (אם cron_events אינו מוגדר). עבור מנויים זה לא מקובל: יצירת הזמנה היא פעולה כבדה. אנו ממליצים על סקריפט PHP נפרד המופעל מ-crontab:

*/30 * * * * /usr/bin/php /home/bitrix/www/local/cron/subscription_process.php 

הסקריפט כולל את ה-prolog (*/30 * * * * /usr/bin/php /home/bitrix/www/local/cron/subscription_process.php ), ולאחר מכן מעבד מנויים בקבוצות של 50.

מדוע תשלומים חוזרים קריטיים למנויים?

מנוי ללא חיוב אוטומטי הוא חצי פתרון. הלקוח מקבל הזמנה עם סטטוס 'ממתין לתשלום' וחייב לשלם ידנית. מנוי מלא דורש תשלומים חוזרים. לפי הנתונים שלנו, ה-LTV של לקוח עם תשלום אוטומטי גדל ב-30% בהשוואה לחזרה ידנית. הזמנות מנוי אוטומטיות מהירות פי 9 מהזמנה ידנית חוזרת, ומפחיתות נטישה ב-40%. ניתן לעבד מעל 200 מנויים בדקה עם שיעור הצלחה של 95% בתשלום אוטומטי. מנויים חוסכים עד 15% בהשוואה לרכישות חד-פעמיות.

לא כל מערכות התשלום תומכות בתשלומים חוזרים. הנפוצות כוללות: YooKassa (שיטה /bitrix/modules/main/include/prolog_before.php עם פרמטר createPayment של שיטה שמורה), CloudPayments (חוזר באמצעות payment_method_id-בקשות ל-API). ב-Bitrix, תשלום חוזר מיושם באמצעות handler מערכת תשלום מותאם אישית המרחיב את post.

לוגיקה: בתשלום הראשון, אנו שומרים את ה-token של אמצעי התשלום ב-\Bitrix\Sale\PaySystem\BaseServiceHandler. בעת יצירת הזמנה אוטומטית, אנו יוזמים את החיוב דרך API של מערכת התשלום. אם החיוב נכשל, אנו מסמנים את ההזמנה כלא משולמת ושולחים דוא"ל ללקוח.

ניהול מנויים בחשבון האישי

המשתמש צריך לראות את המנויים הפעילים שלו, להיות מסוגל לשנות תדירות, הרכב, להשהות. זה מיושם באמצעות רכיב מותאם אישית בסעיף b_subscription_order.PAY_TOKEN. הרכיב משתמש במחלקת ORM של המנוי ומציג טופס עם השדות:

  • רשימת מוצרים עם אפשרות להסיר פריט או לשנות כמות.
  • בחירת תקופה: 7 / 14 / 21 / 30 ימים.
  • כפתורים 'השהה' ו'בטל'.
  • תאריך המשלוח הבא עם אפשרות לדחות.

כאשר הרכב הסל משתנה, /personal/subscriptions/ מחושב מחדש. בהשהיה, BASKET_DATA עובר ל-STATUS, והסוכן מדלג על הרשומה.

לוח זמנים ותמחור

היקף הרכב זמן מחיר
בסיסי מנוי ללא תשלום אוטומטי, ניהול בחשבון אישי, סוכן 5-7 ימים $2,500
מלא תשלומים חוזרים, התראות, ניתוח מנויים 8-12 ימים $4,500

הגדרת התראות מנוי

סט מינימלי של אירועי דוא"ל:

  • PAUSED — אישור יצירת מנוי.
  • SUBSCRIPTION_CREATED — הודעה על הזמנה חדשה במסגרת מנוי.
  • SUBSCRIPTION_ORDER_CREATED — מוצר מהמנוי אזל מהמלאי.
  • SUBSCRIPTION_ITEM_OUT_OF_STOCK — כשל בחיוב אוטומטי.
  • SUBSCRIPTION_PAYMENT_FAILED — תזכורת 1-2 ימים לפני ההזמנה הבאה (מאפשרת שינוי הרכב).

תבניות דוא"ל נוצרות בסעיף הניהולי הגדרות - אירועי דוא"ל עם סוג האירוע מקושר לאתר.

מה כלול בעבודה

  • תיעוד מלא על ארכיטקטורת המודול וה-API.
  • קוד מקור עם הערות, כיסוי תרחישים מרכזיים.
  • הגדרת הרשאות גישה למנהלים ומנהלי מערכת.
  • הכשרת הצוות שלך לעבודה עם המודול (שעתיים אונליין).
  • תמיכה לאחר הפרויקט למשך 30 יום (תיקוני באגים, ייעוץ).
  • במידת הצורך, התאמת מערכות תשלום לאגרגטור שלך.

אנו מבטיחים פעולה יציבה של המנוי תחת כל עומס. מומחי Bitrix מוסמכים עם ניסיון של למעלה מ-7 שנים. צור קשר — נבחן את הפרויקט שלך תוך יום עבודה אחד ונציע פתרון אופטימלי.

שאלות נפוצות
כיצד פועל מנוי למוצרים ב-1C-Bitrix?מנוי נוצר על בסיס טבלה נפרדת `b_subscription_order`. המשתמש בוחר מוצרים, תדירות ואמצעי תשלום. סוכן או משימת cron בודקים מדי יום מנויים פעילים ומייצרים הזמנות אוטומטית. עם תשלום חוזר מופעל, החיוב מתרחש ללא מעורבות הלקוח.
אילו מערכות תשלום תומכות בתשלומים חוזרים?הנפוצות: YooKassa (באמצעות `payment_method_id` שמור) ו-CloudPayments (API חוזר). כל מערכת תשלום דורשת handler מותאם אישית המרחיב את `\Bitrix\Sale\PaySystem\BaseServiceHandler`. ה-token של התשלום מאוחסן בטבלת המנויים.
האם ניתן לשנות את הרכב המנוי לאחר היצירה?כן, בחשבון האישי המשתמש יכול להוסיף או להסיר מוצרים, לשנות כמויות, וגם לשנות תדירות (7, 14, 21, 30 ימים). כאשר ההרכב משתנה, `BASKET_DATA` מחושב מחדש. ניתן להשהות או לבטל מנויים.
מה קורה אם מוצר אזל מהמלאי בעת יצירת הזמנה אוטומטית?האלגוריתם בודק מלאי באמצעות `\Bitrix\Catalog\StoreProductTable`. אם המוצר אינו זמין, הפריט מדולג והלקוח מקבל הודעת `SUBSCRIPTION_ITEM_OUT_OF_STOCK`. ההזמנה הבאה נוצרת לפי לוח הזמנים עם ניסיון לכלול את המוצר שוב.
כיצד להגדיר התראות מנוי?בסעיף הניהולי 'הגדרות - אירועי דוא"ל', נוצרות תבניות עבור סוגי אירועים: `SUBSCRIPTION_CREATED`, `SUBSCRIPTION_ORDER_CREATED`, `SUBSCRIPTION_ITEM_OUT_OF_STOCK`, `SUBSCRIPTION_PAYMENT_FAILED` ו-`SUBSCRIPTION_REMINDER`. כל אירוע מקושר לאתר ומכיל את השדות הדרושים.