PayStackDotNetSDK 1.4.5-rc

This is a prerelease version of PayStackDotNetSDK.
dotnet add package PayStackDotNetSDK --version 1.4.5-rc                
NuGet\Install-Package PayStackDotNetSDK -Version 1.4.5-rc                
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="PayStackDotNetSDK" Version="1.4.5-rc" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add PayStackDotNetSDK --version 1.4.5-rc                
#r "nuget: PayStackDotNetSDK, 1.4.5-rc"                
#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 PayStackDotNetSDK as a Cake Addin
#addin nuget:?package=PayStackDotNetSDK&version=1.4.5-rc&prerelease

// Install PayStackDotNetSDK as a Cake Tool
#tool nuget:?package=PayStackDotNetSDK&version=1.4.5-rc&prerelease                

PayStackDotNetSDK

PayStackDotNetSDK API is a collection of all PayStack endpoints that C# developers can take advantage of to build financial solutions in Nigeria. Visit Paystack for Setup.

Prerequisites

This Library require .Net framework 4.6 or higher

Installing

Install this library from Nuget

Author

Reference

Some parts of this project were taken from Paystack.Net.SDK.

Sample Project

This project[alpha stage] showcases some uses of PayStackDotNetSDK methods. Github

License

This project is licensed under the MIT License

Upcoming:

  • More precise intellisense
  • More Documentation in this README file

SDK Usage

Add namespaces: using PayStackDotNetSDK; using PayStackDotNetSDK.Helpers;

We suggest you go through the detailed documentation:

Transactions

add namespaces: using PayStackDotNetSDK.Methods.Transactions; using PayStackDotNetSDK.Models.Transactions;

Transaction Initialization
	/// <summary>
    /// Implements simple InitializeTransaction with basic parameters
    /// </summary>
    protected async void InitializeTransaction()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.InitializeTransaction("[email protected]", 1000000);
        if (response.status)
        {
            Response.AddHeader("Access-Control-Allow-Origin", "*");
            Response.AppendHeader("Access-Control-Allow-Origin", "*");
            Response.Redirect(response.data.authorization_url); //Redirects your browser to the secure URL
        }
        else //not successful
        {
           //Do something else with the info.
        }
    }
    /// <summary>
    /// Implements simple InitializeTransaction with full parameters
	/// If callback url is given, the url will be called upon completion. For example http://localhost:60441/Default.aspx?trxref=4dsnq70qtd&reference=4dsnq70qtd
    /// </summary>
    protected async void InitializeTransaction()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.InitializeTransaction(new TransactionRequestModel() { firstName="firstname", lastName="lastname", amount=1000000, currency = PayStackDotNetSDK.Helpers.Constants.Currency.Naira, email="[email protected]", metadata = new PaystackMetadata() { referrer="[email protected]" }, transaction_charge=4000 });
        if (response.status)
        {
            Response.AddHeader("Access-Control-Allow-Origin", "*");
            Response.AppendHeader("Access-Control-Allow-Origin", "*");
            Response.Redirect(response.data.authorization_url); //Redirects your browser to the secure URL
        }
        else //not successful
        {
            //Do something else with the info.
        }
    }
Transaction Verification
protected async void VerifyTransaction()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.VerifyTransaction("reference_code");
    }
Transaction Listings
	/// <summary>
    /// Implementation with basic parameters
    /// </summary>
    protected async void TransactionListing()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.ListTransactions();
    }
    /// <summary>
    /// Implementation with full parameters
    /// </summary>
    protected async void TransactionListing()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.ListTransactions(new TransactionListRequestModel() {amount=40000, from= DateTime.UtcNow.AddDays(-10), to=DateTime.UtcNow, page=2, perPage=50, status= PayStackDotNetSDK.Helpers.Constants.Transaction.Status.Success, customer =4 });
    }
Fetch Transaction
	/// <summary>
    ///  Fetch Transaction
    /// </summary>
    protected async void FetchTransaction()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.FetchTransaction(345);
    }
Charge Authorization
	/// <summary>
    /// Implementation with basic parameters
    /// </summary>
    protected async void ChargeAuthorization()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.ChargeAuthorization("authorization_code", "[email protected]", 7000);
    }
    /// <summary>
    /// Implementation with full parameters
    /// </summary>
    protected async void ChargeAuthorization()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.ChargeAuthorization(new TransactionRequestModel() { firstName="firstname" });
    }
View Transaction Timeline
 protected async void ViewTransactionTimelines()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.TransactionTimeline("referenceOrID");
    }
Transaction Totals
	/// <summary>
    /// Implementation with basic parameters
    /// </summary>
    protected async void TransactionTotals()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.TransactionTotals();
    }
    /// <summary>
    /// Implementation with full parameters
    /// </summary>
    protected async void TransactionTotals()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.TransactionTotals(new TransactionTotalsRequestModel() { });
    }
