Beispiel #1
0
 public PaymentController(IOptionsSnapshot <PayeeInfoConfig> payeeInfoOptionsAccessor, Cart cart, StoreDbContext dbContext, ISwedbankPayClient payClient)
 {
     this.payeeInfoOptions  = payeeInfoOptionsAccessor.Value;
     this.cartService       = cart;
     this.context           = dbContext;
     this.swedbankPayClient = payClient;
 }
 public CheckOutController(IOptionsSnapshot <PayeeInfoConfig> payeeInfoOptionsAccessor,
                           IOptionsSnapshot <UrlsOptions> urlsAccessor,
                           Cart cart,
                           StoreDbContext storeDbContext,
                           ISwedbankPayClient payClient)
 {
     this.payeeInfoOptions  = payeeInfoOptionsAccessor.Value;
     this.urls              = urlsAccessor.Value;
     this.cartService       = cart;
     this.context           = storeDbContext;
     this.swedbankPayClient = payClient;
 }
Beispiel #3
0
        public static async Task CancelTrustlyPayment(string paymentId,
                                                      ISwedbankPayClient swedbankPayClient,
                                                      ITempDataDictionary tempData,
                                                      Cart cartService)
        {
            var payment = await swedbankPayClient.Payments.TrustlyPayments.Get(new Uri(paymentId, UriKind.RelativeOrAbsolute));

            if (payment.Operations.Cancel != null)
            {
                var cancelRequest = new SwedbankPay.Sdk.PaymentInstruments.Trustly.TrustlyPaymentCancelRequest(DateTime.Now.Ticks.ToString(), "Cancelling parts of the total amount");
                var response      = await payment.Operations.Cancel(cancelRequest);

                tempData["CancelMessage"]    = $"Payment has been cancelled: {response.Cancellation.Transaction.Id}";
                cartService.PaymentOrderLink = null;
            }
            else
            {
                tempData["ErrorMessage"] = "Operation not available";
            }
        }
Beispiel #4
0
        public static async Task CancelInvoicePayment(string paymentId,
                                                      string payeeReference,
                                                      ISwedbankPayClient swedbankPayClient,
                                                      ITempDataDictionary tempData,
                                                      Cart cartService)
        {
            var payment = await swedbankPayClient.Payments.InvoicePayments.Get(new Uri(paymentId, UriKind.RelativeOrAbsolute));

            if (payment.Operations.Cancel != null)
            {
                var response = await payment.Operations.Cancel(new InvoicePaymentCancelRequest(Operation.FinancingConsumer, payeeReference, "Cancelling parts of the total amount"));

                tempData["CancelMessage"]    = $"Payment has been cancelled: {response.Cancellation.Transaction.Id}";
                cartService.PaymentOrderLink = null;
            }
            else
            {
                tempData["ErrorMessage"] = "Operation not available";
            }
        }
Beispiel #5
0
        protected ResourceTestsBase()
        {
            this.connectionSettings = TestHelper.GetSwedbankPayConnectionSettings(Environment.CurrentDirectory);
            this.urls    = TestHelper.GetUrls(Environment.CurrentDirectory);
            this.payeeId = this.connectionSettings.PayeeId;
            var httpClient = new HttpClient {
                BaseAddress = this.connectionSettings.ApiBaseUrl
            };

            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", this.connectionSettings.Token);

            this.Sut = new SwedbankPayClient(httpClient);


            var httpClientMobilePay = new HttpClient {
                BaseAddress = this.connectionSettings.ApiBaseUrl
            };

            httpClientMobilePay.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", this.connectionSettings.TokenMobilePay);

            this.SutMobilePay = new SwedbankPayClient(httpClientMobilePay);
        }
 public OrdersController(StoreDbContext storeDbContext,
                         ISwedbankPayClient payClient)
 {
     this.context           = storeDbContext;
     this.swedbankPayClient = payClient;
 }
Beispiel #7
0
        public static async Task <IReversalResponse> ReverseCreditCardPayment(string paymentId, Order order, string description, ISwedbankPayClient swedbankPayClient)
        {
            var cardPayment = await swedbankPayClient.Payments.CardPayments.Get(new Uri(paymentId, UriKind.RelativeOrAbsolute));

            var cardReversal = new SwedbankPay.Sdk.PaymentInstruments.Card.CardPaymentReversalRequest
                               (
                new Amount(order.Lines.Sum(e => e.Quantity * e.Product.Price)),
                description,
                DateTime.Now.Ticks.ToString(),
                new Amount(0)
                               );

            return(await cardPayment.Operations.Reverse.Invoke(cardReversal));
        }
Beispiel #8
0
        public static async Task <IReversalResponse> ReverseTrustlyPayment(string paymentId, Order order, string description, ISwedbankPayClient swedbankPayClient)
        {
            var trustlyPayment = await swedbankPayClient.Payments.TrustlyPayments.Get(new Uri(paymentId, UriKind.RelativeOrAbsolute));

            var trustlyReversal = new SwedbankPay.Sdk.PaymentInstruments.Trustly.TrustlyPaymentReversalRequest(Operation.Sale,
                                                                                                               new Amount(order.Lines.Sum(e => e.Quantity * e.Product.Price)),
                                                                                                               new Amount(0),
                                                                                                               DateTime.Now.Ticks.ToString(),
                                                                                                               "receipt reference",
                                                                                                               description);

            return(await trustlyPayment.Operations.Reverse.Invoke(trustlyReversal));
        }