コード例 #1
0
        /// <summary>
        /// POST /paymentMethods API call
        /// </summary>
        /// <param name="paymentMethodsRequest"></param>
        /// <returns></returns>
        public PaymentMethodsResponse PaymentMethods(PaymentMethodsRequest paymentMethodsRequest)
        {
            var jsonRequest  = Util.JsonOperation.SerializeRequest(paymentMethodsRequest);
            var jsonResponse = _paymentMethods.Request(jsonRequest);

            return(JsonConvert.DeserializeObject <PaymentMethodsResponse>(jsonResponse));
        }
コード例 #2
0
        /// <summary>
        /// POST /paymentMethods API call async
        /// </summary>
        /// <param name="paymentMethodsRequest"></param>
        /// <returns>PaymentMethodsResponse</returns>
        public async Task <PaymentMethodsResponse> PaymentMethodsAsync(PaymentMethodsRequest paymentMethodsRequest)
        {
            var jsonRequest  = Util.JsonOperation.SerializeRequest(paymentMethodsRequest);
            var jsonResponse = await _paymentMethods.RequestAsync(jsonRequest);

            return(JsonConvert.DeserializeObject <PaymentMethodsResponse>(jsonResponse));
        }
コード例 #3
0
        public async Task <ApiResponse <PaymentMethodsResponse> > GetAvailebleMethods(string ComGateAPIEndpointUrl)
        {
            using (var httpClient = HttpClientFactory.CreateHttpClient(Core.Domain.Enums.ComGateHttpClient.HttpClient))
            {
                PaymentMethodsRequest methodsRequest = _requestBuilder
                                                       .CreatePaymentMethodsRequest()
                                                       .SetMerchant(this.Merchant)
                                                       .SetSecret(this.Secret);

                var content = _serializer.Serialize <PaymentMethodsRequest>(methodsRequest);

                httpClient.BaseAddress = new Uri(ComGateAPIEndpointUrl);

                var response = await httpClient.PostAsync("methods", content);

                if (response.IsSuccessStatusCode)
                {
                    var responseContent = await response.Content.ReadAsStringAsync();

                    return(_serializer.Deserialize <PaymentMethodsResponse>(responseContent));
                }
                else
                {
                    throw new Exception("Cannot create method list");
                }
            }
        }
コード例 #4
0
        /// <summary>
        /// Gets the payment methods.
        /// </summary>
        /// <param name="paymentMethodsRequest">The payment methods request.</param>
        /// <returns><see cref="PaymentMethodsResponse"/> instance that contains the operation result.</returns>
        public PaymentMethodsResponse GetPaymentMethods(PaymentMethodsRequest paymentMethodsRequest)
        {
            AbstractPostRequestWithAlternativeDataStrategy <PaymentMethodsRequest, PaymentMethodsResponse, PaymentResponse> requestStrategy =
                new PaymentMethodsStrategy(paymentMethodsRequest);

            requestStrategy.SendRequest();

            return((PaymentMethodsResponse)PrepareResponse(requestStrategy.RestResponse.Data));
        }
コード例 #5
0
        public PaymentMethodsRequest CreatePaymentMethodsRequest()
        {
            PaymentMethodsRequest request = new PaymentMethodsRequest();

            request.DataType = Core.Domain.Enums.DataType.JSON;
            request.Currency = Core.Domain.Enums.Currency.CZK;
            request.Lang     = Core.Domain.Enums.Lang.cs;

            return(request);
        }
コード例 #6
0
        public void StoredPaymentMethodsTest()
        {
            var client   = CreateMockTestClientApiKeyBasedRequest("Mocks/checkout/paymentmethods-storedpaymentmethods.json");
            var checkout = new Checkout(client);
            var paymentMethodsRequest  = new PaymentMethodsRequest(merchantAccount: "TestMerchant");
            var paymentMethodsResponse = checkout.PaymentMethods(paymentMethodsRequest);

            Assert.AreEqual(4, paymentMethodsResponse.StoredPaymentMethods.Count);
            Assert.AreEqual("NL32ABNA0515071439", paymentMethodsResponse.StoredPaymentMethods[0].Iban);
            Assert.AreEqual("Adyen", paymentMethodsResponse.StoredPaymentMethods[0].OwnerName);
            Assert.AreEqual("sepadirectdebit", paymentMethodsResponse.StoredPaymentMethods[0].Type);
        }
