payload-api
0.2.5
dotnet add package payload-api --version 0.2.5
NuGet\Install-Package payload-api -Version 0.2.5
<PackageReference Include="payload-api" Version="0.2.5" />
paket add payload-api --version 0.2.5
#r "nuget: payload-api, 0.2.5"
// Install payload-api as a Cake Addin
#addin nuget:?package=payload-api&version=0.2.5
// Install payload-api as a Cake Tool
#tool nuget:?package=payload-api&version=0.2.5
Payload C# Library
A C# library for integrating Payload.
Installation
1) Download
Download the latest version from GitHub.
2) Include in Project
Include the Payload folder in your Visual Studio project.
NuGet
nuget install payload-api
Get Started
Once you've included the Payload C# library in your project,
include the Payload
namespace to get started.
All Payload objects and methods are accessible using the pl
static class.
API Authentication
To authenticate with the Payload API, you'll need a live or test API key. API keys are accessible from within the Payload dashboard.
using Payload;
pl.api_key = "secret_key_3bW9JMZtPVDOfFNzwRdfE";
Creating an Object
Interfacing with the Payload API is done primarily through Payload Objects. Below is an example of
creating a customer using the pl.Customer
object.
// Create a Customer
var customer = pl.Customer.create(new {
email="matt.perez@example.com",
name="Matt Perez"
});
// Create a Payment
var payment = pl.Payment.create(new {
amount=100.0,
payment_method=new pl.Card(new{
card_number="4242 4242 4242 4242"
})
});
Accessing Object Attributes
Object attributes are accessible through both dot and bracket notation.
Console.WriteLine(customer.name);
Console.WriteLine(customer["email"]);
Updating an Object
Updating an object is a simple call to the update
object method.
// Updating a customer's email
customer.update(new { email="matt.perez@newwork.com" });
Selecting Objects
Objects can be selected using any of their attributes.
// Select a customer by email
var customers = pl.Customer.filter_by(new {
email="matt.perez@example.com"
});
Use the pl.attr
attribute helper
interface to write powerful queries with a little extra syntax sugar.
var payments = pl.Payment.filter_by(
pl.attr.amount.gt(100),
pl.attr.amount.lt(200),
pl.attr.description.contains("Test"),
pl.attr.created_at.gt(new DateTime(2019,2,1))
).all();
Testing the Payload C# Library
Tests are contained within the PayloadTests/ directory. To run tests enter the command in terminal
API_KEY=your_test_secret_key dotnet test
Documentation
To get further information on Payload's C# library and API capabilities, visit the unabridged Payload Documentation.
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 net7.0 net7.0-android net7.0-ios net7.0-maccatalyst net7.0-macos net7.0-tvos net7.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 net481 |
MonoAndroid | monoandroid |
MonoMac | monomac |
MonoTouch | monotouch |
Tizen | tizen40 tizen60 |
Xamarin.iOS | xamarinios |
Xamarin.Mac | xamarinmac |
Xamarin.TVOS | xamarintvos |
Xamarin.WatchOS | xamarinwatchos |
-
.NETFramework 4.6.1
- Microsoft.CSharp (>= 4.7.0)
- Newtonsoft.Json (>= 10.0.1)
-
.NETStandard 2.0
- Newtonsoft.Json (>= 10.0.1)
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 |
---|---|---|
0.2.5 | 352 | 6/3/2021 |
0.2.4 | 266 | 3/18/2021 |
0.2.3 | 225 | 3/17/2021 |
0.2.2 | 381 | 12/3/2020 |
0.2.1 | 326 | 9/7/2020 |
0.2.0 | 305 | 8/26/2020 |
0.1.12 | 535 | 2/27/2020 |
0.1.10 | 411 | 1/13/2020 |
0.1.9 | 717 | 12/17/2019 |
0.1.8 | 406 | 12/4/2019 |
0.1.7 | 368 | 12/4/2019 |
0.1.6 | 437 | 6/19/2019 |
0.1.5 | 402 | 6/19/2019 |
0.1.4 | 408 | 6/16/2019 |
0.1.3 | 406 | 6/16/2019 |