public IPaymentResponse Charge(PaymentRequest request) { var amount = CurrencyDecimalPlaceConverter.ToMinorUnit(request.Currency, request.TotalAmount); var req = new KpSessionRequest { PurchaseCurrency = request.Currency, PurchaseCountry = request.Country, OrderAmount = amount, OrderLines = new[] { new KpSessionRequest.OrderLine { Name = request.Name, Quantity = 1, UnitPrice = amount, TotalAmount = amount } }, }; var apiClient = new KlarnaApi(Setting, request.Country); var kpSession = apiClient.CreateKpSession(req); var urls = GetGetMerchantUrls(request); var hppSession = apiClient.CreateHppSession(kpSession.SessionId, urls); return(new RedirectResponse(hppSession.RedirectUrl, request.Id) { paymemtMethodReferenceId = hppSession.SessionId }); }
public IPaymentResponse Charge(PaymentRequest request) { var req = new KpSessionRequest { PurchaseCurrency = request.Currency, PurchaseCountry = request.Country, OrderAmount = request.TotalAmount, OrderLines = new[] { new KpSessionRequest.OrderLine { Name = request.Name, Quantity = 1, UnitPrice = request.TotalAmount, TotalAmount = request.TotalAmount } }, }; var callbackUrl = PaymentHelper.GetCallbackUrl(this, nameof(Notify), Context); var apiClient = new KlarnaApi(Setting, request.Country); var kpSession = apiClient.CreateKpSession(req); var hppSession = apiClient.CreateHppSession(kpSession.SessionId, Setting.GetGetMerchantUrls(callbackUrl, request.Id)); return(new RedirectResponse(hppSession.RedirectUrl, request.Id) { paymemtMethodReferenceId = hppSession.SessionId }); }