Pagar.me .Net Library
If you have any problem or suggestion please open an issue here.
Check here.
Pagar.me .NET library
License: MIT License
boleto_instructions não consta no o objeto de "Transaction"
default: null
Campo instruções do boleto. Máximo de 255 caracteres
Bom dia!
Estou precisando acessar a informação da transaction no postback da pagar.me, acontece não estou sabendo fazer e a documentação não me ajudou muito.
estou tentando em uma WebApi no .netcore 3.1.
Alguém saberia me ajudar?
segue um trecho do meu código:
[HttpPost]
public IActionResult Post(
[FromForm] string id,
[FromForm] string fingerprint,
[FromForm] string @event,
[FromForm] string @object,
[FromForm] string old_status,
[FromForm] string desired_status,
[FromForm] string current_status,
[FromForm] string[] transaction
)
{
GerenciarAuditoria audit = new GerenciarAuditoria();
IncluirLogAuditoria log = new IncluirLogAuditoria();
try
{
string XHubSignature = Request.Headers["X-Hub-Signature"];
log.AcaoEvento = "Captura postback Pagar.me";
log.CodigoUsuario = "system";
log.DescricaoEvento += " id => " + id;
log.DescricaoEvento += " transaction => " + transaction.Length;
log.DescricaoEvento += " fingerprint => " + fingerprint;
log.DescricaoEvento += " event => " + @event;
log.DescricaoEvento += " object => " + @object;
log.DescricaoEvento += " old_status => " + old_status;
log.DescricaoEvento += " desired_status => " + desired_status;
log.DescricaoEvento += " current_status => " + current_status;
if (audit.IncluirLogAuditoria(log) == false)
{
return BadRequest(new
{
Sucess = false,
CodigoRetorno = EnumRetorno.NaoPrevisto,
Mensagem = audit.MensagemRetorno
});
};
return Ok(new
{
Sucess = true,
CodigoRetorno = EnumRetorno.Sucesso,
});
}
catch(Exception ex)
{
log.AcaoEvento = "Captura postback Pagar.me";
log.CodigoUsuario = "system";
log.DescricaoEvento = ex.Message;
audit.IncluirLogAuditoria(log);
return BadRequest(new
{
Sucess = false,
CodigoRetorno = EnumRetorno.NaoPrevisto,
Mensagem = audit.MensagemRetorno
});
}
Projeto: PagarMe.Shared não abre no visual studio 2015 enterprise.
Apresenta seguinte erro: C:\Program Files (x86)\MSBuild\Microsoft\WindowsXaml\v14.0\Microsoft.Windows.UI.Xaml.CSharp.targets
Pessoal, estou tentando implementar a integração de vocês em meu serviço web, só que eu uso .NET Framework 4.0 nele.
Estou com alguns erros na hora de executar o build, esses erros indicam que a versão do System.Runtime não satisfaz as dependências do System.Threading.Tasks. Estive pesquisando aqui, mas ainda não consegui chegar em uma solução.
Vocês se depararam com esse problema por aí?
1>------ Rebuild All started: Project: PagarMe.Net40, Configuration: Debug Any CPU ------
1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1697,5): warning MSB3268: The primary reference "Microsoft.Threading.Tasks" could not be resolved because it has an indirect dependency on the framework assembly "System.Runtime, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.0". To resolve this problem, either remove the reference "Microsoft.Threading.Tasks" or retarget your application to a framework version which contains "System.Runtime, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1697,5): warning MSB3268: The primary reference "Microsoft.Threading.Tasks.Extensions" could not be resolved because it has an indirect dependency on the framework assembly "System.Runtime, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.0". To resolve this problem, either remove the reference "Microsoft.Threading.Tasks.Extensions" or retarget your application to a framework version which contains "System.Runtime, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1697,5): warning MSB3268: The primary reference "Microsoft.Threading.Tasks" could not be resolved because it has an indirect dependency on the framework assembly "System.Threading.Tasks, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.0". To resolve this problem, either remove the reference "Microsoft.Threading.Tasks" or retarget your application to a framework version which contains "System.Threading.Tasks, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
1>C:\Program Files (x86)\MSBuild\12.0\bin\Microsoft.Common.CurrentVersion.targets(1697,5): warning MSB3268: The primary reference "Microsoft.Threading.Tasks.Extensions" could not be resolved because it has an indirect dependency on the framework assembly "System.Threading.Tasks, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" which could not be resolved in the currently targeted framework. ".NETFramework,Version=v4.0". To resolve this problem, either remove the reference "Microsoft.Threading.Tasks.Extensions" or retarget your application to a framework version which contains "System.Threading.Tasks, Version=1.5.11.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a".
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\CardHash.cs(95,28,95,56): error CS4001: Cannot await 'System.Threading.Tasks.Task<PagarMe.PagarMeResponse>'
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\PagarMeRequest.cs(149,37,149,139): error CS4001: Cannot await 'System.Threading.Tasks.Task<System.IO.Stream>'
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\PagarMeRequest.cs(156,46,156,143): error CS4001: Cannot await 'System.Threading.Tasks.Task<System.Net.WebResponse>'
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\PagarMeRequest.cs(171,37,171,51): error CS1061: 'System.IO.StreamReader' does not contain a definition for 'ReadToEndAsync' and no extension method 'ReadToEndAsync' accepting a first argument of type 'System.IO.StreamReader' could be found (are you missing a using directive or an assembly reference?)
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\PagarMeRequest.cs(181,49,181,59): error CS0117: 'System.Net.WebRequest' does not contain a definition for 'CreateHttp'
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\Base\Model.cs(65,23,65,51): error CS4001: Cannot await 'System.Threading.Tasks.Task<PagarMe.PagarMeResponse>'
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\Base\Model.cs(87,13,87,35): error CS4001: Cannot await 'System.Threading.Tasks.Task'
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\Base\Model.cs(96,28,96,56): error CS4001: Cannot await 'System.Threading.Tasks.Task<PagarMe.PagarMeResponse>'
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\Base\Model.cs(135,32,135,60): error CS4001: Cannot await 'System.Threading.Tasks.Task<PagarMe.PagarMeResponse>'
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\Base\Model.cs(145,32,145,60): error CS4001: Cannot await 'System.Threading.Tasks.Task<PagarMe.PagarMeResponse>'
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\Base\ModelCollection.cs(86,17,86,45): error CS4001: Cannot await 'System.Threading.Tasks.Task'
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\Base\ModelCollection.cs(101,21,101,53): error CS4001: Cannot await 'System.Threading.Tasks.Task<System.Collections.Generic.IEnumerable<TModel>>'
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\Base\ModelCollection.cs(111,36,111,85): error CS4001: Cannot await 'System.Threading.Tasks.Task<PagarMe.PagarMeResponse>'
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\Base\ModelCollection.cs(111,20,111,86): error CS1502: The best overloaded method match for 'PagarMe.Base.ModelCollection<TModel>.FinishFindQuery(PagarMe.PagarMeResponse)' has some invalid arguments
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\Base\ModelCollection.cs(111,36,111,85): error CS1503: Argument 1: cannot convert from 'void' to 'PagarMe.PagarMeResponse'
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\Transaction.cs(274,13,274,51): error CS4001: Cannot await 'System.Threading.Tasks.Task'
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\Transaction.cs(288,13,288,51): error CS4001: Cannot await 'System.Threading.Tasks.Task'
1>c:\Users\Gabriel\Desktop\Projetos\frameworks\PagarMe\PagarMe.Shared\Subscription.cs(178,13,178,51): error CS4001: Cannot await 'System.Threading.Tasks.Task'
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
Olá, estou modificando nossa aplicação para multiplas api_key, no nosso projeto quando utilizo a api_key do nosso cliente esta retornando api_key inválida.
Alguma sugestão?
Após baixar o projeto, coloquei no projeto do Playground o seguinte código:
var cardHash = new CardHash();
cardHash.CardCvv = "000";
cardHash.CardExpirationDate = "0000";
cardHash.CardHolderName = "NOME DO TITULAR";
cardHash.CardNumber = "0000000000000000";
await cardHash.GenerateAsync();
Ao chegar na linha GenerateAsync()
estoura a exceção indicando que, em uma requisição onde são passadas informações no corpo, deve ser utilizado o verbo POST
em vez de GET
.
Stack Trace:
em System.Net.HttpWebRequest.CheckProtocol(Boolean onRequestStream)
em System.Net.HttpWebRequest.BeginGetRequestStream(AsyncCallback callback, Object state)
em System.Threading.Tasks.TaskFactory`1.FromAsyncImpl(Func`3 beginMethod, Func`2 endFunction, Action`1 endAction, Object state, TaskCreationOptions creationOptions)
em PagarMe.PagarMeRequest.<ExecuteAsync>d__25.MoveNext()
--- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
em PagarMe.CardHash.<GenerateAsync>d__21.MoveNext()
--- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
em System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
em Playground.MainClass.<ObterHashDoCartao>d__2.MoveNext() na C:\Users\rodrigo.lira\Downloads\pagarme-net-master\Playground\Program.cs:linha 144
--- Fim do rastreamento de pilha do local anterior onde a exceção foi gerada ---
em System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
em System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
em System.Runtime.CompilerServices.TaskAwaiter`1.GetResult()
em Playground.MainClass.<Teste>d__1.MoveNext() na C:\Users\rodrigo.lira\Downloads\pagarme-net-master\Playground\Program.cs:linha 129
Exception é lançada quando tento acessar a propriedade Tid de uma Transaction após método Save(), pois o valor (Tid) gerado internamente trata-se de um int e o model que recebe é uma String.
ex:
essa é uma transação que será capturada posteriormente:
PagarMeService.DefaultApiKey = "ak_test_grXijQ4GicOa2BLGZrDRTR5qNQxJW0";
Transaction transaction = new Transaction();
transaction.Amount = 1000;
transaction.CardHash = "CARD_HASH_GERADO";
transaction.ShouldCapture = false,
transaction.Customer = new Customer() {
Name = "John Appleseed",
DocumentNumber = "92545278157",
Email = "[email protected]",
Address = new Address() {
Street = "Rua Dr. Geraldo Campos Moreira",
Neighborhood = "Cidade Monções",
Zipcode = "04571020",
StreetNumber = "240"
},
Phone = new Phone() {
Ddd = "11",
Number = "15510101"
}
};
transaction.Save();
Neste ponto quero salvar o Tid para fazer a captura depois. Mas no campo Tid ja está a Exception do cast errado e ao tentar usar a propriedade
string Tid = transaction.Tid;
ele quebra.
O método RefundAsync da classe Transaction deveria ter um retorno do tipo Task, como no método SaveAsync, para ser possível utilizar o await.
Quando crio uma transação para PIX recebo o conteúdo(payload) do QRCode mas não encontrei biblioteca para gerar a imagem desse QRCode.
Usando bibliotecas genéricas para criar a QRCode, parece que o payload está muito longo.
Acredito que exista alguma biblioteca específica para o PIX.
Estou tentando enviar um teste de pagamento com o PagarMe para C# mas sempre retorna o erro. Estou seguindo os exemplos do site, porém, ainda não tive resultados.
Exceção do tipo 'PagarMe.PagarMeException' foi acionada.
Como resolver isso ?
//efetua pagamento
public JsonResult FinalizaVenda(PagarMeModel model){
try{
PagarMeService.DefaultApiKey = PagarMeCfg.PAGARME_API_KEY_TESTE;
PagarMeService.DefaultEncryptionKey = PagarMeCfg.PAGARME_CRIPTO_KEY_TESTE;
//cria transacao
Transaction transaction = new Transaction();
transaction.Amount = 5490;
//cartao credito
CardHash cartao = new CardHash();
cartao.CardNumber = model.numCartao;
cartao.CardHolderName = model.nomePropCartao;
cartao.CardExpirationDate = model.mesVencimento + model.anoVencimento;
cartao.CardCvv = model.cvv;
transaction.CardHash = cartao.Generate(); //gera o hash do cartao
//cliente
Customer customer = new Customer();
customer.Name = model.nomeComprador;
customer.Type = CustomerType.Individual;
customer.Email = model.emailComprador;
transaction.Customer = customer;
//documentos cliente
transaction.Customer.Documents = new[]{
new Document(){
Type = DocumentType.Cpf,
Number = model.cpfComprador,
}
};
//telefone cliente
transaction.Customer.PhoneNumbers = new string[]{
model.codAreaTelPropCartao + model.telFonePropCartao
};
//aniversario cliente
transaction.Customer.Birthday = model.nascimentoPropCartao;
//billing
transaction.Billing = new Billing{
Name = "Fernando Paiva",
Address = new Address(){
Country = "br",
State = "sp",
City = "Ituverava",
Neighborhood = "Cecap",
Street = "Rua 38",
StreetNumber = "222",
Zipcode = "14444000"
}
};
//item
transaction.Item = new[]{
new Item(){
Id = "0001",
Title = "Pacote de acesso de 30 dias",
Quantity = 1,
Tangible = false,
UnitPrice = 5490
}
};
//realiza transacao
transaction.Save();
//retorno json
jsonResposta.Add("status", "1");
jsonResposta.Add("msg", "Transação realizada com sucesso!");
}catch (PagarMeException e){
jsonResposta.Add("status", "0");
jsonResposta.Add("msg", e.Message);
Debug.WriteLine("Erro de Pagamento: " + e.Message);
}
return Json(jsonResposta);
}
Esta com erro para criar novo cliente, o campo external_id agora é obrigatário.
Existe alguma previsã de implementação, ou devo fazê-lo manualmente?
Estou gerando o cardhash normalmente, com os dados do meu cartão. mas a transação nao é completada.
Se eu coloco os dados do cartão direto, ai funciona.
O cardhash ta sendo gerado no webview do android utilizando pagarme.js e envio o cardhash pro back end e entao processa. so que nao vai de maneira alguma.
Vou ter que trafegar os dados do cartao do usuario ? Encryptar sei la fazer algo. Porque o hash nao ta rolando.
Podem me ajudar?
NuGet Pagar.me v2.6.12
WebAPI .net Core 2.2
`public class PagarMeTool : PagarMeService
{
public PagarMeTool(IConfiguration configuration) : base(configuration["Pagar_Me:Key"], configuration["Pagar_Me:Criptography"], configuration["Pagar_Me:EndPoint"])
{
}
public void CreateCustomer(string aDocumentNumber)
{
Customer customer = this.Customers.Find(new Customer() { DocumentNumber = aDocumentNumber });
if (customer == null)
CreateCustomer();
}
public void CreateCustomer()
{
Customer customer = new Customer(this)
{
Name = "GuyName",
Birthday = DateTime.Now.ToString("yyyy-MM-dd"),
BornAt = DateTime.Now.Date,
Email = "[email protected]",
Address = new Address()
{
StreetNumber = "10"
},
Phone = new Phone()
{
Ddi = "55",
Ddd = "31",
Number = "987654321"
},
Country = "",
DocumentNumber = "12345678912",
DocumentType = DocumentType.Cpf,
ExternalId = "",
Gender = Gender.Male,
Type = CustomerType.Individual
};
customer.Save();
}
}`
Any final command throws:
"Could not load file or assembly 'System.Configuration.ConfigurationManager, Version=0.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. O sistema não pode encontrar o arquivo especificado."
No dia 6 de setembro de 2022, a PagarMe irá realizar uma atualização no protocolo TLS que tornará indisponível o acesso a algumas cifras. Gostaria de saber se este pacote será afetado de alguma maneira com a mudança?
Cifras que serão descontinuadas:
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (0xc014)
TLS_RSA_WITH_AES_256_GCM_SHA384 (0x9d)
TLS_RSA_WITH_AES_256_CBC_SHA (0x35
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (0xc027)
TLS_RSA_WITH_AES_128_CBC_SHA256 (0x3c)
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (0xc028)
TLS_RSA_WITH_AES_256_CBC_SHA256 (0x3d)
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA (0xc009)
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (0xc013)
TLS_RSA_WITH_AES_128_GCM_SHA256 (0x9c)
TLS_RSA_WITH_AES_128_CBC_SHA (0x2f)
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256 (0xc023)
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384 (0xc024)
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 (0xc02b)
OLD_TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcc14)
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca9)
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 (0xc02c)
OLD_TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcc13)
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 (0xcca8)
Erro ocorre ao executar o codigo
PagarMeService.DefaultApiKey = "minha key"
var postbacks = PagarMeService.GetDefaultService().Transactions.Find(transactionId, true).Postbacks.FindAll(new Postback());
Segui o exemplo do site
https://docs.pagar.me/v2/reference#transactionsidpostbacks
Por favor, podem me ajudar?
Olá Pessoal.
Fui realizar um estorno pela API neste momento da seguinte maneira.
var Transacao_ID = PagarMeService.GetDefaultService().Transactions.Find(TR_id.ToString()); Transacao_ID.Refund(); TransactionStatus status = Transacao_ID.Status; ReturnStatus_Payment = status.ToString();
O retorno não voltou o status REFUNDED...ele voltou como PAID.
Entrei na dashboard e o estorno foi feito normalmente, mas o retorno nao veio como refuded.
Alguma sugestão de contornar isso ?
Obrigado
Olá, gostaria de saber como adicionar juros à um boleto vencido em C#, a opção boleto_fine não aparece na chamada do método
Notei que vez ou outra estava recebendo erro na linha 45, do arquivo PagarMeRequest.cs
Por vezes, ao realizar o clean da solução o erro parava. Porém, após o último deploy em produção começou a acontecer o erro novamente. Conclusão:
Como solução de contorno fiz a a modificação abaixo que preenche o valor caso venha nulo a chave. Funcionou para mim, mas postei aqui para caso alguém tenha passado por isso no .NET Core.
return query.Select((t) => Uri.EscapeUriString(t.Item1) + "=" + Uri.EscapeUriString(t.Item2 == null ? "SUA API KEY" : t.Item2)).Aggregate((c, n) => c + "&" + n);
Ao informar o PaymentMethod em Plan e Salvar:
Exemplo:
var plan = new Plan()
{
Name = "Test Plan",
Days = 30,
TrialDays = 0,
Amount = 1099,
Color = "#787878",
PaymentMethods = new PaymentMethod[] { PaymentMethod.CreditCard },
};
plan.Save(); //Erro acontece aqui
Recebo o seguinte erro:
System.InvalidCastException : Não é possível converter um objeto do tipo 'PagarMe.PaymentMethod[]' no tipo 'System.Object[]'.
em PagarMe.Base.AbstractModel.ConvertKey(KeyValuePair2 obj, SerializationType type) em PagarMe.Base.AbstractModel.<>c__DisplayClass21_0.<GetKeys>b__0(KeyValuePair
2 x)
em System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext() em System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable
1 source, Func2 keySelector, Func
2 elementSelector, IEqualityComparer`1 comparer)
em PagarMe.Base.AbstractModel.GetKeys(SerializationType type)
em PagarMe.Base.Model.Save()
em PagarMe.Tests.SubscriptionTests.CreateWithPlan() na SubscriptionTests.cs:linha 18
Ao fazer um split da transação com porcentagem, não é possível enviar um valor decimal como (7,5%), apenas números inteiros.
Olá , as versões de pagar.me e portable.pagar.me ainda não são compatíveis com .netcore ou .netstandard
Vocês pretendem implementar?
Package Pagar.me 2.4.3 is not compatible with netstandard1.4 (.NETStandard,Version=v1.4). Package Pagar.me 2.4.3 supports:
Package Pagar.me 2.4.3 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Package Pagar.me 2.4.3 supports:
Package Portable.Pagar.me 2.3.0 is not compatible with netstandard1.4 (.NETStandard,Version=v1.4). Package Portable.Pagar.me 2.3.0 supports: portable-monoandroid10+monotouch10+net45+win+wp8+xamarinios10+xamarinmac20 (.NETPortable,Version=v0.0,Profile=net45+win+wp80+MonoTouch10+MonoAndroid10+xamarinmac20+xamarinios10)
Package Portable.Pagar.me 2.3.0 is not compatible with netcoreapp1.1 (.NETCoreApp,Version=v1.1). Package Portable.Pagar.me 2.3.0 supports: portable-monoandroid10+monotouch10+net45+win+wp8+xamarinios10+xamarinmac20 (.NETPortable,Version=v0.0,Profile=net45+win+wp80+MonoTouch10+MonoAndroid10+xamarinmac20+xamarinios10)
No api de modo teste, esta aceitando qualquer cartao ? mesmo que seja invalido ?
Passei um qualquer aqui e foi.. na hora que é feita a transacao é validado isso ?
Olá pessoal, estou com um erro que apenas no meu projeto consigo reproduzir..nos outros passa normal.
Recipient RecebedorID= PagarMeService.GetDefaultService().Recipients.Find("re_cjrfr5197007vta6ecksj6cgw");
Quando rodo o codigo acima ele me gera uma excecao dizendo que o valor não pode ser null e destaca o parametro como stringtoescape.
Estou perdido nessa exception.
Obrigado
Olá
Tenho uma duvida, estou tentando criar o split (transacao) via c# seguindo a documentacao.
Mas aqui fala que tem que usar o campo register information..
Recipient recipient = new Recipient();
recipient.TransferInterval = TransferInterval.Weekly;
recipient.TransferDay = 5;
recipient.TransferEnabled = true;
recipient.BankAccount = banco;
Quando coloco recipient.
nao tem nenhuma opcao pra eu coloca os dados do meu seller (pra quem vai cair o dinheiro)
é Obrigatório esse campo ? como funciona.
Obrigado
Pela documentação (https://docs.pagar.me/reference#criando-uma-conta-banc%C3%A1ria) se a conta bancária não tiver digito, basta não incluir no json.
Porém, usando a biblioteca de vocês, se envio com o campo ContaDv como null do model BankAccount recebo um pagarme.exception. Se deixo o texto com uma string em vazia, tambem.
O que tenho que colocar?
Mesmo atribuindo na transacao o codigo abaixo
transaction.SplitRules = new[]
{
new SplitRule
{
Recipient = RecebedorID,
Percentage = 97,
ChargeProcessingFee = true,
Liable = true
},
new SplitRule
{
Recipient = Principal_ID,
Percentage = 3,
ChargeProcessingFee = false,
Liable = false
}
};
Ele me retorna a exceção " all split rules need a percentage property " quando aciona o transaction.save()
Estava funcionando normal, fui realizar um novo teste e recebi essa exception.
Ontem estava tudo ok
O que pode ser?
Permitir paginação (count, page) em métodos que retornam collections de planos, assinaturas e outros
Atualmente os endpoints (Ex: GET /pans e /subscriptions ) possuem esse recurso, mas por padrão, retornam apenas os 10 primeiros registros. Desta forma, os métodos do componente pagarme-net, sempre retornam os 10 primeiros e não dispõe da opção de paginar.
Bom dia!
Tem como apagar uma conta bancaria ou modificar ?
contudo também tem como apagar um recebedor ?
Infelizmente criei alguns recebedores na api de testes e nao consigo apagar.
Are there lib for .NET Core?
Olá, estou desenvolvendo num marketplace e preciso desenvolver o Split Payment onde EU, o dono do sistema, receberei uma porcentagem x de cada compra realizada. Na documentação só encontrei informação sobre como dividir a conta com mais de um lojista, o que não é o meu caso. Por exemplo, quero que quando o usuário fizer uma compra de um produto que custou R$10, o vendedor receba R$9 e eu receba R$1, como se fosse uma comissão! Com esse R$1 indo pro meu saldo da Pagarme.
Tem como fazer isso?
Devido a mudança na interface da transfer, a referência de recipient_id dentro da API foi substituida por "source_type" e "source_id".
Isso impede o pagarme-net de interpretar esses novos parâmetros na resposta da API, e que ele recupere essas informações de transferências anteriores.
The conversion in said field seems to throw an exception
As features listadas abaixo estão disponíveis na API via rotas, porém ainda não estão presentes no SDK, fazendo com que o cliente necessite implementá-las de seu lado.
Ao desenvolver a feature, mergeá-la no repositório e explicá-la na documentação, você deverá dar a baixa na lista acima para que possa ser mantido um tracking.
Pessoal,
Identifiquei que o parametro para busca de recebíveis é um objeto do tipo Payable.
Ref.: https://docs.pagar.me/reference#retornando-receb%C3%ADveis
Existe alguma forma de fazer isso utilizando a SDK? Ou ela de fato apenas permite a busca com exatidão dos campos (==)?
Outra dúvida:
Como vocês convertem/iteram o Modelcollection da base model da SDK para uma collection do .NET (list,array etc)? Preciso transformar o retorno do objeto das operações para um objeto DTO que será serializado e mandado para o frontend.
Ref.: https://docs.pagar.me/reference#opera%C3%A7%C3%B5es-de-saldo-de-um-recebedor
Prezados,
Estou recebendo uma exceção ao tentar salvar uma transação utilizando a biblioteca. O erro informa que o parâmetro "billing" não foi informado (erro de validação). Entretanto, não encontrei na biblioteca (objeto Transaction) nenhum campo para preenchimento desses dados, assim como os "itens do pedido" (campos obrigatórios quando o anti-fraude está ligado).
Como devo proceder para conseguir realizar a transação (cartão de crédito)?
Obrigado.
Alguém se prontifica a fazer uma nova versão pro .Net Core, com o PIX?
Na versão 2.2.3 do client não contém implementação para o resource zipcodes
da api web.
Url: https://api.pagar.me/1/zipcodes/{0}
Vocês pretendem implementar?
Olá,
Estou implementando a funcionalidade de estorno de transações. Para as transações pagar com cartão de crédito está funcionando corretamente porém no caso de boleto bancário, onde devo informar os dados da conta para depósito, estou recebendo a mensagem de erro que os dados bancários (bank_account) não estão sendo passados.
Na documentação não consta essa informação para C# e eu já tentei passá-los de várias formas.
Vocês poderiam me passar um exemplo em C# de estorno para boleto bancário?
Obrigado.
Não está compatível com net core 5.0
Estou sempre recebendo esse erro :
PagarMe.PagarMeException: 'Exception of type 'PagarMe.PagarMeException' was thrown.' no transaction.Save();
Não sei onde está o erro, pois testei exatamente com os parâmetros da DOC (v4 2019-09-01)
https://docs.pagar.me/docs/realizando-uma-transacao-de-cartao-de-credito
PagarMeService.DefaultApiKey = $"{myAPIKey}";
PagarMeService.DefaultEncryptionKey = $"{myCryptKey}";
Transaction transaction = new Transaction();
transaction.Amount = 100;
transaction.Card = new Card
{
CardHash = $"{cardHash}"
};
transaction.Customer = new Customer
{
ExternalId = $"{externalId}",
Name = $"{name}",
Type = CustomerType.Individual,
Country = "br",
Email = $"email",
Documents = new[]
{
new Document{
Type = DocumentType.Cpf,
Number = $"{cpf}"
}
},
PhoneNumbers = new string[]
{
$"{phoneNumber}"
},
Birthday = new DateTime(1993, 07, 05).ToString("yyyy-MM-dd")
};
transaction.Billing = new Billing
{
Name = $"{name}",
Address = new Address()
{
Country = "br",
State = "sp",
City = $"{city}",
Neighborhood = $"{neighborhood}",
Street = $"{street}",
StreetNumber = $"{streetNumber}",
Zipcode = $"{zipCode}"
}
};
transaction.Item = new[]
{
new Item()
{
Id = $"{itemId}",
Title = $"{itemTitle}",
Quantity = 1,
Tangible = false,
UnitPrice = 100
}
};
transaction.Save();
É necesário que o SDK seja capaz de lidar com parâmetros que são retornados como nulo em situações onde eles não estão presentes na biblioteca como por exemplo SubscriptionId e Split_Rules.
Sei que não se trata exatamente de uma issue, mas como não existe mais a funcionalidade de mensagem privada para usuários no github e todos os exemplos de código da api docs estão com o parametro metadata nullado, gostaria de pedir que alguém me mostrasse programaticamente como criar uma instancia desta classe para salvar na pagar.me as informações adicinais de uma assinatura que digam respeito ao contexto do sistema integrador.
Os campos tid e nsu do objeto Transaction segundo a documentação da Pagar.me são do tipo String https://docs.pagar.me/api/#objeto-transaction e na Classe Transaction dentro do projeto Shared https://github.com/pagarme/pagarme-net/blob/master/PagarMe.Shared/Transaction.cs esta retornando Int, isso está causando um erro na hora de pegar os dados da transação quando é retornado da Pagar.me.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.