/// <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"); } } }
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); }
public async Task <ApiResponse <RecurrentPaymentResponse> > RecurrentPayment(BaseComGatePayment payment, Payer payer, string ComGateAPIEndpointUrl) { throw new NotImplementedException(); }