Métodos responsáveis para consumir e utilizar a api do PicPay, com alguns adicionais.
Execute o comando para instalar via NuGet:
> dotnet add package PicPayDotnet
Para configurar o ambiente e utilizar o client existem duas formas distintas e cabe ao desenvolvedor escolher a que mais se adeque ao projeto.
A primeira forma é utilizando por meio do IHttpClientFactory e de um Service Provider, e deixando a extensão da Microsoft fazer o gerenciamento do HttpClient durante a vida da sua aplicação. Exemplo:
public static ServiceProvider ServiceProvider { get; set; }
public const string PicPayClient = "PicPayClient"; // Este deve ser sempre o Nome do HttpClient nomeado
// Geralmente esta configuração é feita em algum momento da sua aplicação e se mantém por toda ela
var serviceCollection = new ServiceCollection().AddHttpClient();
serviceCollection.AddHttpClient(PicPayClient, Client =>
{
Client.BaseAddress = new Uri("https://appws.picpay.com/ecommerce/public/");
Client.DefaultRequestHeaders.Add("x-picpay-token", "Your-Token-HERE");
Client.DefaultRequestHeaders.Add("user-agent", JSONExtension.GetUserAgent());
Client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
});
ServiceProvider = serviceCollection.BuildServiceProvider();
var client = new PicPayClient(ServiceProvider);
Ou ainda pode ser feita por meio da Dependency Injection, atráves do PicPayConfiguration. Exemplo:
var config = new PicPayConfiguration
{
URL = "URL-API",
PicPayToken = "Your-Token-HERE"
};
var client = new PicPayClient(config);
Quaisquer dúvidas adicionais, segue a documentação oficial: API Refence
var request = new PicPayPaymentRequest
{
ReferenceId = "1029",
CallbackUrl = "http://www.sualoja.com.br/",
ReturnUrl = "http://www.picpay.com/#transacaoConcluida",
ExpiraEm = DateTime.Now.AddMinutes(30),
Valor = 1,
Buyer = new PicPayBuyer
{
Nome = "TesTe",
Sobrenome = "Teste",
Documento = "99999999999",
}
};
var response_pagamento = await _client.CreateRequest(request);
var response = await _client.GetStatusAsync("1029");
var request = new PicPayPaymentRequest
{
AuthorizationId = "555008cef7f321d00ef236333",
Valor = 1,
ReferenceId = "1029"
};
var response_cancel = await _client.CancelRequestAsync(request);
Para contribuir com PicPay_API, siga estas etapas:
- Bifurque este repositório.
- Crie um branch:
git checkout -b <Nome da Branch>
. - Faça suas alterações e confirme-as:
git commit -m 'Sua Mensagem'
- Envie para o branch original:
git push origin picpay-api-dotnet / <local>
- Crie a solicitação de pull.
Como alternativa, consulte a documentação do GitHub em como criar uma solicitação pull.
Agradecemos às seguintes pessoas que contribuíram para este projeto:
Emmanuel Silva |
Esse projeto está sob licença MIT. Veja o arquivo LICENÇA para mais detalhes.