public PlanetPaymentServiceResponse Refund(string referencedPaymentId, string currency, string amount)
        {
            IRestResponse <PlanetPaymentResponseDTO> responseData = proxy.Refund(referencedPaymentId, currency, amount);

            PlanetPaymentServiceResponse result = ProcessResponse(responseData);

            return(result);
        }
        public PlanetPaymentServiceResponse Charge(string registrationToken, string currency, string amount)
        {
            IRestResponse <PlanetPaymentResponseDTO> responseData = proxy.Charge(registrationToken, currency, amount);

            PlanetPaymentServiceResponse result = ProcessResponse(responseData);

            return(result);
        }
        public PlanetPaymentServiceResponse Reverse(string referencedPaymentId)
        {
            IRestResponse <PlanetPaymentResponseDTO> responseData = proxy.Reverse(referencedPaymentId);

            PlanetPaymentServiceResponse result = ProcessResponse(responseData);

            return(result);
        }
        public PlanetPaymentServiceResponse Registration(string cardNumber, string cardHolder, string brand, string expiryMonth, string expiryYear, string cvv)
        {
            IRestResponse <PlanetPaymentResponseDTO> responseData = proxy.Registration(cardNumber, cardHolder, brand, expiryMonth, expiryYear, cvv);

            PlanetPaymentServiceResponse result = ProcessResponse(responseData);

            return(result);
        }
        private PlanetPaymentServiceResponse ProcessResponse(IRestResponse <PlanetPaymentResponseDTO> responseData)
        {
            PlanetPaymentServiceResponse result = new PlanetPaymentServiceResponse();

            result.Success   = IsTransactionSuccess(responseData.Data.result.code);
            result.PaymentId = responseData.Data.id;
            result.Message   = responseData.Data.result.description;

            return(result);
        }