public IPaymentResponse Charge(PaymentRequest request) { HiddenFormResponse res = new HiddenFormResponse(); if (this.Setting == null) { return(null); } var dic = new AopDictionary(); dic.Add("subject", request.Name); if (request.Description != null) { dic.Add("body", request.Description); } dic.Add("out_trade_no", request.Id.ToString("N")); dic.Add("product_code", "FAST_INSTANT_TRADE_PAY");//fix value var amount = Math.Round(request.TotalAmount, 2); dic.Add("total_amount", amount); dic.Add("time_expire", DateTime.Now.AddMinutes(10)); string notifurl = PaymentHelper.GetCallbackUrl(this, nameof(Notify), Context); string returnurl = request.ReturnUrl ?? PaymentHelper.EnsureHttpUrl(this.Setting.ReturnUrl, Context); res.html = AlipayApi.Pay(dic, this.Setting, returnurl, notifurl); return(res); }
public IPaymentResponse Charge(PaymentRequest request) { HiddenFormResponse res = new HiddenFormResponse(); res.html = GetForm(request); return(res); }
public IPaymentResponse Charge(PaymentRequest request) { HiddenFormResponse res = new HiddenFormResponse(); var token = GenerateClientToken(); if (string.IsNullOrEmpty(token)) { return(null); } res.html = GenerateHtml(token, request.TotalAmount, request.Id, request.ReturnUrl); return(res); }
public IPaymentResponse Charge(PaymentRequest request) { request.Additional.TryGetValue("firstName", out var firstName); request.Additional.TryGetValue("lastName", out var lastName); var email = Guid.NewGuid().ToString() + "@email.com"; var customerParameters = new Customer() { FirstName = (string)firstName, LastName = (string)lastName, Email = email }; var money = new Money { Currency = request.Currency, Value = request.TotalAmount }; var dwollaApi = new DwollaApi(Setting); var failedResponse = new FailedResponse("Payment failed") { requestId = request.Id }; var customer = dwollaApi.CreateCustomer(customerParameters).Result; if (!customer.IsSuccessStatusCode) { failedResponse.Message = customer.Content; return(failedResponse); } var iavToken = dwollaApi.CreateIavToken(customer.Headers.Location.ToString()).Result; if (string.IsNullOrEmpty(iavToken.Token)) { failedResponse.Message = "Getting IAV token failed"; return(failedResponse); } var response = new HiddenFormResponse { requestId = request.Id }; response.html = GetHtml(Setting.IsUsingSanbox, iavToken.Token, money, request); return(response); }
public IPaymentResponse Charge(PaymentRequest request) { request.Additional.TryGetValue("quantity", out var quantity); request.Additional.TryGetValue("paymentMethodType", out var paymentMethodType); string cancelUrl = string.IsNullOrEmpty(request.CancelUrl) ? Setting.CancelUrl : request.CancelUrl; string successUrl = string.IsNullOrEmpty(request.ReturnUrl) ? Setting.SuccessUrl : request.ReturnUrl; var lineItems = new List <SessionLineItemOptions> { new SessionLineItemOptions { Name = request.Name, Description = request.Description, Amount = long.Parse(request.TotalAmount.ToString()), Currency = request.Currency, Quantity = long.Parse(quantity.ToString()) } }; var paymentMethodTypesList = new List <string>(); if (paymentMethodType is object[]) { var paymentMethodTypeArray = Array.ConvertAll((object[])paymentMethodType, x => x.ToString()); paymentMethodTypesList.AddRange(paymentMethodTypeArray); } else if (paymentMethodType is object) { paymentMethodTypesList.Add((string)paymentMethodType); } var options = new SessionCreateOptions { SuccessUrl = successUrl, CancelUrl = cancelUrl, LineItems = lineItems, PaymentMethodTypes = paymentMethodTypesList, ClientReferenceId = request.Id.ToString() }; var sessionId = StripeUtility.CreateSession(options, Setting.Secretkey).Result; var response = new HiddenFormResponse { paymemtMethodReferenceId = request.Id.ToString() }; response.html = GenerateHtml(Setting.Publishablekey, sessionId); return(response); }
public IPaymentResponse Charge(PaymentRequest request) { request.Additional.TryGetValue("quantity", out var quantity); request.Additional.TryGetValue("cancelUrl", out var cancelUrl); request.Additional.TryGetValue("successUrl", out var successUrl); request.Additional.TryGetValue("paymentMethodType", out var paymentMethodType); var lineItems = new List <SessionLineItemOptions> { new SessionLineItemOptions { Name = request.Name, Description = request.Description, Amount = long.Parse(request.TotalAmount.ToString()), Currency = request.Currency, Quantity = long.Parse(quantity.ToString()) } }; var paymentMethodTypesList = new List <string>(); if (paymentMethodType is object[]) { var paymentMethodTypeArray = Array.ConvertAll((object[])paymentMethodType, x => x.ToString()); paymentMethodTypesList.AddRange(paymentMethodTypeArray); } else if (paymentMethodType is object) { paymentMethodTypesList.Add((string)paymentMethodType); } var options = new SessionCreateOptions { SuccessUrl = (string)successUrl, CancelUrl = (string)cancelUrl, LineItems = lineItems, PaymentMethodTypes = paymentMethodTypesList }; var sessionId = StripeUtility.CreateSession(options, Setting.Secretkey).Result; var response = new HiddenFormResponse { paymemtMethodReferenceId = sessionId }; response.setFieldValues("publishableKey", Setting.Publishablekey); return(response); }