public string Put([FromBody] AdyenPaymentRequest request)
        {
            var list = new SortedList <string, string>();

            list.Add("merchantAccount", paymentSettings.merchantAccount);
            list.Add("currencyCode", request.Currency.ToUpperInvariant());
            list.Add("paymentAmount", request.Amount.ToString());
            list.Add("sessionValidity", DateTime.Now.AddMinutes(paymentSettings.SessionValidityMinutes).ToString(AdyenPaymentProvider.AdyenDateFormat));
            list.Add("shipBeforeDate", DateTime.Now.AddHours(paymentSettings.ShipBeforeHours).ToString(AdyenPaymentProvider.AdyenDateFormat));
            list.Add("merchantReference", paymentSettings.MerchantReference);
            list.Add("skinCode", paymentSettings.skinCode);
            list.Add("shopperEmail", request.Email);
            list.Add("merchantReturnData", $"{request.ReturnUrl}?{(request.ReturnUrlParams == null ? string.Empty : string.Concat(request.ReturnUrlParams.Select(x => $"&{x.Key}={x.Value}")).Substring(1).Replace("?", "_qm_").Replace("&", "_amp_"))}");
Exemplo n.º 2
0
        public IPaymentResponse Charge(PaymentRequest request)
        {
            var referenceId = request.Id.ToString();
            var req         = new AdyenPaymentRequest
            {
                Amount = new AdyenAmount
                {
                    Currency = request.Currency,
                    Value    = AdyenAmount.FormatAmountToMinorUnits(request.Currency, request.TotalAmount)
                },
                CountryCode     = request.Country,
                MerchantAccount = Setting.MerchantAccount,
                Reference       = referenceId,
                Description     = request.Description,
                ReturnUrl       = !string.IsNullOrWhiteSpace(request.ReturnUrl) ? request.ReturnUrl : Setting.ReturnUrl
            };

            var resp = new AdyenApi(Setting).CreatePayment(req);

            return(new RedirectResponse(resp.Url, request.Id)
            {
                paymemtMethodReferenceId = referenceId
            });
        }
        public IPaymentResponse Charge(PaymentRequest request)
        {
            var referenceId = request.Id.ToString();
            var req         = new AdyenPaymentRequest
            {
                Amount = new AdyenAmount
                {
                    Currency = request.Currency,
                    Value    = (long)request.TotalAmount
                },
                CountryCode     = request.Country,
                MerchantAccount = Setting.MerchantAccount,
                Reference       = referenceId,
                Description     = request.Description,
                ReturnUrl       = Setting.ReturnUrl
            };

            var resp = new AdyenApi(Setting).CreatePayment(req);

            return(new RedirectResponse(resp.Url, request.Id)
            {
                paymemtMethodReferenceId = referenceId
            });
        }