DotCreative.Services.PaymentCenter.Core 2.0.0

dotnet add package DotCreative.Services.PaymentCenter.Core --version 2.0.0
NuGet\Install-Package DotCreative.Services.PaymentCenter.Core -Version 2.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="DotCreative.Services.PaymentCenter.Core" Version="2.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add DotCreative.Services.PaymentCenter.Core --version 2.0.0
#r "nuget: DotCreative.Services.PaymentCenter.Core, 2.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install DotCreative.Services.PaymentCenter.Core as a Cake Addin
#addin nuget:?package=DotCreative.Services.PaymentCenter.Core&version=2.0.0

// Install DotCreative.Services.PaymentCenter.Core as a Cake Tool
#tool nuget:?package=DotCreative.Services.PaymentCenter.Core&version=2.0.0

Payment Center

O projeto PaymentCenter é uma iniciativa open source com o objetivo de criar uma ferramenta que padronize a utilização de plataformas de pagamentos e bancos utilizadas no mercado.

Sinta-se a vontade para ajudar com a implementação de novas plataformas. Nos ajude a fazer com que este projeto cresça.

Pacotes NuGet: Para localizar os pacotes NuGet desse projeto, pesquise por "DotCreative.Service.PaymentCenter" e logo achará todas as opções disponiveis. Exemplo no link https://www.nuget.org/packages?q=DotCreative.Services.PaymentCenter

Versionamento: Para facilitar seguiremos o padrão SEMVER (https://semver.org/lang/pt-BR/) e a numeração principal a ser seguida será do projeto Core (núcleo). Logo, se a última versão do projeto for 2.0.0, todos os demais também terão a mesma versão.

Histórico

Atualmente, entre as atuais plataformas de pagamento e bancos do mercado não existe nenhuma padronização na forma com que é feita a geração da cobrança, consulta e listagem das mesmas.

Cada banco e cada plataforma de pagamento tem seus meios e métodos de implementação de cobranças. Consequentemente, isso dificulta a implementação concorrente de diversos meios de pagamento ao mesmo tempo.

Este projeto foi pensado para ser open source. Ajude na implementação de novas plataformas e melhorias.

Plataformas já integradas

Na tabela abaixo, confira as integrações já realizadas. A ordem da tabela será a ordem em que serão priorizadas as integrações.

Plataforma UA Boleto PIX Cartão de Crédito Cartão de débito Transferências
Paghiper 20/11/2022 Disponível Disponível Disponível Disponível Disponível
Gerencianet - Indisponível Indisponível Indisponível Indisponível Indisponível
MercadoPago - Indisponível Indisponível Indisponível Indisponível Indisponível
Pagseguro - Indisponível Indisponível Indisponível Indisponível Indisponível
Bradesco - Indisponível Indisponível Indisponível Indisponível Indisponível
Santander - Indisponível Indisponível Indisponível Indisponível Indisponível
Braspag - Indisponível Indisponível Indisponível Indisponível Indisponível

Entenda como funciona

A forma da implementação é bem simples e pode ser visualizada no projeto de testes. Cada plataforma poderá ser implementada separadamente ou em conjunto. As regras abaixo seguirá igualmente para todas as plataformas.

Inicie preparando a transação conforme os exemplos abaixo:

// Número de sua ordem de pagamento. Número que corresponda a uma identificação própria sua.
string orderId = Guid.NewGuid().ToString();

// Data de vencimento da sua cobrança
DateTime dueDate = DateTime.Now.AddDays(15);

// Dados relativos a sua plataforma de cobrança.
PlatformData platformData = new PlatformData(EPlatforms.PagHiper, "KEY", "TOKEN");

// Itens que comporão a cobrança.
ICollection<TransactionsItem> items = new List<TransactionsItem>();
items.Add(new TransactionsItem("Item 1", 149.90m));
items.Add(new TransactionsItem("Item 2", 10.10m));

// Itens que comporão os valores a serem descontados no total.
ICollection<TransactionsItem> discounts = new List<TransactionsItem>();
discounts.Add(new TransactionsItem("Desconto 1", 2.45m));
discounts.Add(new TransactionsItem("Desconto 2", 1.00m));

// Endereço do pagador.
Address address = new Address("Av Brigadeiro Faria Lima", 12345, "Jardim Paulistano", "São Paulo", "SP", "01452002", "Torre Sul 4º Andar");

// Telefone do pagador.
Telephone telephone = new Telephone(11, 40638785);

// Documento do pagador.
Document document = new Document(EDocumentType.CPF, "30307214001");

// Dados do pagador
Person payer = new Person("Poul Silva", "poulsilva@exemple.com", document, telephone, address);

// Dados da transação
Transaction transaction = new Transaction(platformData, transactionType, orderId, payer, dueDate, items, discounts);

Após a instancia dos objetos, prossiga com a execução da transação. No exemplo abaixo, está a Paghiper, mas o princípio é o mesmo para todas as demais.

// Crie uma transação básica.
// Instancie a plataforma de pagamento desejada.
PaghiperPlatform platform = new PaghiperPlatform();

// Recupere a transação com os dados atualizados.
transaction = await platform.Create(transaction);
Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on DotCreative.Services.PaymentCenter.Core:

Package Downloads
DotCreative.Services.PaymentCenter.Paghiper

Este projeto tem por objetivo fornecer a implementação de pagamentos via boleto ou pix para a plataforma de pagamentos Paghiper. Também disponível a solução de saques (transferências) e consulta das transações realizadas

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.0 370 11/20/2022
1.0.1 302 11/7/2022
1.0.0 319 11/7/2022

Ajustado os métodos para a listagem de bancos disponíveis para transferência e transações. Também ajustado o método abstrato para solicitação de transferência de valores.