payload-api 0.2.5

.NET Standard 2.0 .NET Framework 4.6.1
dotnet add package payload-api --version 0.2.5
NuGet\Install-Package payload-api -Version 0.2.5
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="payload-api" Version="0.2.5" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add payload-api --version 0.2.5
#r "nuget: payload-api, 0.2.5"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// 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.


1) Download

Download the latest version from GitHub.

2) Include in Project

Include the Payload folder in your Visual Studio project.


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 {
    name="Matt Perez"
// Create a Payment
var payment = pl.Payment.create(new {
    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.


Updating an Object

Updating an object is a simple call to the update object method.

// Updating a customer's email
customer.update(new { email="" });

Selecting Objects

Objects can be selected using any of their attributes.

// Select a customer by email
var customers = pl.Customer.filter_by(new {

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.description.contains("Test"), DateTime(2019,2,1))

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


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
Compatible target framework(s)
Additional computed target framework(s)
Learn more about Target Frameworks and .NET Standard.

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