Exemplo n.º 1
0
 public CallbackResponse ReturnReject(ResultUrlRequest request, string description = "")
 {
     var plain = new PlainResponseWithDescription
     {
         Status = ResponseKnownStatuses.Rejected,
         Description = description
     };
     return _callback.EncodeResponse(new ApiCallbackResponse(request.Uri, plain));
 }
Exemplo n.º 2
0
        public CallbackResponse TryReturnReject(ResultUrlRequest request, string description = "")
        {
            if (request.CanReject == PaymentRejectType.Unrevokable)
            {
                return ReturnError(request, description);
            }

            return ReturnReject(request, description);
        }
Exemplo n.º 3
0
        public CallbackResponse TryReturnReject(ResultUrlRequest request, string description = "")
        {
            if (request.CanReject == PaymentRejectType.Unrevokable)
            {
                return(ReturnError(request, description));
            }

            return(ReturnReject(request, description));
        }
Exemplo n.º 4
0
 public CallbackResponse ReturnOk(ResultUrlRequest request, string description = "")
 {
     var plain = new ResultUrlRequest.OkReturn
                 {
                     Status = ResponseKnownStatuses.Ok,
                     Description = description,
                     Timeout = 300
                 };
     return _callback.EncodeResponse(new ApiCallbackResponse(request.Uri, plain));
 }
Exemplo n.º 5
0
        public CallbackResponse ReturnReject(ResultUrlRequest request, string description = "")
        {
            var plain = new PlainResponseWithDescription
            {
                Status      = ResponseKnownStatuses.Rejected,
                Description = description
            };

            return(_callback.EncodeResponse(new ApiCallbackResponse(request.Uri, plain)));
        }
Exemplo n.º 6
0
        public CallbackResponse ReturnOk(ResultUrlRequest request, string description = "")
        {
            var plain = new ResultUrlRequest.OkReturn
            {
                Status      = ResponseKnownStatuses.Ok,
                Description = description,
                Timeout     = 300
            };

            return(_callback.EncodeResponse(new ApiCallbackResponse(request.Uri, plain)));
        }
Exemplo n.º 7
0
        public CallbackResponse ReturnError(ResultUrlRequest request, PlatronError error)
        {
            Ensure.ArgumentNotNull(error, nameof(error));

            var plain = new PlainErrorWithCodeResponse
            {
                Status = ResponseKnownStatuses.Error,
                ErrorDescription = error.Description,
                ErrorCode = (int)error.Code
            };
            return _callback.EncodeResponse(new ApiCallbackResponse(request.Uri, plain));
        }
Exemplo n.º 8
0
        public CallbackResponse ReturnError(ResultUrlRequest request, PlatronError error)
        {
            Ensure.ArgumentNotNull(error, nameof(error));

            var plain = new PlainErrorWithCodeResponse
            {
                Status           = ResponseKnownStatuses.Error,
                ErrorDescription = error.Description,
                ErrorCode        = (int)error.Code
            };

            return(_callback.EncodeResponse(new ApiCallbackResponse(request.Uri, plain)));
        }
