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

שאלו את ה-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 .

     

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