public PayooPaymentGateway( IPayooCartService payooCartService, IOrderNumberGenerator orderNumberGenerator, IOrderRepository orderRepository, ICmsPaymentPropertyService cmsPaymentPropertyService) { _payooCartService = payooCartService; _orderNumberGenerator = orderNumberGenerator; _orderRepository = orderRepository; _cmsPaymentPropertyService = cmsPaymentPropertyService; _paymentMethodConfiguration = new PayooConfiguration(Settings); }
public PayooPaymentMethod(IOrderGroupFactory orderGroupFactory) { _orderGroupFactory = orderGroupFactory; var paymentMethodDto = PayooConfiguration.GetPayooPaymentMethod(); _paymentMethod = paymentMethodDto?.PaymentMethod?.FirstOrDefault(); if (_paymentMethod == null) { return; } PaymentMethodId = _paymentMethod.PaymentMethodId; SystemKeyword = _paymentMethod.SystemKeyword; Name = _paymentMethod.Name; Description = _paymentMethod.Description; }
/// <summary> /// Processes the payment. /// </summary> /// <param name="orderGroup">The order group.</param> /// <param name="payment">The payment.</param> public PaymentProcessingResult ProcessPayment(IOrderGroup orderGroup, IPayment payment) { if (HttpContext.Current == null) { return(PaymentProcessingResult.CreateSuccessfulResult("ProcessPaymentNullHttpContext")); } if (payment == null) { return(PaymentProcessingResult.CreateUnsuccessfulResult("PaymentNotSpecified")); } var orderForm = orderGroup.Forms.FirstOrDefault(f => f.Payments.Contains(payment)); if (orderForm == null) { return(PaymentProcessingResult.CreateUnsuccessfulResult("PaymentNotAssociatedOrderForm")); } _paymentMethodConfiguration = new PayooConfiguration(Settings); var payooOrder = CreatePayooOrder(orderGroup, payment); var checksum = CreatePayooChecksum(payooOrder); //Call Payoo gateway here var message = string.Empty; var response = ExecuteCreatePayooPreOrderRequest(payooOrder, checksum, out message); if (response == null || !response.IsSuccess) { return(PaymentProcessingResult.CreateUnsuccessfulResult(message)); } UpdatePaymentPropertiesFromPayooResponse(orderGroup, payment, response); var redirectUrl = response.order.payment_url; message = $"---Payoo CreatePreOrder is successful. Redirect end user to {redirectUrl}"; return(PaymentProcessingResult.CreateSuccessfulResult(message, redirectUrl)); }
private PaymentMethodDto.PaymentMethodParameterRow GetParameterByName(string name) { return(PayooConfiguration.GetParameterByName(_paymentMethodDto, name)); }