/// <summary>
        /// Builds the additional information.
        /// </summary>
        public override void BuildAdditionalInfo()
        {
            // Adds Address info
            AddressBuilder addressBuilder = new AddressBuilder(base.request, AddressBuilderType.Post);

            base.person.Address = addressBuilder.Address;
        }
예제 #2
0
        /// <summary>
        /// Builds this instance.
        /// </summary>
        public override void Build()
        {
            this.Entity.Token = DataConverter.GetValue(
                base.request.InternalParameters, PayUParameterName.TOKEN_ID);
            this.Entity.CustomerId = DataConverter.GetValue(
                base.request.InternalParameters, PayUParameterName.CUSTOMER_ID);
            this.Entity.Number = DataConverter.GetValue(
                base.request.InternalParameters, PayUParameterName.CREDIT_CARD_NUMBER);
            this.Entity.Name = DataConverter.GetValue(
                base.request.InternalParameters, PayUParameterName.PAYER_NAME);
            this.Entity.Type = DataConverter.GetValue(
                base.request.InternalParameters, PayUParameterName.PAYMENT_METHOD);

            string expirationDate = DataConverter.GetValue(
                base.request.InternalParameters, PayUParameterName.CREDIT_CARD_EXPIRATION_DATE);

            if (expirationDate != null)
            {
                Regex regex = new Regex(@"(\d{4})[/](\d{2})");
                Match match = regex.Match(expirationDate);

                if (match.Success)
                {
                    try
                    {
                        this.Entity.ExpYear  = int.Parse(match.Groups[1].Value);
                        this.Entity.ExpMonth = int.Parse(match.Groups[2].Value);
                    }
                    catch (Exception)
                    {
                        // Do nothing. Expect validation from the server
                    }
                }
            }

            AddressBuilder addressBuilder = new AddressBuilder(base.request, AddressBuilderType.Rest);

            this.Entity.Address = addressBuilder.Address;
        }