vhs94 / pagseguro-net-sdk

Fluent Client para APIs PagSeguro

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Client moderno para APIs PagSeguro

Version codecov

Install

  • Package Manager Console (Visual Studio)
Install-Package PagSeguro.DotNet.Sdk
  • dotnet cli
dotnet add package PagSeguro.DotNet.Sdk

Como usar

ASP.NET

No ASP.NET, use o middleware para injetar uma instância do IPagseguroClient

//configuracao credenciais pagseguro
builder.Services.AddPagSeguro(options =>
{
    options.ClientId = "8815a5e2-616b-4754-a6d1-40d92b71674c";
    options.ClientSecret = "45e5a4de-b8eb-4b78-9ce6-fad416b1953c";
    options.Token = "BCABE5E7AA9D43BCBBB76E3C45C1567A";
    options.Environment = PagSeguroEnvironment.Sandbox;
});

ConsoleApp

Crie uma instância de PagSeguroClient, caso queira usar o ambiente de Produção, o Environment pode ser omitido.

var client = new PagSeguroClient(new ClientSettings
{
    Environment = PagSeguroEnvironment.Sandbox,
    Token = "<SEU_TOKEN>"
});

Use as fluent interfaces para manipular as APIs, para opções disponíveis veja a Wiki.

var creditCardOrder = await client
    .ForOrder()
    .WithReferenceId("ref-id")
    .WithNotificationUrl("https://my.url")
    .WithCreditCard()
    .AddCharge(new ChargeByCreditCardWriteDto())
    .CreateAsync();

Unit Testing

Compatível com Mocking frameworks como NSubstitute ou Moq. Devido ao design usando fluent interfaces, proporciona alta testabilidade.

    [Fact]
    public async Task ForOrder_GetByIdAsync_GetByIdAsyncIsCalledWithId()
    {
        var clientMock = Substitute.For<PagSeguroClient>(new ClientSettings());
        string orderId = "order-id";

        await clientMock
            .ForOrder()
            .GetByIdAsync(orderId);

        await clientMock
            .Received(1)
            .ForOrder()
            .GetByIdAsync(orderId);
    }

About

Fluent Client para APIs PagSeguro


Languages

Language:C# 100.0%Language:Smalltalk 0.0%