MaisTodos.Client
3.5.4
See the version list below for details.
dotnet add package MaisTodos.Client --version 3.5.4
NuGet\Install-Package MaisTodos.Client -Version 3.5.4
<PackageReference Include="MaisTodos.Client" Version="3.5.4" />
<PackageVersion Include="MaisTodos.Client" Version="3.5.4" />
<PackageReference Include="MaisTodos.Client" />
paket add MaisTodos.Client --version 3.5.4
#r "nuget: MaisTodos.Client, 3.5.4"
#:package MaisTodos.Client@3.5.4
#addin nuget:?package=MaisTodos.Client&version=3.5.4
#tool nuget:?package=MaisTodos.Client&version=3.5.4
Biblioteca de integração MaisTodos em .NET
Descrição
A biblioteca de integração MaisTodos em .NET facilita a utilização das funcionalidades que a MaisTodos expõe na forma de APIs.
Inclui funcionalidades como:
- Obter Cliente por Id
- Registrar Cliente
- Obter Assinatura por Id
- Criar Assinatura Associando a um Cliente
- Cancelar Assinatura por Id
- Estornar Pagamento
- Adicionar Cartão de Crédito
- Obter Ciclos de Pagamentos Pendentes Para uma Assinatura
- Criar um Ciclo de Pagamento Futuro para uma Assinatura
- Obter Último Ciclo de Pagamento pela Assinatura
- Baixar Manualmente os Ciclos de Uma Assinatura
- Baixar Manualmente os Ciclos de Uma Assinatura (Forma Simplificada)
- Criar um Cupom de Desconto
- Criar uma Regra de Descontos
- Obter um Cupom de Desconto por Id
- Obter os Cupons de Desconto
- Obter uma Regra de Desconto por Id
- Obter as Regras de Desconto
- Alterar a Referência da Assinatura
- Trocar o Método (Reguá) de Pagamento
- Alterar o preço de uma Assinatura
- Gerar uma Cobrança Adicional Para a Assinatura
- Obter o Cliente pelo Documento de Identificação
- Suspender Assinatura por Id
- Atualizar cupom e desconto
- Abrir uma assinatura suspensa por Id
- Fazer uma nova tentativa de pagamento por Id do pagamento
- Obter o ultimo ciclo de pagamento por Id
Requisitos
- .NET Standard 2.0
Instalação
.Net Cli
dotnet add package MaisTodos.Client --version 3.5.4
PackageReference
<PackageReference Include="MaisTodos.Client" Version="3.5.4" />
Utilização
Instância do cliente da mais todos:
using MaisTodos.Client;
IMaisTodosClient maisTodosClient = new MaisTodosClient(
authorization: "token xxxx",
apiVersion: "v1",
isSandBox: true // true para utilização em sandbox e false para utilização em produção
mockEndpointBaseUrl: null // Opicional - Usado para mocar o retorno do estorno de tentativa
);
Obter Cliente por Id:
var customerId = 1;
var resultValue = await maisTodosClient.GetCustomersByIdAsync(customerId);
var client = resultValue.Data;
Registrar Cliente:
var client = new CustomerDTO {
Name = "Name1",
Document = "Document1",
Phone = "XXXXXXXXXX",
Email = "XXXXXXXXXX@email.com",
Address = "Address1",
AddressNumber = "5",
Complement = "Complement1",
Neighborhood = "Neighborhood1",
City = "City1",
State = "mg",
Zipcode = "Zipcode1",
Latitude = "-30.770001",
Longitude = "45.899002"
};
var resultValue = await maisTodosClient.RegisterCustomersAsync(client);
var registeredCustomer = resultValue.Data;
Obter Assinatura por Id:
var subscriptionId = 1;
var resultValue = await maisTodosClient.GetSubscriptionByIdAsync(subscriptionId);
var subscription = resultValue.Data;
Criar Assinatura Associando a um Cliente:
var dto = new CreateSubscriptionLinkingCustomerDTO
{
Plan = 1,
Customer = 1,
NextBillingDate = "xxxx-xx"
PaymentData = new PaymentDataRequestDTO
{
PaymentRuler = 1,
Installments = 1,
CreditCard = new CreditCardDTO
{
Holder = "Holder A",
Number = "XXXXXXXXXXXXXX",
CVV = "123",
ExpirationDate = "2030-01",
Brand = "master"
}
}
};
var resultValue = await maisTodosClient.CreateSubscriptionLinkingCustomerAsync(dto);
var subscription = resultValue.Data;
Cancelar Assinatura por Id:
var subscriptionId = 1;
var dto = new ObservationDTO
{
Observation = "Cancelado pelo motivo X"
};
var resultValue = await _maisTodosClient.CancelSubscriptionByIdAsync(
subscriptionId: subscriptionId, dto: dto
);
var subscription = resultValue.Data;
Estornar Pagamento:
var attemptId = 1;
var dto = new ObservationDTO
{
Observation = "Estornado pelo motivo X"
};
var resultValue = await _maisTodosClient.RefundByAttemptIdAsync(
attemptId: attemptId, dto: dto
);
var subscription = resultValue.Data;
Adicionar Cartão de Crédito
var dto = new AddCreditCardDTO
{
Customer = 1,
Holder = "XXXXX",
Number = "XXXXXXXXXXXXXXXX",
CVV = "XXX",
ExpirationDate = "XXXX-XX",
Default = true,
Brand = "master"
};
var resultValue = await _maisTodosClient.AddCreditCardAsync(dto: dto);
var response = resultValue.Data;
Adicionar Cartão de Crédito por Token
var dto = new AddCreditCardByTokenDTO
{
Customer = 1,
Holder = "XXXXX",
Token = "XXX",
ExpirationDate = "XXXX-XX",
Default = true,
Brand = "master"
};
var resultValue = await _maisTodosClient.AddCreditCardByTokenAsync(dto: dto);
var response = resultValue.Data;
Obter Ciclos de Pagamentos Pendentes Para uma Assinatura
var subscriptionId = 1;
var resultValue = await _maisTodosClient.GetPaymentCyclesBySubscriptionIdAsync(subscriptionId);
var response = resultValue.Data;
Criar um Ciclo de Pagamento Futuro para uma Assinatura
var subscriptionId = 1;
var resultValue = await _maisTodosClientWithMock.CreateFutureCycleAsync(
subscriptionId: subscriptionId
);
var response = resultValue.Data;
Baixar Manualmente os Ciclos de Uma Assinatura
var subscriptionId = 1;
var paymentCycleDTO = new ForcePaymentCompletionDTO()
{
Observation = "Alguma observação sobre o motivo desse pagamento forçado.",
CyclesIds = new List<int> { 1, 2 }
};
var resultValue = await _maisTodosClient.ForceCompletionOfPaymentCycleAsync(
subscriptionId: subscriptionId, dto: paymentCycleDTO
);
var response = resultValue.Data;
Baixar Manualmente os Ciclos de Uma Assinatura (Forma Simplificada)
var subscriptionId = 1;
var observation = "Alguma observação sobre o motivo desse pagamento forçado";
var referencia = "2021/07";
var resultValue = await _maisTodosClient.ForceCompletionOfPaymentCycleAsync(
subscriptionId: subscriptionId, observation: observation, monthOfYearCompetence: referencia
);
var response = resultValue.Data;
Criar um Cupom de Desconto
var coupon = new CouponDTO()
{
Code = "CUPOM_XXX_01",
IsActive = true,
StartsAt = new DateTime(year: 2020, month: 1, day: 1),
EndsAt = new DateTime(year: 2020, month: 3, day: 1)
};
var resultValue = await _maisTodosClient.CreateCouponAsync(
coupon: coupon
);
var response = resultValue.Data;
Criar uma Regra de Descontos
var discount = new DiscountDTO()
{
Id = null,
CouponId = 1,
Name = $"Regra X1",
Rules = new List<DiscountRuleDTO>()
{
new DiscountRuleDTO(){
Value = 10,
StartCycle = 1,
EndCycle = 2,
DiscountType = DiscountType.percentual
},
new DiscountRuleDTO(){
Value = 7.52m,
StartCycle = 1,
EndCycle = 2,
DiscountType = DiscountType.value
}
}
};
var resultValue = await _maisTodosClient.CreateDiscountAsync(
discount: discount
);
var response = resultValue.Data;
Obter um Cupom de Desconto por Id
var couponId = 1;
var resultValue = await _maisTodosClient.GetCouponsAsync(
couponId: couponId
);
var response = resultValue.Data;
Obter os Cupons de Desconto
var resultValue = await _maisTodosClient.GetDiscountsAsync();
var response = resultValue.Data;
Obter uma Regra de Desconto por Id
var discountId = 1;
var resultValue = await _maisTodosClient.GetDiscountByIdAsync(
discountId: discountId
);
var response = resultValue.Data;
Obter as Regras de Desconto
var resultValue = await _maisTodosClient.GetDiscountsAsync();
var response = resultValue.Data;
Atualizar um Cupom por Id
var couponId = 1;
CouponDTO coupon = new CouponDTO()
{
IsActive = false;
};
var resultValue = await _maisTodosClient.UpdateCouponAsync(couponId: couponId, coupon: coupon);
var response = resultValue.Data;
Atualizar um Desconto por Id
var discountId = 1;
DiscountDTO discount = new DiscountDTO()
{
Rules = new List<DiscountRuleDTO>()
{
new DiscountRuleDTO() { Value = 25 }
};
};
var resultValue = await _maisTodosClient.UpdateDiscountAsync(discountId: discountId, discount: discount);
var response = resultValue.Data;
Obter Último Ciclo de Pagamento pela Assinatura
var subscriptionId = 1;
var resultValue = await _maisTodosClient.GetLastPaymentCycleBySubscriptionIdAsync(subscriptionId);
var response = resultValue.Data;
Alterar a Referência da Assinatura
var subscriptionId = 1;
var referenceDTO = new ReferenceDTO()
{
Reference = "123"
};
var resultValue = await _maisTodosClient
.ChangeSubscriptionReferenceAsync(subscriptionId: subscriptionId, reference: referenceDTO);
var response = resultValue.Data;
Trocar o Método (Reguá) de Pagamento
var subscriptionId = 1;
var paymentRulerDTO = new PaymentRulerDTO()
{
PaymentRuler = 1
};
var resultValue = await _maisTodosClient
.ChangeSubscriptionPaymentMethodAsync(subscriptionId: subscriptionId, paymentRuler: paymentRulerDTO);
var response = resultValue.Data;
Alterar o preço de uma Assinatura
var subscriptionId = 1;
var priceDTO = new PriceDTO()
{
Price = 21.28m
};
var resultValue = await _maisTodosClient.UpdateSubscriptionPriceAsync(subscriptionId: subscription.Id, price: priceDTO);
var response = resultValue.Data;
Gerar uma Cobrança Adicional Para a Assinatura
var subscriptionId = 1;
var extraBillRequestDTO = new ExtraBillRequestDTO()
{
Amount = 27.14m,
PaymentType = 1
};
var resultValue = await _maisTodosClient
.CreateExtraBillToSubscriptionAsync(subscriptionId: subscription.Id, extraBillRequest: extraBillRequestDTO);
var response = resultValue.Data;
Suspender Assinatura por Id:
var subscriptionId = 1;
var observationDTO = new ObservationDTO
{
Observation = "Suspensa pelo motivo X"
};
var resultValue = await _maisTodosClient.SuspendSubscriptionByIdAsync(
subscriptionId: subscriptionId, observationDTO: dto
);
var subscription = resultValue.Data;
Changelog
- 3.5.4 - altera o metodo put para post do endpoint abrir assinatura
- 3.5.3 - implementa Endpoints
- Abrir uma assinatura suspensa por Id
- Fazer uma nova tentativa de pagamento por Id do pagamento
- Obter o ultimo ciclo de pagamento por Id
- 3.5.2 - Correção do campo NextBillingDate
- 3.5.1 - Implementa o campo NextBillingDate
- 3.4.0 - Atualizar cupom e desconto
- 3.3.1 - Suspender Assinatura por Id
- 3.3.0 - Obter o Cliente pelo Documento de Identificação
- 3.2.6 - Obter Último Ciclo de Pagamento pela Assinatura
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Text.Json (>= 5.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 4.0.3 | 219 | 9/29/2025 |
| 4.0.2 | 449 | 6/18/2025 |
| 4.0.1 | 418 | 5/12/2025 |
| 3.9.1 | 847 | 3/26/2025 |
| 3.9.0 | 532 | 3/24/2025 |
| 3.8.3 | 340 | 7/3/2024 |
| 3.8.2 | 979 | 5/21/2024 |
| 3.8.1 | 208 | 4/24/2024 |
| 3.8.0 | 197 | 4/11/2024 |
| 3.7.2 | 761 | 1/14/2024 |
| 3.7.1 | 198 | 1/14/2024 |
| 3.7.0 | 562 | 12/11/2023 |
| 3.6.15 | 191 | 12/5/2023 |
| 3.6.14 | 670 | 11/16/2023 |
| 3.6.13 | 208 | 9/21/2023 |
| 3.6.12 | 248 | 8/18/2023 |
| 3.6.11 | 427 | 8/17/2023 |
| 3.6.10 | 341 | 6/9/2023 |
| 3.6.9 | 1,129 | 5/25/2023 |
| 3.6.8 | 295 | 5/19/2023 |
| 3.6.7 | 271 | 5/16/2023 |
| 3.6.6 | 525 | 3/29/2023 |
| 3.6.5 | 322 | 3/28/2023 |
| 3.6.4 | 342 | 3/28/2023 |
| 3.6.3 | 377 | 3/23/2023 |
| 3.6.2 | 1,501 | 2/10/2023 |
| 3.6.1 | 538 | 2/8/2023 |
| 3.6.0 | 385 | 2/7/2023 |
| 3.5.11 | 469 | 11/7/2022 |
| 3.5.10 | 713 | 7/8/2022 |
| 3.5.6 | 649 | 6/27/2022 |
| 3.5.5 | 558 | 6/10/2022 |
| 3.5.4 | 761 | 5/31/2022 |
| 3.5.3 | 570 | 5/26/2022 |
| 3.5.2 | 618 | 5/13/2022 |
| 3.5.1 | 738 | 3/24/2022 |
| 3.5.0 | 1,778 | 3/4/2022 |
| 3.4.1 | 649 | 2/18/2022 |
| 3.4.0 | 705 | 1/24/2022 |
| 3.3.1 | 438 | 12/30/2021 |
| 3.3.0 | 445 | 12/29/2021 |
| 3.2.6 | 455 | 12/23/2021 |
| 3.2.5 | 466 | 12/15/2021 |
| 3.2.4 | 464 | 12/9/2021 |
| 3.2.3 | 463 | 12/3/2021 |
| 3.2.2 | 1,084 | 12/1/2021 |
| 3.2.1 | 478 | 11/30/2021 |
| 3.2.0 | 1,252 | 11/29/2021 |
| 3.1.6 | 5,149 | 11/23/2021 |
| 3.1.5 | 752 | 11/9/2021 |
| 3.1.4 | 582 | 10/18/2021 |
Início do Projeto.