Attribute VB_Name = "ZCreditWS" Const strXML As String = "" & _ "" & _ " " & _ " " & _ " @TerminalNumber@ " & _ " @Password@ " & _ " " & _ " @CardNumber@" & _ " @ExpDate_MMYY@" & _ " @TransactionSum@" & _ " @HolderID@" & _ " @CVV@" & _ " @IsCustomerPresent@" & _ " " & _ " " & _ " " & _ "" Const strValidXML As String = "" & _ "" & _ "" & _ "" & _ "@TerminalNumber@" & _ "@Password@" & _ "" & _ "@CardNumber@" & _ "@ExpDate_MMYY@" & _ "" & _ "" & _ "" Public Const strURL As String = "https://pci.zcredit.co.il/ZCreditWS.asmx" Public Type ValidateResponse Result As Boolean Result_Code As Integer Result_Message As String CardName As String XML As String End Type Public Type SimpleTranResponse Result As Boolean Result_Code As Integer Result_Message As String AuthNum As String CardName As String CardIssuerCode As String CardFinancerCode As String CardBrandCode As String ReferenceNumber As Integer VoucherNumber As String ApprovalType As String XML As String End Type 'ValidateCard "0963222014", "0963222014", "4580000000000000", "1214" Public Function ValidateCard(ByVal TerminalNumber As String, ByVal Password As String, ByVal CardNumber As String, _ ByVal ExpDate As String) As ValidateResponse Dim sXML As String Dim strSoapAction As String strSoapAction = "http://z-credit.com/ValidateCard" sXML = strValidXML sXML = Replace(sXML, "@TerminalNumber@", TerminalNumber) sXML = Replace(sXML, "@Password@", Password) sXML = Replace(sXML, "@CardNumber@", CardNumber) sXML = Replace(sXML, "@ExpDate_MMYY@", ExpDate) Set sRes = SendRequest(sXML, strURL, strSoapAction) If (sRes Is Nothing) Then ValidateCard.Result = False ValidateCard.Result_Message = "Local error : " + Err.Description Exit Function End If With ValidateCard .Result = IIf(sRes.getElementsByTagName("ValidateCardResult").Item(0).Text = "true", True, False) .Result_Code = sRes.getElementsByTagName("Validation_Result_Code").Item(0).Text .Result_Message = sRes.getElementsByTagName("Validation_Result_Message").Item(0).Text .CardName = sRes.getElementsByTagName("CardName").Item(0).Text End With End Function 'SimpleTran "0963222014", "0963222014", "4580000000000000", "1214", 0.01, "" Public Function SimpleTran(ByVal TerminalNumber As String, ByVal Password As String, ByVal CardNumber As String, _ ByVal ExpDate As String, ByVal TransactionSum As Single, ByVal HolderID As String, _ Optional ByVal CVV As String = "", Optional ByVal IsCustomerPresent As Boolean = False) As SimpleTranResponse Dim sXML As String Dim strSoapAction As String Dim sRes As MSXML2.DOMDocument sXML = strXML strSoapAction = "http://z-credit.com/CommitSimpleTransaction" sXML = Replace(sXML, "@TerminalNumber@", TerminalNumber) sXML = Replace(sXML, "@Password@", Password) sXML = Replace(sXML, "@CardNumber@", CardNumber) sXML = Replace(sXML, "@ExpDate_MMYY@", ExpDate) sXML = Replace(sXML, "@TransactionSum@", Format(TransactionSum, "#.00")) sXML = Replace(sXML, "@HolderID@", HolderID) sXML = Replace(sXML, "@CVV@", CVV) sXML = Replace(sXML, "@IsCustomerPresent@", IIf(IsCustomerPresent, "true", "false")) Set sRes = SendRequest(sXML, strURL, strSoapAction) If (sRes Is Nothing) Then SimpleTran.Result = False SimpleTran.Result_Message = "Local error : " + Err.Description Exit Function End If With SimpleTran .Result = IIf(sRes.getElementsByTagName("CommitSimpleTransactionResult").Item(0).Text = "true", True, False) .Result_Code = sRes.getElementsByTagName("Validation_Result_Code").Item(0).Text .Result_Message = sRes.getElementsByTagName("Validation_Result_Message").Item(0).Text .ApprovalType = sRes.getElementsByTagName("ApprovalType").Item(0).Text .AuthNum = sRes.getElementsByTagName("AuthNum").Item(0).Text .CardBrandCode = sRes.getElementsByTagName("CardBrandCode").Item(0).Text .CardFinancerCode = sRes.getElementsByTagName("CardFinancerCode").Item(0).Text .CardIssuerCode = sRes.getElementsByTagName("CardIssuerCode").Item(0).Text .CardName = sRes.getElementsByTagName("CardName").Item(0).Text .ReferenceNumber = sRes.getElementsByTagName("ReferenceNumber").Item(0).Text .VoucherNumber = sRes.getElementsByTagName("VoucherNumber").Item(0).Text End With End Function Private Function SendRequest(ByVal strXML As String, ByVal strURL As String, ByVal strSoapAction As String) As Object 'Dim objDom As Object Dim objXmlHttp As Object Dim objRet As Object Dim strRet As String ' Create objects to DOMDocument and XMLHTTP Set objDom = CreateObject("MSXML2.DOMDocument") Set objRet = CreateObject("MSXML2.DOMDocument") Set objXmlHttp = CreateObject("MSXML2.XMLHTTP") ' Load XML objDom.async = False objDom.loadXML strXML ' Open the webservice objXmlHttp.open "POST", strURL, False ' Create headings objXmlHttp.setRequestHeader "Content-Type", "text/xml; charset=utf-8" objXmlHttp.setRequestHeader "SOAPAction", strSoapAction ' Send XML command On Error GoTo Err objXmlHttp.send objDom.XML ' Get all response text from webservice strRet = objXmlHttp.responseText If Not objRet.loadXML(strRet) Then Err.Raise objRet.parseError.ErrorCode, , objRet.parseError.reason End If ' Close object Set objXmlHttp = Nothing Set objDom = Nothing Set SendRequest = objRet Exit Function Err: End Function