Purchase() public method

Attempts to debit the specified amount from the supplied payment card.
public Purchase ( string merchantReference, Kurejito.Payments.Money amount, PaymentCard card ) : PaymentResponse
merchantReference string An alphanumeric reference supplied by the merchant that uniquely identifies this transaction
amount Kurejito.Payments.Money The amount of money to be debited from the payment card (includes the ISO4217 currency code).
card Kurejito.Payments.PaymentCard An instance of containing the customer's payment card details.
return PaymentResponse
Ejemplo n.º 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);
        }
Ejemplo n.º 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();
 }
Ejemplo n.º 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));
        }