Exemplo n.º 9
0
        public static ResultUrlRequest Parse(CallbackRequest callback)
        {
            Ensure.ArgumentNotNull(callback, nameof(callback));

            var resultUrl = new ResultUrlRequest();

            resultUrl.Uri = callback.Uri;

            resultUrl.OrderId = callback.GetOrDefault("pg_order_id", string.Empty);

            resultUrl.PaymentId    = callback.Get("pg_payment_id");
            resultUrl.Amount       = callback.Get <double>("pg_amount");
            resultUrl.Currency     = callback.Get <PlatronPaymentCurrency>("pg_currency");
            resultUrl.NetAmount    = callback.Get <double>("pg_net_amount");
            resultUrl.PsAmount     = callback.Get <double>("pg_ps_amount");
            resultUrl.PsFullAmount = callback.Get <double>("pg_ps_full_amount");
            resultUrl.PsCurrency   = callback.Get <PlatronPaymentCurrency>("pg_ps_currency");
            resultUrl.Overpayment  = callback.GetOrDefault <double>("pg_overpayment", 0);

            resultUrl.PaymentSystem = callback.Get("pg_payment_system");
            resultUrl.PaymentDate   = callback.GetDate("pg_payment_date");
            resultUrl.CanReject     = callback.GetOrDefault("pg_can_reject", PaymentRejectType.Unrevokable);

            if (callback.Contains("pg_card_brand"))
            {
                resultUrl.CardBrand = callback.GetOrDefault("pg_card_brand", string.Empty);
                resultUrl.CardPan   = callback.GetOrDefault("pg_card_pan", string.Empty);
                resultUrl.CardHash  = callback.GetOrDefault("pg_card_hash", string.Empty);
                resultUrl.AuthCode  = callback.GetOrDefault("pg_auth_code", string.Empty);
                resultUrl.Captured  = callback.GetOrDefault("pg_captured", CardClearingBehaviourType.WaitForPlatronWillSend);
            }

            resultUrl.UserPhone             = callback.GetOrDefault("pg_user_phone", string.Empty);
            resultUrl.NeedPhoneNotification = callback.GetBool("pg_need_phone_notification", x => x == "1");

            resultUrl.UserContactEmail      = callback.GetOrDefault("pg_user_contact_email", string.Empty);
            resultUrl.NeedEmailNotification = callback.GetBoolOrDefault("pg_need_email_notification", x => x == "1", false);

            resultUrl.RecurringProfileId         = callback.GetOrDefault("pg_recurring_profile_id", string.Empty);
            resultUrl.RecurringProfileExpiryDate = callback.GetDateOrDefault("pg_recurring_profile_expiry_date", DateTime.MinValue);

            return(resultUrl);
        }
Exemplo n.º 10
0
        public static ResultUrlRequest Parse(CallbackRequest callback)
        {
            Ensure.ArgumentNotNull(callback, nameof(callback));

            var resultUrl = new ResultUrlRequest();

            resultUrl.Uri = callback.Uri;

            resultUrl.OrderId = callback.GetOrDefault("pg_order_id", string.Empty);

            resultUrl.PaymentId = callback.Get("pg_payment_id");
            resultUrl.Amount = callback.Get<double>("pg_amount");
            resultUrl.Currency = callback.Get<PlatronPaymentCurrency>("pg_currency");
            resultUrl.NetAmount = callback.Get<double>("pg_net_amount");
            resultUrl.PsAmount = callback.Get<double>("pg_ps_amount");
            resultUrl.PsFullAmount = callback.Get<double>("pg_ps_full_amount");
            resultUrl.PsCurrency = callback.Get<PlatronPaymentCurrency>("pg_ps_currency");
            resultUrl.Overpayment = callback.GetOrDefault<double>("pg_overpayment", 0);

            resultUrl.PaymentSystem = callback.Get("pg_payment_system");
            resultUrl.PaymentDate = callback.GetDate("pg_payment_date");
            resultUrl.CanReject = callback.GetOrDefault("pg_can_reject", PaymentRejectType.Unrevokable);

            if (callback.Contains("pg_card_brand"))
            {
                resultUrl.CardBrand = callback.GetOrDefault("pg_card_brand", string.Empty);
                resultUrl.CardPan = callback.GetOrDefault("pg_card_pan", string.Empty);
                resultUrl.CardHash = callback.GetOrDefault("pg_card_hash", string.Empty);
                resultUrl.AuthCode = callback.GetOrDefault("pg_auth_code", string.Empty);
                resultUrl.Captured = callback.GetOrDefault("pg_captured", CardClearingBehaviourType.WaitForPlatronWillSend);
            }

            resultUrl.UserPhone = callback.GetOrDefault("pg_user_phone", string.Empty);
            resultUrl.NeedPhoneNotification = callback.GetBool("pg_need_phone_notification", x => x == "1");

            resultUrl.UserContactEmail = callback.GetOrDefault("pg_user_contact_email", string.Empty);
            resultUrl.NeedEmailNotification = callback.GetBoolOrDefault("pg_need_email_notification", x => x == "1", false);

            resultUrl.RecurringProfileId = callback.GetOrDefault("pg_recurring_profile_id", string.Empty);
            resultUrl.RecurringProfileExpiryDate = callback.GetDateOrDefault("pg_recurring_profile_expiry_date", DateTime.MinValue);

            return resultUrl;
        }
Exemplo n.º 11
0
        public ResultUrlRequest Parse(Uri uri)
        {
            CallbackRequest request = _callback.Parse(uri);

            return(ResultUrlRequest.Parse(request));
        }