Пример #1
0
        /// <summary>
        /// Is working in selling but not in Apps. Use CreatePayment which use everywhere
        /// </summary>
        /// <param name="payment"></param>
        /// <param name="payer"></param>
        /// <param name="ComGateAPIEndpointUrl"></param>
        /// <returns></returns>
        public ApiResponse <PaymentResponse> CreatePayment(BaseComGatePayment payment, Payer payer, string ComGateAPIEndpointUrl)
        {
            PaymentRequest paymentRequest = _requestBuilder
                                            .CreatePaymentRequest(payment, payer)
                                            .SetMerchant(this.Merchant)
                                            .SetEnviroment(this.IsTestEnviroment)
                                            .SetSecret(this.Secret);

            using (var httpClient = HttpClientFactory.CreateHttpClient(Core.Domain.Enums.ComGateHttpClient.HttpClient))
            {
                _paymentLogger.LogPayment(paymentRequest);
                var content = _serializer.Serialize <PaymentRequest>(paymentRequest);

                httpClient.BaseAddress = new Uri(ComGateAPIEndpointUrl);

                var response = httpClient.PostAsync("create", content).Result;

                if (response.IsSuccessStatusCode)
                {
                    var responseContent = response.Content.ReadAsStringAsync().Result;
                    return(_serializer.Deserialize <PaymentResponse>(responseContent));
                }
                else
                {
                    throw new Exception("Cannot create payment");
                }
            }
        }
Пример #2
0
        public PaymentRequest CreatePaymentRequest(
            BaseComGatePayment payment,
            Payer payer,
            Core.Domain.Enums.Lang lang = Core.Domain.Enums.Lang.cs
            )
        {
            PaymentRequest request = new PaymentRequest();

            request.Payment               = payment;
            request.Payer                 = payer;
            request.Payment.Embedded      = payment.Embedded;
            request.Payment.InitRecurring = payment.InitRecurring;
            request.Payment.Preauth       = payment.Preauth;
            request.Payment.Verification  = payment.Verification;
            request.Lang = lang;
            request.Payment.PrepareOnly = payment.PrepareOnly;
            return(request);
        }
Пример #3
0
 public async Task <ApiResponse <RecurrentPaymentResponse> > RecurrentPayment(BaseComGatePayment payment, Payer payer, string ComGateAPIEndpointUrl)
 {
     throw new NotImplementedException();
 }