Exemplo n.º 1
0
        static void Main(string[] args)
        {
            bool isSandbox = true;

            EnvironmentConfiguration.ChangeEnvironment(isSandbox);

            // TODO: Substitute the code below with a valid code notification for your transaction
            String notificationCode = "29B0BEC9D653D653435EE42F3FAEF4461091";

            try
            {
                AccountCredentials credentials = PagSeguroConfiguration.Credentials(isSandbox);

                PreApprovalTransaction result = PreApprovalSearchService.SearchByNofication(credentials, notificationCode);

                Console.WriteLine(result);
                Console.ReadKey();
            }
            catch (PagSeguroServiceException exception)
            {
                Console.WriteLine(exception.Message + "\n");

                foreach (ServiceError element in exception.Errors)
                {
                    Console.WriteLine(element + "\n");
                }
                Console.ReadKey();
            }
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            bool isSandbox = false;

            EnvironmentConfiguration.ChangeEnvironment(isSandbox);

            // TODO: Substitute the code below with a valid preApproval code for your transaction
            String preApprovalCode = "235FD1B69494E6ACC4C37F8A60C05E89";

            try
            {
                AccountCredentials credentials = PagSeguroConfiguration.Credentials(isSandbox);

                PreApprovalTransaction result = PreApprovalSearchService.SearchByCode(credentials, preApprovalCode);

                Console.WriteLine(result);
                Console.ReadKey();
            }
            catch (PagSeguroServiceException exception)
            {
                Console.WriteLine(exception.Message + "\n");

                foreach (ServiceError element in exception.Errors)
                {
                    Console.WriteLine(element + "\n");
                }
                Console.ReadKey();
            }
        }
Exemplo n.º 3
0
        public Aluno_pgto AssinaturaTratarRetorno(PreApprovalTransaction transaction)
        {
            Aluno_pgto ap = new Aluno_pgtoDB().Buscar(Convert.ToInt32(transaction.Reference.Replace("AP", "")));

            if (ap != null)
            {
                ap.CompletaCampos();
                //salva o code no Aluno_MedTV
                ap.obs = transaction.Code;
                ap.txt = AssinaturaMsg(transaction.Status);

                DateTime dateTime = DateTime.UtcNow;
                dateTime = dateTime.AddSeconds(-dateTime.Second);
                if (dateTime.Minute % 2 != 0)
                {
                    dateTime = dateTime.AddMinutes(1);
                }

                if (!new Aluno_pgto_NotificacaoDB().Existe(ap, dateTime))
                {
                    new Aluno_pgto_Notificacao(ap, dateTime, transaction.Status, ap.txt).Salvar();
                }

                //ACTIVE
                if (transaction.Status == "ACTIVE")
                {
                    if (ap.situacao != 2)
                    {
                        ap.Ativar();
                    }
                    new Envio_emailDB().Salvar(new Envio_email()
                    {
                        data    = DateTime.Now,
                        assunto = "Cenbrap Assinatura ativada",
                        texto   = "Aluno: " + ap.aluno.nome + "(" + ap.aluno.cpf + ")<BR>Curso: " + ap.curso.titulo + "<BR>Msg: " + ap.txt,
                        para    = emailNotificacaoAtivado
                    });

                    //LancaEntrada(am.aluno);
                }
                //CANCELLED ou CANCELLED_BY_RECEIVER ou CANCELLED_BY_SENDER ou EXPIRED
                if (transaction.Status == "CANCELLED" || transaction.Status == "CANCELLED_BY_RECEIVER" || transaction.Status == "CANCELLED_BY_SENDER" || transaction.Status == "EXPIRED")
                {
                    if (ap.situacao == 2)
                    {
                        ap.Desativar();
                    }

                    new Envio_emailDB().Salvar(new Envio_email()
                    {
                        data    = DateTime.Now,
                        assunto = "Cenbrap Assinatura cancelada",
                        texto   = "Aluno: " + ap.aluno.nome + "(" + ap.aluno.cpf + ")<BR>Curso: " + ap.curso.titulo + "<BR>Msg: " + ap.txt,
                        para    = emailNotificacaoPagamento
                    });
                }
                ap.Alterar();
            }
            return(ap);
        }
