Implements the IPurchase interface to provide purchase and immediate payment capabilities when using DataCash as your payment provider.
상속: IPurchase
예제 #1
0
        public void DataCash_Response_Contains_Payment_Id()
        {
            var http = new Mock<IHttpPostTransport>();
            var dataCashReference = Guid.NewGuid().ToString();
            http
                .Setup(h => h.Post(It.IsAny<Uri>(), It.IsAny<string>()))
                .Returns(this.MakeXmlResponse(1, "Success", dataCashReference));

            var gw = new DataCashPaymentGateway(http.Object, CLIENT_ID, PASSWORD, GATEWAY_URI);
            var response = gw.Purchase(TestData.MerchantReference, TestData.Amount, TestData.Card);
            Assert.Equal(dataCashReference, response.PaymentId);
        }
예제 #2
0
 private void Verify_Purchase_Xml_Element(string xpath, string expectedValue)
 {
     var http = new Mock<IHttpPostTransport>();
     http
         .Setup(h => h.Post(It.IsAny<Uri>(), It.IsAny<string>()))
         .Callback((Uri uri, string postData) => {
                       var xml = XDocument.Parse(postData);
                       var element = xml.XPathEvaluate(xpath);
                       Assert.NotNull(element);
                       if (element is XElement) {
                           Assert.Equal(expectedValue, ((XElement) element).Value);
                       } else if (element is XAttribute) {
                           Assert.Equal(expectedValue, ((XAttribute) element).Value);
                       }
                   }).Returns(this.MakeXmlResponse(1, "Success result from HTTP mock"));
     var gw = new DataCashPaymentGateway(http.Object, CLIENT_ID, PASSWORD, GATEWAY_URI);
     gw.Purchase(TestData.MerchantReference, TestData.Amount, TestData.Card);
     http.VerifyAll();
 }
예제 #3
0
        private PaymentResponse Get_Mock_DataCash_Response(int dataCashReturnCode, string dataCashReason)
        {
            var http = new Mock<IHttpPostTransport>();
            http
                .Setup(h => h.Post(It.IsAny<Uri>(), It.IsAny<string>()))
                .Returns(this.MakeXmlResponse(dataCashReturnCode, dataCashReason));

            var gw = new DataCashPaymentGateway(http.Object, CLIENT_ID, PASSWORD, GATEWAY_URI);
            return (gw.Purchase(TestData.MerchantReference, TestData.Amount, TestData.Card));
        }