View Export Transactions
	/// <summary>
    /// Implementation with basic parameters
    /// </summary>
    protected async void ExportTransactions()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.ExportTransactions();
    }
    /// <summary>
    /// Implementation with full parameters
    /// </summary>
    protected async void ExportTransactions()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.ExportTransactions(new ExportRequestModel() { from= DateTime.UtcNow.AddDays(-15) });
    }
Request Reauthorization
  /// <summary>
    /// Implementation with basic parameters
    /// </summary>
    protected async void RequestReauthorization()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.RequestReAuthorization("authorization_code", "[email protected]", 4000);
    }

    /// <summary>
    /// Implementation with full parameters
    /// </summary>
    protected async void RequestReauthorization()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.RequestReAuthorization(new RequestReAuthorizationRequestModel() { amount = 4000, authorization_code = "authorization_code", currency = PayStackDotNetSDK.Helpers.Constants.Currency.Naira, email = "[email protected]", reference = "reference", metadata = new PaystackRequestReAuthorizationMetadata() { custom_fields = new PaystackList<RequestReAuthorizationCustomField>() { new PaystackRequestReAuthorizationCustomField() { display_name = "display_name", value = "value", variable_name = "variable_name" } } } });
    }
Check Authorization
  /// <summary>
    /// Implementation with basic parameters
    /// </summary>
    protected async void CheckAuthorization()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.CheckAuthorization("authorization_code", "[email protected]", 4000);
    }
    /// <summary>
    ///  Implementation with optional parameters
    /// </summary>
    protected async void CheckAuthorization()
    {
        var connectionInstance = new PaystackTransaction(Credential.Key);
        var response = await connectionInstance.CheckAuthorization("authorization_code", "[email protected]", 4000, PayStackDotNetSDK.Helpers.Constants.Currency.Naira);
    }

Customers

add namespaces: using PayStackDotNetSDK.Methods.Customers; using PayStackDotNetSDK.Models.Customers;

Subaccounts

add namespaces: using PayStackDotNetSDK.Methods.Subaccounts; using PayStackDotNetSDK.Models.SubAccounts;

Plans

add namespaces: using PayStackDotNetSDK.Methods.Plans; using PayStackDotNetSDK.Models.Plans;

Subscriptions

add namespaces: using PayStackDotNetSDK.Methods.Subscriptions; using PayStackDotNetSDK.Models.Subscriptions;

Payment Pages

add namespaces: using PayStackDotNetSDK.Methods.Pages; using PayStackDotNetSDK.Models.Pages;

Invoices

add namespaces: using PayStackDotNetSDK.Methods.Invoices; using PayStackDotNetSDK.Models.Invoices;

Settlements

add namespaces: using PayStackDotNetSDK.Methods.Settlements; using PayStackDotNetSDK.Models.Settlements;

Transfers Recipients

add namespaces: using PayStackDotNetSDK.Methods.TransferRecipients; using PayStackDotNetSDK.Models.TransferRecipients;

Transfers

add namespaces: using PayStackDotNetSDK.Methods.Transfers; using PayStackDotNetSDK.Models.Transfers;

Transfers Control

add namespaces: using PayStackDotNetSDK.Methods.TransfersControls; using PayStackDotNetSDK.Models.TransfersControls;

Charge

add namespaces: using PayStackDotNetSDK.Methods.Charges; using PayStackDotNetSDK.Models.Charges;

Bulk Charges

add namespaces: using PayStackDotNetSDK.Methods.BulkCharges; using PayStackDotNetSDK.Models.BulkCharges;

Refunds

add namespaces: using PayStackDotNetSDK.Methods.Refunds; using PayStackDotNetSDK.Models.Refunds;

Control Panel

add namespaces: using PayStackDotNetSDK.Methods.ControlPanels; using PayStackDotNetSDK.Models.ControlPanels;

Verification

add namespaces: using PayStackDotNetSDK.Methods.Verifications; using PayStackDotNetSDK.Models.Verifications;

Banks

add namespaces: using PayStackDotNetSDK.Methods.Banks; using PayStackDotNetSDK.Models.Banks;

	/// <summary>
    /// Get all Nigerian Banks on Paystack API
    /// </summary>
    protected async void GetAllBanks()
    {
        var connectionInstance = new PaystackListedBanks(Credential.Key);
        var response = await connectionInstance.ListBanks();
    }
Product 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. 
.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. 
Compatible target framework(s)
Included target framework(s) (in package)
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
1.4.5-rc 229 2/22/2024
1.4.4 4,118 11/14/2018
1.4.4-rc 625 6/2/2023
1.4.3 1,527 6/11/2018
1.4.2 1,504 6/10/2018
1.4.1 1,483 6/8/2018
1.4.0 1,426 6/8/2018
1.3.0 1,426 6/7/2018
1.2.0 1,473 6/7/2018
1.0.0 1,434 6/4/2018

Patch and compactibility with .net 6