Exemplo n.º 4
0
        public Aluno_MedTV AssinaturaTratarRetorno(PreApprovalTransaction transaction)
        {
            Aluno_MedTV am = new Aluno_MedTVDB().Buscar(Convert.ToInt32(transaction.Reference));

            if (am != null)
            {
                am.aluno = new AlunoDB().Buscar(am.aluno.codigo);
                //salva o code no Aluno_MedTV
                am.codePagseguro = transaction.Code;
                am.msgPagseguro  = AssinaturaMsg(transaction.Status);

                DateTime dateTime = DateTime.UtcNow;
                dateTime = dateTime.AddSeconds(-dateTime.Second);
                if (dateTime.Minute % 2 != 0)
                {
                    dateTime = dateTime.AddMinutes(1);
                }

                if (!new Aluno_MedTV_NotificacaoDB().Existe(am, dateTime))
                {
                    new Aluno_MedTV_Notificacao(am, dateTime, transaction.Status, am.msgPagseguro).Salvar();
                }

                //ACTIVE
                if (transaction.Status == "ACTIVE")
                {
                    if (!am.ativo)
                    {
                        am.Ativar();
                    }
                    new Envio_emailDB().Salvar(new Envio_email()
                    {
                        data    = DateTime.Now,
                        assunto = "MedTV Assinatura ativada",
                        texto   = "Aluno: " + am.aluno.nome + "(" + am.aluno.cpf + ")<BR>Msg: " + am.msgPagseguro,
                        para    = emailNotificacaoAtivado
                    });

                    //LancaEntrada(am.aluno);
                }
                //CANCELLED ou CANCELLED_BY_RECEIVER ou CANCELLED_BY_SENDER ou EXPIRED
                if (transaction.Status == "CANCELLED" || transaction.Status == "CANCELLED_BY_RECEIVER" || transaction.Status == "CANCELLED_BY_SENDER" || transaction.Status == "EXPIRED")
                {
                    if (am.ativo)
                    {
                        am.Desativar();
                    }

                    new Envio_emailDB().Salvar(new Envio_email()
                    {
                        data    = DateTime.Now,
                        assunto = "MedTV Assinatura cancelada",
                        texto   = "Aluno: " + am.aluno.nome + "(" + am.aluno.cpf + ")<BR>Msg: " + am.msgPagseguro,
                        para    = emailNotificacaoPagamento
                    });
                }
                am.Alterar();
            }
            return(am);
        }
Exemplo n.º 5
0
        public PreApprovalTransaction ConsultaRecorrenteNotificacao(string code)
        {
            bool isSandbox = false;

            EnvironmentConfiguration.ChangeEnvironment(isSandbox);
            try
            {
                AccountCredentials credentials = PagSeguroConfiguration.Credentials(isSandbox);

                PreApprovalTransaction result = PreApprovalSearchService.SearchByNofication(credentials, code);

                return(result);
            }
            catch (PagSeguroServiceException exception)
            {
                return(null);
            }
        }
Exemplo n.º 6
0
        public void AssinaturaNotificacao(string notificationCode)
        {
            EnvironmentConfiguration.ChangeEnvironment(isSandbox);

            try
            {
                AccountCredentials credentials = PagSeguroConfiguration.Credentials(isSandbox);

                PreApprovalTransaction transaction = PreApprovalSearchService.SearchByNofication(credentials, notificationCode);

                AssinaturaTratarRetorno(transaction);
            }
            catch (PagSeguroServiceException exception)
            {
                string retorno = exception.Message + "\n";

                foreach (ServiceError element in exception.Errors)
                {
                    retorno += element + "\n";
                }
            }
        }
        /// <summary>
        /// Finds a pre-approval with a matching notification code
        /// </summary>
        /// <param name="credentials">PagSeguro credentials</param>
        /// <param name="notificationCode">Notification code</param>
        /// <returns cref="T:Uol.PagSeguro.Transaction"><c>Transaction</c></returns>
        public static PreApprovalTransaction SearchByNofication(Credentials credentials, string notificationCode)
        {
            PagSeguroTrace.Info(string.Format(CultureInfo.InvariantCulture, "PreApprovalSearchService.SearchByNotification(notificationCode={0}) - begin", notificationCode));

            try
            {
                using (HttpWebResponse response = HttpURLConnectionUtil.GetHttpGetConnection(BuildSearchUrlByNotification(credentials, notificationCode)))
                {
                    using (XmlReader reader = XmlReader.Create(response.GetResponseStream()))
                    {
                        PreApprovalTransaction preApproval = new PreApprovalTransaction();
                        PreApprovalTransactionSerializer.Read(reader, preApproval);
                        PagSeguroTrace.Info(string.Format(CultureInfo.InvariantCulture, "PreApprovalSearchService.SearchByNotification(notificationCode={0}) - end {1}", notificationCode, preApproval));
                        return(preApproval);
                    }
                }
            }
            catch (WebException exception)
            {
                PagSeguroServiceException pse = HttpURLConnectionUtil.CreatePagSeguroServiceException((HttpWebResponse)exception.Response);
                PagSeguroTrace.Error(string.Format(CultureInfo.InvariantCulture, "PreApprovalSearchService.SearchByNotification(notificationCode={0}) - error {1}", notificationCode, pse));
                throw pse;
            }
        }
