コード例 #1
0
        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
            });
        }
コード例 #2
0
        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
            });
        }