מרכז הידע / תוכנת קארדקום

שאלו את ה-AI

✦ תשובת ה-AI

חושב…

מקורות

    WEBHOOK (וובהוק) - דיווח למערכת חיצונית - הוראת קבע ל צד ג'

    דיווח למערכת חיצונית הוראת קבע

    שימו לב.

    1.  עליך לדעת לטפל בדיווח כפול. ניתן לבדוק דיווחים כפולים לפי המספר עסקה עם פרטר InternalDealNumber.
    2. מערכת הוראות קבע מאפשרת דיווח בעת שינוי סטטוס של ההוראה (עובד בפורטים 80 ו 443).

     

    הגדרות :

    לביצוע הגדרת הדיווח עבור בסרגל הכלים אל > הגדרות -> 6.הוראת קבע -> 1.הגדרות כלליות  . יש להגיד לחלק "למפתחים"

    mceclip0.png

    1.יש לסמן דיווח למערכת חיצונית - פעיל.

    2. כתובת לדיווח POST : יש למלא את שדה הכתובת לדיווח בPOST

    3.שדה סוד להוספה בדיווח (שדה מומלץ) : מחרוזת שתשלח בנוסף לפרמטרים של ההוראה לווידוי כי נשלח משרתי קארדקום.

    4. בצע דיווח MasterRecurring - יש לבחור את סוג הדיוח לרשומה מסוג MasterRecurring , שינוי בכול שדה - יבוצע דיוח בכול שינוי בשדה. או "בשינוי שדה בהוראה פעילה בלבד" יבוצע דיווח רק אם ההוראה הופעלה או בוטלה ( לא יהיה דיוווח כאשר יתעדכן שדה אחר)

     

    ישנם שתי סוגי התראות :

    1. התראה בעת יצירה של הוראה לחיוב.  RecordType=MasterRecurring

    2. התראה בעת חיוב בפועל או שינוי סטטוס של חיוב בפועל. DetailRecurring=RecordType 

    לדוגמה:

    משתמש יצר הוראה לחיוב של 12 חיובים על 100 ש"ח לתשלום. תתקבל התראה מסוג RecordType=MasterRecurring.

    לאחר מכן במשך 12 חודשים יתקבלו 12 התראות של ביצוע חיוב מסוג DetailRecurring=RecordType .

     

    התראה מסוג הוראה לחיוב RecordType=MasterRecurring:

    המערכת תבצע התראה כאשר :

    1. יצירה של הוראה חדשה .
    2. שינוי סטטוס פעיל  , לא פעיל/פעיל .
    3. יש ניסיון לחיוב שנכשל.

    אפשר להגדיר שהמערכת תדווח על כל שינוי בשדות אם תלכו ל- הגדרות -> 6 -> 1 וב''בצע דיוח כאשר''

    תבחרו ב''כול שינוי בשדות''.

    טבלת פרמטרים :

    מספר פרמטר ערכים אפשריים לדוגמא תיאור
    1 AccountId 123 מזהה יחוד של לקוח
    2 RecurringId 2000 מספר ההוראה לחיוב שרוצים 
    3 RecordType "MasterRecurring" סוג ההוראה
    4 Secret "Th3_$1cret" סוד להוספה בדיווח
    5 TerminalNumber 1000 מספר הטרמינל
    6 InternalDecription "קורס השתלמות" תאור שם להוראה לחיוב 
    7 CreateDate 01/04/2016 תאריך פתיחה
    8 LastProssesDate  10/04/2016 תאריך חיוב אחרון
    9 NextDateToBill  10/05/2016 תאריך חיוב הבא
    10 TotalNumOfBills 3  מספר תשלומים
    11 NumOfPaymentsAlreadyCharged 2 תשלומים שחויבו
    12 IsActive true  הוראה פעילה
    13 TimeIntervalId    מרווח חיוב
    14  FinalDebitCoinId 1 - שקל
    2 - דולר 
    ועוד (ראה סוגי מטבעות)
    קוד מטבע לחיוב
    15  IsInvoiceCreate true / false  צור חשבונית
    16  Comments ''שילם במזומן 200'' הערות פנימיות (לא ללקוח)
    17 IsPrintNumOfPayments true / fasle  הדפס מס' תשלומים
    18  DepartmentId 57  קוד מחלקה
    19  UserId 23  קוד סוכן
    20  IsByProducts    
    21  FlexItem.InvoiceDescription ''קורס בישול'' תיאור החשבונית 
    22  FlexItem.Price 150 המחיר החודשי לתשלום 
    מחיר פריט / מחירון
    23  FlexItem.ProductId 1000215 מק''ט- קוד פריט(במידה ויש)
    24 FlexItem.IsLinkTo  true / false  האם לבצע הצמדה
    25  FlexItem.IsPriceIncludeVat  true \ false  מחיר פריט עם/בלי מע"מ
    true  - הלקוח יחויב את הסכום המעובר והמע"מ יחולץ מהמסכם.( 100 יהיה 100 כולל מע"מ)
    false - יתבסף מע"מ על הסכום המועבר (100 יהיה 100 + מע"מ לדוגמה 117 )
    26 FlexItem.OpenRateForLinkTo 0.0000 מדד בסיס
    27 IsReNewOrder true \ fasle    חידוש מחזורי פעיל
    28 IsPrintBillMonth true \ false  הדפס עבור חודש X

     

    התראה מסוג חיוב בפועל DetailRecurring=RecordType .

    1.המערכת תבצע התראה בעת שינוי סטטוס של הרשומה:

    רשימה ערכי Status:

    מספר תיאור ערך
    1 חויב בהצלחה  "SUCCESSFUL"
    2 ממתין לחיוב אשראי  "PENDINGFORPROCESSING"
    3 ממתין לחיוב אוטומטי "DEBTAUTOBILLING"
    4 סומן ידני כחוב אבוד  "LOSTDEBT"
    5  סומן ידני כשולם באמצעי תשלום אחר PAYBYOTHERE
    6 הוקפא ידני  "ONHOLD"
    7  אחר ''OTHER''

     

    רשימה מלאה של כל הפרמטרים :

    מספר פרמטר ערכים אפשריים לדוגמא תיאור
    1 AccountId 123 מזהה יחוד של לקוח
    2 RecurringId 160 מספר ההוראה לחיוב שרוצים
    3 RowID 140 מזהה חיוב
    4  RecordType  "DetailRecurring"  סוג הוראה
    5 Secret ''סוד'' סוד להוספה בדיווח
    6  Status "SUCCESSFUL"  סטטוס חיוב
    7  TerminalNumber 1000 מספר המסוף לחיוב 
    8  CreateDate 01/05/2020  תאריך פתיחה
    9  InvoiceDescription " קורס X '' תיאור לחשבונית
    10 LastBillDate 10/05/2021  תאריך חיוב אחרון
    11  OriginalNextDateToBill 10/05/2020 תאריך חיוב מקורי
    12 FinalDebitCoinId 1 - שקל
    2 - דולר 
    ועוד (ראה סוגי מטבעות)
     קוד מטבע לחיוב
    13 DepartmentId 55  קוד מחלקה
    14  IsInvoiceCreate true / false   האם ליצור חשבונית
    15  UserId 55   קוד סוכן
    16  PaymentNum 2  תשלום מס'
    17  IsReNewOrder true \ false  חידוש מחזורי פעיל
    18 ProductId 652  קוד פריט - מק"ט
    19 DocumentType 1 - "חשבונית קבלה" סוג המסמך שהופק - יש להתחבר ל וובהוק של מסמכים (כי החשבונית מופקת באיחור מהחיוב)

     
    20 DocumentNumber  22 מספר מסמך - יש להתחבר ל וובהוק של מסמכים (כי החשבונית מופקת באיחור מהחיוב)
    21 Quantity 1 כמות 
    22  IsIncludesVAT true \ false האם כולל מע''מ
    23  VAT 0.17 מע''מ
    24  Sum 125.50  סכום לחיוב עשרוני בפועל
    25  SumNoVat 110.50 סכום לחיוב ללא מע''מ
    26 InternalDealNumber 88365478 (int64) מספר חיוב כרטיס אשראי 
    27 ResposeCode 0 קוד תשובה מחברת האשראי
    28 ProcessID 1 מספר תהליך חיוב
    29 BillingAttempts 1 מספר ניסיונות חיוב
    30 ActualBillingType BankOrder \ CreditCard אמצעי תשלום אשראי/בנק
    31  ReturnValue מחרוזת 50 ערך להחזרה - מועבר בעת יצירה של הוראה בממשק או בעריכה ידנית של הוראה לחיוב 
    32 UID מחרוזת  מזהה עסקה יחודי מול שבא

     

     

    בדיקות לוגים לדיווחים צג ג':

    ניתן לבדוק את סטטוס הדיווחים דרך מערכת הניהול  :

    כדי לבדוק את סטוטס דיווח RecordType=MasterRecurring  יש להיכס אל : הוראת קבע ->  דוח רישום הוראות לחיוב.
    כדי לבדוק את סטוטס דיווח RecordType=DetailRecurring יש להיכנס אל :   הוראת קבע ->   דוח היסטורית חיובים.

     

    יש להוסיף בבוחר השדות את שדות : 

    1. ממשקים - תשובת ממשק - מה הטקסט שחזר השרת שמקבל את ה WEBHOOK  או שגיאת ה HTTP 

    2. ממשקים - תאריך נסיון הבא - תאריך ניסיון הבאה לפנייה לשרת שמקבל את ה WEBHOOK

    3. ממשקים - מספר נסיונות - כמה פעמים כבר ניסינו

    4. ממשקים - האם לבצע דיווח ? - אם כן אז המערכת תבצע דיווח נוסף ( או ראשון) אם לא - לא יבוצע יותר דיווחים


    mceclip0.png

     

    לתרגום הדיווח מגיע ב URL ENCODE ניתן להיעזר באתר הבא לבצע תרגום לשדות :

    https://meyerweb.com/eric/tools/dencoder

     

    אתרי טסטים לדיווחי WEBHOOK :

    במידה ואתה מפתח ועדין אין שרת ONLINE אתה יכול להשתמש באחד הארתרים הבאים לבצע בדיקות. יש להגדרת את כתובת הדיווח במערכת קארדקום אליהם.

    https://pipedream.com

    https://webhook.site

    https://webhook.cool/
     

    במקרה של תקלה בדיווח עסקה מהשרת של קארדקום לשרת של הלקוח  

    נדרש לפתוח את כל טווחי הכתובת IP הבאים של קארדקום בחומת האש של החברה (גם ב cloudflare למי שיש)

    - 82.80.227.17/255.255.255.248 (CIDR 29) >> מחשבון subnet

    - 82.80.222.124/255.255.255.248 (CIDR 29) >> מחשבון subnet

    בנוסף יש לפתוח כמובן PORT ים : 80 , 8080 , 443 .

     

    האם המאמר הזה עזר לך?