Going.Plaid
4.13.0
Install-Package Going.Plaid -Version 4.13.0
dotnet add package Going.Plaid --version 4.13.0
<PackageReference Include="Going.Plaid" Version="4.13.0" />
paket add Going.Plaid --version 4.13.0
#r "nuget: Going.Plaid, 4.13.0"
// Install Going.Plaid as a Cake Addin
#addin nuget:?package=Going.Plaid&version=4.13.0
// Install Going.Plaid as a Cake Tool
#tool nuget:?package=Going.Plaid&version=4.13.0
Going.Plaid
What is Going.Plaid?
Going.Plaid is a library for interacting with Plaid's banking APIs. See their documentation here. It is supported for .net standard 2.0, .net core 3.1, and .net 5.0+.
Where can I get it?
Going.Plaid is available at nuget.org.
Package Manager PM > Install-Package Going.Plaid
How it works?
You can make all calls to Plaid's API via the Going.Plaid.PlaidClient
class.
var client = new PlaidClient(
Environment.Sandbox);
// Retrieving a user's recent transactions.
var result = await client.TransactionsGetAsync(
new()
{
Secret = "<secret>",
ClientId = "<client_id>",
AccessToken = "<access_token>",
});
Usage
You may provide secret
and clientId
to the constructor as follows:
var client = new PlaidClient(
Environment.Sandbox,
secret: "<secret>",
clientId: "<client_id>");
// Retrieving a user's recent transactions.
var result = await client.TransactionsGetAsync(
new()
{
AccessToken = "<access_token>",
});
This will allow you to save a single PlaidClient
in the DI system without tracking secret
and clientId
separately.
PlaidClient
is comfortable being used as a single-instance class in this manner.
Example
Please visit this repo and download to review a working example of how to use this library and the Plaid API.
.NET Core Configuration Options
Easy to use:
Call services.AddPlaid(IConfigurationRoot)
or services.AddPlaid(IConfiguration)
. This will automatically bind options
from the provided configuration section or the Plaid
section of the root; configure a named HttpClient
for Going.Plaid;
and configure PlaidClient
as a singleton.
IHttpClientFactory
Going.Plaid supports the IHttpClientFactory
for correct usage of HttpClient
, as described here.
If you choose not to call .AddPlaid()
, because you need to customize your DI structure, it is recommended that you call
services.AddPlaidClient()
to properly configure the IHttpClientFactory
for Going.Plaid usage.
IOptions
Support
Going.Plaid supports configuration from any configuration source via the IOptions
pattern.
You can provide any configuration section to .AddPlaid()
and the options will be automatically bound.
Alternatively, you may call services.Configure<PlaidOptions>();
to configure the PlaidOption
manually.
Once done, you can then add PlaidClient
as a singleton by calling services.AddSingleton<PlaidClient>()
.
Converters Support
There are several converters that Going.Plaid uses to serialize and deserialize data to the Plaid service.
These converters are automatically used internally for all api calls to Plaid. However, if you need to do
any serialization or deserialization of your own (for example, if you wish to pass Going.Plaid.Link.OnSuccessMetadata
directly from the browser to the web server), then you may need to add these converters to the ASP.NET
JSON serializer. The easiest way to do this is as follows:
services.Configure<JsonOptions>(o =>
{
o.SerializerOptions.AddPlaidConverters();
});
This will automatically add the converters to the default options for ASP.NET JSON serializer. Otherwise,
you can manually add the types found under Going.Plaid.Converters
to the JsonSerializationOptions.Converters
list of converters.
API Version
Going.Plaid currently targets Plaid API version 2020-09-14
only.
Product | Versions |
---|---|
.NET | net5.0 net5.0-windows net6.0 net6.0-android net6.0-ios net6.0-maccatalyst net6.0-macos net6.0-tvos net6.0-windows |
.NET Core | netcoreapp2.0 netcoreapp2.1 netcoreapp2.2 netcoreapp3.0 netcoreapp3.1 |
.NET Standard | netstandard2.0 netstandard2.1 |
.NET Framework | net461 net462 net463 net47 net471 net472 net48 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETCoreApp 3.1
- Microsoft.Extensions.Configuration.Abstractions (>= 3.1.0)
- Microsoft.Extensions.Http (>= 3.1.0)
- Microsoft.Extensions.Logging (>= 3.1.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 3.1.0)
- System.Net.Http.Json (>= 5.0.0)
- System.Text.Json (>= 5.0.2)
-
.NETStandard 2.0
- Microsoft.Extensions.Configuration.Abstractions (>= 3.1.0)
- Microsoft.Extensions.Http (>= 3.1.0)
- Microsoft.Extensions.Logging (>= 3.1.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 3.1.0)
- System.Net.Http.Json (>= 5.0.0)
- System.Text.Json (>= 5.0.2)
-
net5.0
- Microsoft.Extensions.Configuration.Abstractions (>= 5.0.0)
- Microsoft.Extensions.Http (>= 5.0.0)
- Microsoft.Extensions.Logging (>= 5.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 5.0.0)
- System.Net.Http.Json (>= 5.0.0)
- System.Text.Json (>= 5.0.2)
-
net6.0
- Microsoft.Extensions.Configuration.Abstractions (>= 6.0.0)
- Microsoft.Extensions.Http (>= 6.0.0)
- Microsoft.Extensions.Logging (>= 6.0.0)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 6.0.0)
- System.Net.Http.Json (>= 6.0.0)
- System.Text.Json (>= 6.0.5)
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.13.0 | 57 | 8/4/2022 |
4.12.0 | 323 | 7/20/2022 |
4.11.1 | 1,995 | 7/4/2022 |
4.11.0 | 150 | 6/28/2022 |
4.10.0 | 354 | 6/14/2022 |
4.9.0 | 197 | 6/10/2022 |
4.8.0 | 407 | 6/1/2022 |
4.7.1 | 539 | 5/15/2022 |
4.7.0 | 3,392 | 4/22/2022 |
4.6.0 | 179 | 4/16/2022 |
4.5.0 | 6,498 | 3/31/2022 |
4.4.0 | 1,963 | 3/18/2022 |
4.3.0 | 6,227 | 2/6/2022 |
4.2.0 | 1,653 | 1/29/2022 |
4.1.0 | 2,195 | 1/16/2022 |
4.0.0 | 5,241 | 1/10/2022 |
3.3.0 | 16,115 | 12/1/2021 |
3.2.1 | 6,392 | 11/21/2021 |
3.2.0 | 5,063 | 11/10/2021 |
3.1.0 | 331 | 11/8/2021 |
3.0.0 | 6,547 | 10/27/2021 |
2.8.0 | 20,655 | 8/12/2021 |
2.7.0 | 1,615 | 7/16/2021 |
2.6.0 | 2,916 | 4/28/2021 |
2.5.0 | 554 | 4/13/2021 |
2.4.1 | 3,081 | 3/20/2021 |
2.4.0 | 264 | 3/3/2021 |
2.3.4 | 87 | 3/2/2021 |
2.3.3 | 625 | 2/7/2021 |
2.3.2 | 496 | 1/28/2021 |
2.3.1 | 128 | 1/28/2021 |
2.3.0 | 106 | 1/27/2021 |
2.2.1 | 110 | 1/27/2021 |
2.2.0 | 221 | 12/23/2020 |
2.1.0 | 214 | 11/21/2020 |
2.0.0 | 255 | 11/17/2020 |
1.3.0-preview | 137 | 10/8/2020 |
1.2.1 | 6,933 | 10/8/2020 |
1.2.0 | 812 | 9/15/2020 |
1.1.2 | 175 | 9/14/2020 |
1.1.1 | 1,007 | 8/15/2020 |
1.1.0 | 213 | 8/12/2020 |
1.0.1-preview.9 | 205 | 8/12/2020 |
1.0.1-preview.3 | 189 | 8/11/2020 |
1.0.1-preview.1 | 144 | 8/11/2020 |
1.0.1-preview | 277 | 8/10/2020 |
1.0.0 | 246 | 8/2/2020 |