Ejemplo n.º 1
0
        public void Write_Then_Read_InsertOrderWithPayment()
        {
            // Arrange
            var request = new InsertOrderWithPayment
            {
                Meta    = { MerchantId = 1 },
                Order   = { Amount = 100, CurrencyCode = "EUR", CountryCode = "DK", LanguageCode = "dn" },
                Payment = { PaymentProductId = 3, Amount = 100, CurrencyCode = "EUR", CountryCode = "DK", LanguageCode = "dn" }
            };

            // Act
            var text = ConvertApiDataPartToString(request);

            var request2 = new InsertOrderWithPayment();

            request2.FromModifiedXml(new ModifiedXmlDocument(text), string.Empty);

            // Assert
            Assert.AreEqual(1, request2.Meta.MerchantId);

            Assert.AreEqual(100, request2.Order.Amount);
            Assert.AreEqual("EUR", request2.Order.CurrencyCode);
            Assert.AreEqual("DK", request2.Order.CountryCode);
            Assert.AreEqual("dn", request2.Order.LanguageCode);

            Assert.AreEqual(3, request2.Payment.PaymentProductId);
            Assert.AreEqual(100, request2.Payment.Amount);
            Assert.AreEqual("EUR", request2.Payment.CurrencyCode);
            Assert.AreEqual("DK", request2.Payment.CountryCode);
            Assert.AreEqual("dn", request2.Payment.LanguageCode);
        }
Ejemplo n.º 2
0
        public void Read_InsertOrderWithPaymentReponse()
        {
            // Arrange
            var response = new InsertOrderWithPayment();

            // Act
            response.FromModifiedXml(new ModifiedXmlDocument(InsertOrderWithPaymentSuccessReplyText), string.Empty);

            // Assert.
            Assert.IsNotNull(response.Response);
            Assert.AreEqual("OK", response.Response.Result);
            Assert.AreEqual(1199821, response.Response.Meta.RequestId);
            Assert.IsNotNull(response.Response.PaymentRows);
            Assert.AreEqual(1, response.Response.PaymentRows.Count);
        }
Ejemplo n.º 3
0
        public void InsertOrderWithPayment()
        {
            // Arrange
            var request = new InsertOrderWithPayment
            {
                Meta    = { MerchantId = 7454 },
                Order   = { Amount = 100, CurrencyCode = "EUR", CountryCode = "DK", LanguageCode = "da", MerchantReference = "MyReference12345" },
                Payment = { Amount = 100, CurrencyCode = "EUR", CountryCode = "DK", LanguageCode = "da", PaymentProductId = 123 }
            };

            var text   = request.ToString();
            var caller = new ServiceApiCaller("HTTPS://ps.gcsip.nl/wdl/wdl");

            // Act
            var responseText = caller.Send(text);

            // Assert
            AssertResponseOk(responseText);
        }
        public virtual IEnumerable <IPaymentData> CreatePayment(PaymentMethod paymentMethod, CreatePaymentRequestDto request)
        {
            var insertOrder = new InsertOrderWithPayment
            {
                Meta =
                {
                    MerchantId = paymentMethod.DynamicProperty <int>().MerchantId
                },
                Order =
                {
                    Amount            = request.Amount,
                    CurrencyCode      = request.CurrencyCode,
                    CountryCode       = request.CountryCode,
                    LanguageCode      = _languageCodeMapper.Convert(request.LanguageCode),
                    MerchantReference = request.MerchantReference,

                    //Address fields
                    BillingAddress  = request.BillingAddress,
                    ShippingAddress = request.ShippingAddress
                },
                Payment =
                {
                    Amount                     = request.Amount,
                    CurrencyCode               = request.CurrencyCode,
                    CountryCode                = request.CountryCode,
                    LanguageCode               = request.LanguageCode,
                    PaymentProductId           = request.PaymentProductId,
                    ReturnUrl                  = request.ReturnUrl,
                    UseAuthenticationIndicator = request.UseAuthenticationIndicator
                }
            };

            var responseText = SendTextAndCheckResponseForErrors(GetServiceUrl(paymentMethod), insertOrder.ToString());

            var response = new InsertOrderWithPayment();

            response.FromModifiedXml(new ModifiedXmlDocument(responseText), string.Empty);

            return(new List <PaymentData>(response.Response.PaymentRows));
        }