コード例 #7
0
        public ActionResult <string> GetPaymentMethods([FromBody] PaymentMethodsRequest req)
        {
            _logger.LogInformation($"Request for PaymentMethods API::\n{req}\n");

            req.MerchantAccount = _merchant_account;
            req.Channel         = PaymentMethodsRequest.ChannelEnum.Web;

            try
            {
                return(_checkout.PaymentMethods(req).ToJson());
            }
            catch (Adyen.HttpClient.HttpClientException e)
            {
                _logger.LogError($"Request for PaymentMethods failed::\n{e.ResponseBody}\n");
                throw e;
            }
        }
コード例 #8
0
ファイル: Program.cs プロジェクト: pwhe23/VancoApi
        private static void Main()
        {
            var cust = new
                       {
                           Id = "3",
                           Name = "Test",
                           Email = "*****@*****.**",
                           Address1 = "123 Main St",
                           City = "Charlotte",
                           State = "NC",
                           Zip = "29028",
                       };

            var card = new
                       {
                           AccountType = AccountTypes.C,
                           NameOnCard = "Test",
                           AccountNumber = "4012000033330026",
                           RoutingNumber = "123456780",
                           ExpMonth = (string)null,
                           ExpYear = (string)null,
                       };

            var trnx = new
                       {
                           Amount = 1234.56m,
                       };

            var conn = new VancoConnection(ConfigurationManager.ConnectionStrings["Vanco"].ConnectionString);

            // Login
            var loginRequest = new LoginRequest();
            var loginResponse = loginRequest.Execute(conn);
            Console.WriteLine("SessionId: " + loginResponse.SessionId);

            // Add Payment method
            var eftRequest = new EftRequest
                             {
                                 CustomerId = cust.Id,
                                 AddNewCustomer = true,
                                 Name = cust.Name,
                                 Email = cust.Email,
                                 BillingAddr1 = cust.Address1,
                                 BillingCity = cust.City,
                                 BillingState = cust.State,
                                 BillingZip = cust.Zip,
                                 AccountType = card.AccountType,
                                 NameOnCard = card.NameOnCard,
                                 AccountNumber = card.AccountNumber,
                                 RoutingNumber = card.RoutingNumber,
                                 ExpMonth = card.ExpMonth,
                                 ExpYear = card.ExpYear,
                             };
            var eftResponse = eftRequest.Execute(conn);
            Console.WriteLine("PaymentMethodRef: " + eftResponse.PaymentMethodRef);

            // Get Payment Methods
            var methodsRequest = new PaymentMethodsRequest
                          {
                              CustomerId = cust.Id,
                          };
            var methodsResponse = methodsRequest.Execute(conn);
            Console.WriteLine("PaymentMethods: " + methodsResponse.PaymentMethodCount);

            // Transaction
            var trnxRequest = new TransactionRequest
                       {
                           CustomerId = cust.Id,
                           PaymentMethodRef = methodsResponse.PaymentMethods[methodsResponse.PaymentMethods.Count - 1].PaymentMethodRef,
                           Amount = trnx.Amount,
                           FrequencyCode = Frequencies.O,
                       };
            var trnxResponse = trnxRequest.Execute(conn);
            if (!string.IsNullOrWhiteSpace(trnxResponse.ErrorList))
            {
                Console.WriteLine("Error: " + VancoConnection.GetErrorMessages(trnxResponse.ErrorList));
            }
            Console.WriteLine("TrnxId: " + trnxResponse.TransactionRef);

            // Logout
            var logout = new LogoutRequest().Execute(conn);
            Console.WriteLine("Logout: " + logout);

            Console.ReadKey();
        }
コード例 #9
0
        /// <summary>
        /// Gets the payment methods.
        /// </summary>
        /// <returns><see cref="PaymentMethodsResponse"/> instance that contains the operation result.</returns>
        public PaymentMethodsResponse GetPaymentMethods()
        {
            PaymentMethodsRequest request = base.CreateBaseRequest <PaymentMethodsRequest>(ServerType.Payments);

            return(this.paymentService.GetPaymentMethods(request));
        }
コード例 #10
0
        private IEnumerable <KeyValuePair <string, string> > CreateMethodsMandatoryParams(PaymentMethodsRequest request)
        {
            List <KeyValuePair <string, string> > mandatoryParameters = new List <KeyValuePair <string, string> >();

            mandatoryParameters.Add(new KeyValuePair <string, string>("merchant", request.Merchant));
            mandatoryParameters.Add(new KeyValuePair <string, string>("secret", request.Secret));
            mandatoryParameters.Add(new KeyValuePair <string, string>("lang", request.Lang.ToString().ToLower()));
            mandatoryParameters.Add(new KeyValuePair <string, string>("type", request.DataType.ToString().ToLower()));


            return(mandatoryParameters);
        }