Exemplo n.º 8
0
        /// <summary>
        /// Finds a pre-approval with a matching pre-approval code
        /// </summary>
        /// <param name="credentials">PagSeguro credentials</param>
        /// <param name="preApprovalCode">Pre-Approval code</param>
        /// <returns cref="T:Uol.PagSeguro.Transaction"><c>Transaction</c></returns>
        public static PreApprovalTransaction SearchByCode(Credentials credentials, string preApprovalCode)
        {
            PagSeguroTrace.Info(String.Format(CultureInfo.InvariantCulture, "PreApprovalSearchService.SearchByCode(preApprovalCode={0}) - begin", preApprovalCode));

            try
            {
                using (var response = HttpURLConnectionUtil.GetHttpGetConnection(BuildSearchUrlByCode(credentials, preApprovalCode)))
                {
                    using (XmlReader reader = XmlReader.Create(response.Content.ReadAsStreamAsync().Result))
                    {
                        PreApprovalTransaction preApproval = new PreApprovalTransaction();
                        PreApprovalTransactionSerializer.Read(reader, preApproval);
                        PagSeguroTrace.Info(String.Format(CultureInfo.InvariantCulture, "PreApprovalSearchService.SearchByCode(preApprovalCode={0}) - end {1}", preApprovalCode, preApproval));
                        return(preApproval);
                    }
                }
            }
            catch (System.Exception exception)
            {
                PagSeguroServiceException pse = HttpURLConnectionUtil.CreatePagSeguroServiceException(exception);
                PagSeguroTrace.Error(String.Format(CultureInfo.InvariantCulture, "PreApprovalSearchService.SearchByCode(preApprovalCode={0}) - error {1}", preApprovalCode, pse));
                throw pse;
            }
        }
Exemplo n.º 9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="reader"></param>
        /// <param name="transaction"></param>
        internal static void Read(XmlReader reader, PreApprovalTransaction preApproval)
        {
            if (reader.IsEmptyElement)
            {
                XMLParserUtils.SkipNode(reader);
                return;
            }

            reader.ReadStartElement(SerializerHelper.PreApproval);

            reader.MoveToContent();

            while (!reader.EOF)
            {
                if (XMLParserUtils.IsEndElement(reader, SerializerHelper.PreApproval))
                {
                    XMLParserUtils.SkipNode(reader);
                    break;
                }

                if (reader.NodeType == XmlNodeType.Element)
                {
                    switch (reader.Name)
                    {
                    case SerializerHelper.Code:
                        preApproval.Code = reader.ReadElementContentAsString();
                        break;

                    case SerializerHelper.Date:
                        preApproval.Date = reader.ReadElementContentAsDateTime();
                        break;

                    case SerializerHelper.Reference:
                        preApproval.Reference = reader.ReadElementContentAsString();
                        break;

                    case SerializerHelper.TransactionStatus:
                        preApproval.Status = reader.ReadElementContentAsString();
                        break;

                    case SerializerHelper.LastEventDate:
                        preApproval.LastEventDate = reader.ReadElementContentAsDateTime();
                        break;

                    case SerializerHelper.Name:
                        preApproval.Name = reader.ReadElementContentAsString();
                        break;

                    case SerializerHelper.Tracker:
                        preApproval.Tracker = reader.ReadElementContentAsString();
                        break;

                    case SerializerHelper.Charge:
                        preApproval.Charge = reader.ReadElementContentAsString();
                        break;

                    case ItemListSerializer.Items:
                        ItemListSerializer.Read(reader, preApproval.Items);
                        break;

                    default:
                        XMLParserUtils.SkipElement(reader);
                        break;
                    }
                }
                else
                {
                    XMLParserUtils.SkipNode(reader);
                }
            }
        }