private async void ExecuteEnviarTransacaoCommand()
        {
            if (string.IsNullOrEmpty(NumeroCartao))
            {
                await Application.Current.MainPage.DisplayAlert("Informação", "Informe o número do cartão!", "OK");

                return;
            }

            if (string.IsNullOrEmpty(Validade) || Validade.Length < 7)
            {
                await Application.Current.MainPage.DisplayAlert("Informação", "Informe a data de validade!", "OK");

                return;
            }

            if (string.IsNullOrEmpty(CVV))
            {
                await Application.Current.MainPage.DisplayAlert("Informação", "Informe o código de segurança (CVV)!", "OK");

                return;
            }

            if (string.IsNullOrEmpty(Titular))
            {
                await Application.Current.MainPage.DisplayAlert("Informação", "Informe o nome do titular!", "OK");

                return;
            }

            if (string.IsNullOrEmpty(ValorVenda) || Convert.ToDecimal(ValorVenda) == 0)
            {
                await Application.Current.MainPage.DisplayAlert("Informação", "Informe o valor da venda!", "OK");

                return;
            }

            if (string.IsNullOrEmpty(NumeroParcelas) || Convert.ToInt32(NumeroParcelas) == 0)
            {
                await Application.Current.MainPage.DisplayAlert("Informação", "Informe o número de parcelas!", "OK");

                return;
            }

            using (UserDialogs.Instance.Loading("Aguarde, enviando transação...", null, null, true, MaskType.Black))
            {
                var cartaoCredito = new CartaoCredito()
                {
                    Numero         = NumeroCartao,
                    Validade       = Validade,
                    CVV            = CVV,
                    ValorVenda     = Convert.ToDecimal(ValorVenda),
                    NumeroParcelas = Convert.ToInt32(NumeroParcelas),
                    OrderReference = Guid.NewGuid().ToString(),
                    Bandeira       = Bandeira,
                    Titular        = Titular
                };

                var identBandeira = cartaoCredito.Numero.ValidarBandeiraCartao();
                if (identBandeira == Stone.EnumTypes.CreditCardBrandEnum.NaoIdentificada)
                {
                    await Application.Current.MainPage.DisplayAlert("Informação", "Bandeira não suportada!", "OK");

                    return;
                }
                else
                {
                    cartaoCredito.CreditCardBrand = identBandeira;
                }

                var _response = await StoneService.EnviarTransacao(cartaoCredito);

                if (_response != null)
                {
                    //---------------------
                    //RESPOSTA DA TRANSAÇÃO
                    //---------------------
                    _saleResponse = _response;
                    //------------------------

                    if (_response.ErrorReport == null)
                    {
                        MensagemTransacao = $"Chave da Autorização\n{_response.CreditCardTransactionResultCollection?[0].TransactionKey.ToString()}\n" + _response.CreditCardTransactionResultCollection?[0].AcquirerMessage;

                        var confirm = await Application.Current.MainPage.DisplayAlert("Confirmação", "Splitar transação?", "SIM", "NÃO");

                        if (confirm)
                        {
                            SplitarPagamentoAsync(_saleResponse.CreditCardTransactionResultCollection[0].TransactionKey);
                        }
                    }
                    else
                    {
                        MensagemTransacao = string.Empty;

                        if (_response.ErrorReport != null && _response.ErrorReport.ErrorItemCollection.Count > 1)
                        {
                            foreach (var error in _response.ErrorReport.ErrorItemCollection)
                            {
                                MensagemTransacao = error.ErrorCode + " - " + error.Description + "\n";
                            }

                            MensagemTransacao = MensagemTransacao.Substring(0, MensagemTransacao.Length - 1);
                        }
                        else
                        {
                            MensagemTransacao = _response.ErrorReport.ErrorItemCollection[0].Description;
                        }
                    }
                }
                else
                {
                    MensagemTransacao = "Não foi possível processar a solicitação. Tente novamente!";
                }
            }
        }