Exemplo n.º 1
0
        public ManagerResponse <GetPaymentMethodsResult, IEnumerable <PaymentMethod> > GetPaymentMethods(string userId, PaymentOption paymentOption)
        {
            Assert.ArgumentNotNull(paymentOption, "paymentOption");

            var request = new GetPaymentMethodsRequest(paymentOption);
            var result  = this.PaymentServiceProvider.GetPaymentMethods(request);

            result.WriteToSitecoreLog();

            return(new ManagerResponse <GetPaymentMethodsResult, IEnumerable <PaymentMethod> >(result, result.PaymentMethods.ToList()));
        }
        private ReadOnlyCollection <PaymentMethod> GetPaymentMethods(PaymentOption paymentOption, Cart cart)
        {
            var paymentService = new PaymentServiceProvider();
            var request        = new GetPaymentMethodsRequest(paymentOption, cart.ShopName);

            var shippingParty = cart.Parties.FirstOrDefault(x => (string)x.Properties["Name"] == Constants.DefaultShipmentAddressName);

            if (shippingParty != null)
            {
                request.Properties["Country"] = shippingParty.Country;
            }

            return(paymentService.GetPaymentMethods(request).PaymentMethods);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Gets the payment methods.
        /// </summary>
        /// <param name="storefront">The storefront.</param>
        /// <param name="visitorContext">The visitor context.</param>
        /// <param name="paymentOption">The payment option.</param>
        /// <returns>The manager response where the payment method list is returned in the Result.</returns>
        public ManagerResponse <GetPaymentMethodsResult, IEnumerable <PaymentMethod> > GetPaymentMethods([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, PaymentOption paymentOption)
        {
            Assert.ArgumentNotNull(storefront, "storefront");
            Assert.ArgumentNotNull(visitorContext, "visitorContext");
            Assert.ArgumentNotNull(paymentOption, "paymentOption");

            var request = new GetPaymentMethodsRequest(paymentOption);
            var result  = this.PaymentServiceProvider.GetPaymentMethods(request);

            if (!result.Success)
            {
                Helpers.LogSystemMessages(result.SystemMessages, result);
            }

            return(new ManagerResponse <GetPaymentMethodsResult, IEnumerable <PaymentMethod> >(result, result.PaymentMethods.ToList()));
        }
Exemplo n.º 4
0
 public override void GetPaymentMethods(IRpcController controller, GetPaymentMethodsRequest request, Action<GetPaymentMethodsResponse> done)
 {
     throw new NotImplementedException();
 }
Exemplo n.º 5
0
 public override void GetPaymentMethods(IRpcController controller, GetPaymentMethodsRequest request, Action<GetPaymentMethodsResponse> done)
 {
     ProtoOutputBuffer.Write(request.GetType(), request.ToString());
 }
Exemplo n.º 6
0
 public override void GetPaymentMethods(IRpcController controller, GetPaymentMethodsRequest request, Action <GetPaymentMethodsResponse> done)
 {
     throw new NotImplementedException();
 }
        /// <summary>
        /// Gets the payment methods.
        /// </summary>
        /// <param name="storefront">The storefront.</param>
        /// <param name="visitorContext">The visitor context.</param>
        /// <param name="paymentOption">The payment option.</param>
        /// <returns>The manager response where the payment method list is returned in the Result.</returns>
        public ManagerResponse<GetPaymentMethodsResult, IEnumerable<PaymentMethod>> GetPaymentMethods([NotNull] CommerceStorefront storefront, [NotNull] VisitorContext visitorContext, PaymentOption paymentOption)
        {
            Assert.ArgumentNotNull(storefront, "storefront");
            Assert.ArgumentNotNull(visitorContext, "visitorContext");
            Assert.ArgumentNotNull(paymentOption, "paymentOption");

            var request = new GetPaymentMethodsRequest(paymentOption);
            var result = this.PaymentServiceProvider.GetPaymentMethods(request);

            if (!result.Success)
            {
                Helpers.LogSystemMessages(result.SystemMessages, result);
            }

            return new ManagerResponse<GetPaymentMethodsResult, IEnumerable<PaymentMethod>>(result, result.PaymentMethods.ToList());
        }
Exemplo n.º 8
0
 public override void GetPaymentMethods(IRpcController controller, GetPaymentMethodsRequest request, Action <GetPaymentMethodsResponse> done)
 {
     ProtoOutputBuffer.Write(request.GetType(), request.ToString());
 }
Exemplo n.º 9
0
 public async Task <PaymentMethodListResponse> GetPaymentMethods(GetPaymentMethodsRequest request)
 {
     return(await this.AuthenticatedSendAsync <GetPaymentMethodsRequest, PaymentMethodListResponse>(request, request.Request(this._apiKey.Host)));
 }
Exemplo n.º 10
0
        public void ShouldGetPaymentMethodsByPaymentOption()
        {
            var request = new GetPaymentMethodsRequest(new PaymentOption()
            {
                ShopName          = "My Store",
                PaymentOptionType = PaymentOptionType.PayCard
            });

            var result = new GetPaymentMethodsResult();
            var args   = new ServicePipelineArgs(request, result);

            _client.GetPaymentMethods(request.PaymentOption.ShopName).Returns(new ResponseModelOfArrayOfPaymentMethodModelQBnDdvBq()
            {
                Success = true,
                Result  = new []
                {
                    new PaymentMethodModel()
                    {
                        MethodName = "Credit Card",
                        ShopName   = "My Store",
                        SystemName = "Payments.Manual"
                    },
                    new PaymentMethodModel()
                    {
                        MethodName = "Credit Card",
                        ShopName   = "My Store",
                        SystemName = "Payments.AuthorizeNet"
                    },
                }
            });


            var xml      = new XmlDocument();
            var rootNode = xml.CreateElement("map");

            xml.AppendChild(rootNode);

            var shippingOptionValue = xml.CreateAttribute("paymentOptionValue");
            var systemName          = xml.CreateAttribute("systemName");
            var methodName          = xml.CreateAttribute("methodName");

            shippingOptionValue.Value = "1";
            systemName.Value          = "Payments.Manual";
            methodName.Value          = "Credit Card";

            rootNode.Attributes.Append(shippingOptionValue);
            rootNode.Attributes.Append(systemName);
            rootNode.Attributes.Append(methodName);

            _processor.Map(rootNode);

            shippingOptionValue.Value = "1";
            systemName.Value          = "Payments.AuthorizeNet";
            methodName.Value          = "Credit Card";

            _processor.Map(rootNode);

            _processor.Process(args);

            result.Should().NotBeNull();
            result.Success.Should().BeTrue();
            result.PaymentMethods.Should().HaveCount(2);
            result.PaymentMethods.ElementAt(0).ExternalId.Should().Be("Payments.Manual");
            result.PaymentMethods.ElementAt(0).Name.Should().Be("Credit Card");
            result.PaymentMethods.ElementAt(1).ExternalId.Should().Be("Payments.AuthorizeNet");
            result.PaymentMethods.ElementAt(1).Name.Should().Be("Credit Card");
        }