דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. שליחת POST לנדרים+ ב VBA

שליחת POST לנדרים+ ב VBA

מתוזמן נעוץ נעול הועבר תכנות
22 פוסטים 6 כותבים 1.1k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • aaaaA מנותק
    aaaaA מנותק
    aaaa
    כתב ב נערך לאחרונה על ידי aaaa
    #1

    אנחנו מעוננים לבצע חיוב אשראי בנדרים פלוס דרך אקסס
    הבקשה נשלחת מהאתר בצורה כזאת כפי שאפשר לראות דרך הקונסול, וכפי שהראה זאת כאן @חוקר

    https://www.matara.pro/nedarimplus/V6/Files/WebServices/DebitCard.aspx?Mosad=123456&ClientName=&Adresse=&Phone=0512345678&ClientId=&CardNumber=4580458045804580&Tokef=1219&Amount=520&Tashloumim=12&Groupe=&Avour=Yemot&Token=&CVV=123&Zeout=123456789&Currency=1&MasofId=Online
    

    ניסנו להריץ את זה ב VB כפי שמופיע כאן (כמובן עם פרטי אשראי תקינים)
    במספר וויארציות שונות
    ותמיד התגובה היא

    { "Status" : "Error" , "Message" : "לא ניתן לשדר עסקה בצורה זו. פנה לתמיכה טכנית." }
    

    ובמערכת לא מופיע חיוב
    ורק במידה ואחד מהנתונים היה שגוי קיבלנו תגובה בהתאם

    אשמח לעזרה
    ואפילו בתשלום

    @OdedDvir

    צבי-שצ תגובה 1 תגובה אחרונה
    0
    • יהודי טובי מנותק
      יהודי טובי מנותק
      יהודי טוב
      כתב ב נערך לאחרונה על ידי
      #2

      @aaaa הייתי ממליץ לבצע את מה שכתוב בהודעת השגיאה, ולפנות לתמיכה שלהם.

      יש להם מענה מהיר, אני מאמין שהם יוכלו לעזור לך בצורה הטובה ביותר.

      aaaaA תגובה 1 תגובה אחרונה
      0
      • aaaaA מנותק
        aaaaA מנותק
        aaaa
        השיב ליהודי טוב ב נערך לאחרונה על ידי
        #3

        @יהודי-טוב דיברתי איתם. באופן רישמי הם לא תומכים בזה

        תגובה 1 תגובה אחרונה
        0
        • ח מנותק
          ח מנותק
          חוקר
          כתב ב נערך לאחרונה על ידי
          #4

          שיטת השליחה בנדרים השתנתה מ GET ל POST בלבד.
          עליך לבודד את הנתונים Mosad=123456&ClientName=&Adresse=&Phone=0512345678&ClientId=&CardNumber=4580458045804580&Tokef=1219&Amount=520&Tashloumim=12&Groupe=&Avour=Yemot&Token=&CVV=123&Zeout=123456789&Currency=1&MasofId=Online מה URL ולשלוח את המידע בPOST

          תגובה 1 תגובה אחרונה
          5
          • צבי-שצ מחובר
            צבי-שצ מחובר
            צבי-ש
            השיב לaaaa ב נערך לאחרונה על ידי
            #5

            @aaaa אמר בשליחת POST לנדרים+ ב VBA:

            אנחנו מעוננים לבצע חיוב אשראי בנדרים פלוס דרך אקסס
            הבקשה נשלחת מהאתר בצורה כזאת כפי שאפשר לראות דרך הקונסול, וכפי שהראה זאת כאן @חוקר

            https://www.matara.pro/nedarimplus/V6/Files/WebServices/DebitCard.aspx?Mosad=123456&ClientName=&Adresse=&Phone=0512345678&ClientId=&CardNumber=4580458045804580&Tokef=1219&Amount=520&Tashloumim=12&Groupe=&Avour=Yemot&Token=&CVV=123&Zeout=123456789&Currency=1&MasofId=Online
            

            ניסנו להריץ את זה ב VB כפי שמופיע כאן (כמובן עם פרטי אשראי תקינים)
            במספר וויארציות שונות
            ותמיד התגובה היא

            { "Status" : "Error" , "Message" : "לא ניתן לשדר עסקה בצורה זו. פנה לתמיכה טכנית." }
            

            ובמערכת לא מופיע חיוב
            ורק במידה ואחד מהנתונים היה שגוי קיבלנו תגובה בהתאם

            אשמח לעזרה
            ואפילו בתשלום

            @OdedDvir

            כמו שכתב חוקר וכמו שהסברתי לך באישי, הבקשה צריכה להישלח כפוסט.
            אולי תעלה את קוד הvba שניסת לשלוח ונבדוק איך אפשר להתאימו לשליחה בפוסט?

            aaaaA תגובה 1 תגובה אחרונה
            1
            • צבי-שצ מחובר
              צבי-שצ מחובר
              צבי-ש
              כתב ב נערך לאחרונה על ידי
              #6

              עכשיו אני רואה שהבאת מ"מ איך ניסת לשלוח
              תנסה לשנות איפה שכתוב post,false לpost, true
              כלומר שהשיטת שליחה תהיה פוסט

              תגובה 1 תגובה אחרונה
              0
              • aaaaA מנותק
                aaaaA מנותק
                aaaa
                השיב לצבי-ש ב נערך לאחרונה על ידי aaaa
                #7

                @צבי-ש @חוקר
                זה הקוד שהשתמשתי

                Dim TCRequestItem As Object
                Set TCRequestItem = CreateObject("WinHttp.WinHttpRequest.5.1")
                TCRequestItem.Open "POST", "https://www.matara.pro/nedarimplus/V6/Files/WebServices/DebitCard.aspx?Mosad=123456&ClientName=&Adresse=&Phone=0512345678&ClientId=&CardNumber=4580458045804580&Tokef=1219&Amount=520&Tashloumim=12&Groupe=&Avour=Yemot&Token=&CVV=123&Zeout=123456789&Currency=1&MasofId=Online", False
                TCRequestItem.setRequestHeader "Content-Type", "application/xml"
                TCRequestItem.setRequestHeader "Accept", "application/xml"
                TCRequestItem.send
                Debug.Print TCRequestItem.responseText
                

                איך אני מחלק את הנתונים מהכתובת?

                dovidD תגובה 1 תגובה אחרונה
                0
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  השיב לaaaa ב נערך לאחרונה על ידי
                  #8

                  @aaaa

                  Dim TCRequestItem As Object
                  Set TCRequestItem = CreateObject("WinHttp.WinHttpRequest.5.1")
                  TCRequestItem.Open "POST", "https://www.matara.pro/nedarimplus/V6/Files/WebServices/DebitCard.aspx", False
                  TCRequestItem.setRequestHeader "Content-Type", "application/xml"
                  TCRequestItem.setRequestHeader "Accept", "application/xml"
                  TCRequestItem.send "Mosad=123456&ClientName=&Adresse=&Phone=0512345678&ClientId=&CardNumber=4580458045804580&Tokef=1219&Amount=520&Tashloumim=12&Groupe=&Avour=Yemot&Token=&CVV=123&Zeout=123456789&Currency=1&MasofId=Online"
                  Debug.Print TCRequestItem.responseText
                  

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  aaaaA תגובה 1 תגובה אחרונה
                  3
                  • aaaaA מנותק
                    aaaaA מנותק
                    aaaa
                    השיב לdovid ב נערך לאחרונה על ידי aaaa
                    #9

                    @dovid אמר בשליחת POST לנדרים+ ב VBA:

                    @aaaa

                    Dim TCRequestItem As Object
                    Set TCRequestItem = CreateObject("WinHttp.WinHttpRequest.5.1")
                    TCRequestItem.Open "POST", "https://www.matara.pro/nedarimplus/V6/Files/WebServices/DebitCard.aspx", False
                    TCRequestItem.setRequestHeader "Content-Type", "application/xml"
                    TCRequestItem.setRequestHeader "Accept", "application/xml"
                    TCRequestItem.send "Mosad=123456&ClientName=&Adresse=&Phone=0512345678&ClientId=&CardNumber=4580458045804580&Tokef=1219&Amount=520&Tashloumim=12&Groupe=&Avour=Yemot&Token=&CVV=123&Zeout=123456789&Currency=1&MasofId=Online"
                    Debug.Print TCRequestItem.responseText
                    

                    לא עבד, הוא לא מצרף אותם

                    הפלט הוא

                    { "Status" : "Error" , "Message" : "פרמטר Mosad ריק" }
                    
                    dovidD OdedDvirO צבי-שצ 3 תגובות תגובה אחרונה
                    0
                    • dovidD מנותק
                      dovidD מנותק
                      dovid ניהול
                      השיב לaaaa ב נערך לאחרונה על ידי
                      #10

                      @aaaa אני לא מכיר את נדרים אבל ככה שולחים POST בWinHttpRequest.
                      אולי הוא מצפה לפורמט JSON, אבל לא ככה היה נשמע מ@חוקר.

                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                      צבי-שצ תגובה 1 תגובה אחרונה
                      2
                      • צבי-שצ מחובר
                        צבי-שצ מחובר
                        צבי-ש
                        השיב לdovid ב נערך לאחרונה על ידי
                        #11

                        @dovid אמר בשליחת POST לנדרים+ ב VBA:

                        @aaaa אני לא מכיר את נדרים אבל ככה שולחים POST בWinHttpRequest.
                        אולי הוא מצפה לפורמט JSON, אבל לא ככה היה נשמע מ@חוקר.

                        לא, שולחים רגיל לגמרי רק בפוסט.

                        תגובה 1 תגובה אחרונה
                        0
                        • OdedDvirO מנותק
                          OdedDvirO מנותק
                          OdedDvir
                          השיב לaaaa ב נערך לאחרונה על ידי
                          #12

                          @aaaa אמר בשליחת POST לנדרים+ ב VBA:

                          לא עבד, הוא לא מצרף אותם

                          הוא כן מצרף אותם. השגיאה היא ששלחת פרמטר מוסד ריק (כמו שכתוב בתגובה וכמו שענה לך @dovid ). תבדוק אם אתה אכן שולח מספר מוסד.
                          ב-VBA, יתכן גם שאתה משרשר אפילו פרמטר אחר עם ערך NULL - וכל המחרוזת מתאפסת, זה יקרה אם אתה מחבר מחרוזות עם + במקום עם &... תשתמש כמובן ב-&.

                          aaaaA תגובה 1 תגובה אחרונה
                          2
                          • צבי-שצ מחובר
                            צבי-שצ מחובר
                            צבי-ש
                            השיב לaaaa ב נערך לאחרונה על ידי
                            #13
                            פוסט זה נמחק!
                            תגובה 1 תגובה אחרונה
                            0
                            • aaaaA מנותק
                              aaaaA מנותק
                              aaaa
                              השיב לOdedDvir ב נערך לאחרונה על ידי aaaa
                              #14

                              @OdedDvir בדקתי הכל מחובר ב &
                              אבל הוא לא מצרף אותם
                              תיכנס לכתובת הזאת
                              https://www.matara.pro/nedarimplus/V6/Files/WebServices/DebitCard.aspx
                              בדפדפן ותראה

                              עוד נקודה מצאתי עכשיו דרך חיצונית לעשות את זה
                              בעזרת curl
                              רק שבגלל שזה חיצוני, זה קצת מסרבל
                              אצלו הפקודה

                              curl --data "Mosad=123456&ClientName=&Adresse=&Phone=0512345678&ClientId=&CardNumber=4580458045804580&Tokef=1219&Amount=520&Tashloumim=12&Groupe=&Avour=Yemot&Token=&CVV=123&Zeout=123456789&Currency=1&MasofId=Online" https://www.matara.pro/nedarimplus/V6/Files/WebServices/DebitCard.aspx
                              

                              עובדת חלק

                              OdedDvirO תגובה 1 תגובה אחרונה
                              0
                              • OdedDvirO מנותק
                                OdedDvirO מנותק
                                OdedDvir
                                השיב לaaaa ב נערך לאחרונה על ידי
                                #15

                                @aaaa אמר בשליחת POST לנדרים+ ב VBA:

                                תיכנס לכתובת הזאת
                                https://www.matara.pro/nedarimplus/V6/Files/WebServices/DebitCard.aspx
                                בדפדפן ותראה

                                זה - בוודאי יחזיר שגיאה, כי כשאני נכנס לכתובת בדפדפן אני מבצע בקשת GET, לא POST...

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

                                נו נו... זה פשוט מחזק את הטענה שהבקשה לא נשלחת נכון מ-VBA.

                                צבי-שצ תגובה 1 תגובה אחרונה
                                1
                                • צבי-שצ מחובר
                                  צבי-שצ מחובר
                                  צבי-ש
                                  השיב לOdedDvir ב נערך לאחרונה על ידי
                                  #16

                                  @OdedDvir אמר בשליחת POST לנדרים+ ב VBA:

                                  @aaaa אמר בשליחת POST לנדרים+ ב VBA:

                                  תיכנס לכתובת הזאת
                                  https://www.matara.pro/nedarimplus/V6/Files/WebServices/DebitCard.aspx
                                  בדפדפן ותראה

                                  זה - בוודאי יחזיר שגיאה, כי כשאני נכנס לכתובת בדפדפן אני מבצע בקשת GET, לא POST...

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

                                  נו נו... זה פשוט מחזק את הטענה שהבקשה לא נשלחת נכון מ-VBA.

                                  לכאורה הוא התכוון שזה מראה את אותה שגיאה כמו שמראה שגיאה שלא נשלח פרמטרים, ולכן הוא אמר שיש שגיאה בצורת שליחה

                                  תגובה 1 תגובה אחרונה
                                  1
                                  • OdedDvirO מנותק
                                    OdedDvirO מנותק
                                    OdedDvir
                                    כתב ב נערך לאחרונה על ידי OdedDvir
                                    #17

                                    @aaaa קצת דיבוג יעזור פה. תשנה את הקוד לקוד הבא:

                                    Dim TCRequestItem As Object
                                    Set TCRequestItem = CreateObject("WinHttp.WinHttpRequest.5.1")
                                    TCRequestItem.Open "POST", "https://www.matara.pro/nedarimplus/V6/Files/WebServices/DebitCard.aspx", False
                                    TCRequestItem.setRequestHeader "Content-Type", "application/xml"
                                    TCRequestItem.setRequestHeader "Accept", "application/xml"
                                    Dim Body As String
                                    Body = "Mosad=123456&ClientName=&Adresse=&Phone=0512345678&ClientId=&CardNumber=4580458045804580&Tokef=1219&Amount=520&Tashloumim=12&Groupe=&Avour=Yemot&Token=&CVV=123&Zeout=123456789&Currency=1&MasofId=Online"
                                    Debug.Print Body
                                    Stop
                                    TCRequestItem.send Body
                                    Debug.Print TCRequestItem.responseText
                                    

                                    וכשהוא מגיע לנקודת העצירה ב Stop תבדוק מה מודפס בחלון Immediate (ה"קונסול" של VBA)
                                    (כמובן שתבנה את Body כפי שאתה רוצה לשלוח באמת...)

                                    צבי-שצ תגובה 1 תגובה אחרונה
                                    1
                                    • צבי-שצ מחובר
                                      צבי-שצ מחובר
                                      צבי-ש
                                      השיב לOdedDvir ב נערך לאחרונה על ידי צבי-ש
                                      #18

                                      @OdedDvir אמר בשליחת POST לנדרים+ ב VBA:

                                      @aaaa קצת דיבוג יעזור פה. תשנה את הקוד לקוד הבא:

                                      Dim TCRequestItem As Object
                                      Set TCRequestItem = CreateObject("WinHttp.WinHttpRequest.5.1")
                                      TCRequestItem.Open "POST", "https://www.matara.pro/nedarimplus/V6/Files/WebServices/DebitCard.aspx", False
                                      TCRequestItem.setRequestHeader "Content-Type", "application/xml"
                                      TCRequestItem.setRequestHeader "Accept", "application/xml"
                                      Dim Body As String
                                      Body = "Mosad=123456&ClientName=&Adresse=&Phone=0512345678&ClientId=&CardNumber=4580458045804580&Tokef=1219&Amount=520&Tashloumim=12&Groupe=&Avour=Yemot&Token=&CVV=123&Zeout=123456789&Currency=1&MasofId=Online"
                                      Debug.Print Body
                                      Stop
                                      TCRequestItem.send Body
                                      Debug.Print TCRequestItem.responseText
                                      

                                      וכשהוא מגיע לנקודת העצירה ב Stop תבדוק מה מודפס בחלון Immediate (ה"קונסול" של VBA)
                                      (כמובן שתבנה את Body כפי שאתה רוצה לשלוח באמת...)

                                      בדקתי בשבילו.. (גם לי יהיה שימוש עם אצליח לסלוק דרך אקסס)
                                      זה מחזיר את כל הערכים עם & בין אחד לשני,
                                      אבל כשאני ממשיך ותכלס שולח זה עושה לי ERORR

                                      (ככה זה מחזיר [מספר מוסד הראשון שמצאתי בנדרים])

                                      Mosad=7006059&ClientName=&Adresse=&Phone=0512345678&ClientId=&CardNumber=4580458045804580&Tokef=1219&Amount=520&Tashloumim=12&Groupe=&Avour=Yemot&Token=&CVV=123&Zeout=123456789&Currency=1&MasofId=Online
                                      { "Status" : "Error" , "Message" : "פרמטר Mosad ריק" }
                                      
                                      תגובה 1 תגובה אחרונה
                                      2
                                      • צבי-שצ מחובר
                                        צבי-שצ מחובר
                                        צבי-ש
                                        כתב ב נערך לאחרונה על ידי צבי-ש
                                        #19

                                        @aaaa קח תהנה.

                                        Dim XMLHTTP
                                        Dim result As String
                                        Dim argumentString
                                        argumentString = "Mosad=7006356&ClientName=&Adresse=&Phone=0345677765&ClientId=&CardNumber=4580458045804580&Tokef=0776&Amount=1&Tashloumim=1&Groupe=&Avour=Yemot&Token=&CVV=386&Zeout=123456789&Currency=1&MasofId=Online"
                                        Set XMLHTTP = CreateObject("MSXML2.XMLHTTP.6.0")
                                        XMLHTTP.Open "POST", _
                                            "https://www.matara.pro/nedarimplus/V6/Files/WebServices/DebitCard.aspx", False
                                        XMLHTTP.setRequestHeader "Content-type", "application/x-www-form-urlencoded; charset=UTF-8"
                                        XMLHTTP.send argumentString
                                        result = XMLHTTP.responsetext
                                        Set XMLHTTP = Nothing
                                        Debug.Print result
                                        

                                        בדקתי אצלי וזה עובד

                                        aaaaA תגובה 1 תגובה אחרונה
                                        3
                                        • aaaaA מנותק
                                          aaaaA מנותק
                                          aaaa
                                          השיב לצבי-ש ב נערך לאחרונה על ידי
                                          #20

                                          @צבי-ש
                                          @OdedDvir
                                          @dovid
                                          עזרתם לי מאוד
                                          תודה על הכל

                                          צבי-שצ תגובה 1 תגובה אחרונה
                                          1

                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום