wangapayfast-csharp
0.1.4
dotnet add package wangapayfast-csharp --version 0.1.4
NuGet\Install-Package wangapayfast-csharp -Version 0.1.4
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="wangapayfast-csharp" Version="0.1.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="wangapayfast-csharp" Version="0.1.4" />
<PackageReference Include="wangapayfast-csharp" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add wangapayfast-csharp --version 0.1.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: wangapayfast-csharp, 0.1.4"
#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.
#:package wangapayfast-csharp@0.1.4
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=wangapayfast-csharp&version=0.1.4
#tool nuget:?package=wangapayfast-csharp&version=0.1.4
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
wangapayfast-csharp
Helpers for working with PayFast in .NET services: checkout payload/signature building, ITN parsing/verification, post-back validation, and onsite helpers.
Features
- Build once-off checkout payloads
- Build subscription checkout payloads
- Build custom checkout payloads from arbitrary parameters
- Generate PayFast-compatible checkout signatures
- Parse ITN (
application/x-www-form-urlencoded) payloads - Verify ITN signatures
- Validate ITN post-back against PayFast (
/eng/query/validate) - Generate onsite payment UUIDs (
/onsite/process) - Build recurring card-update URLs
- Sandbox and live environment support
Install
dotnet add package wangapayfast-csharp
Usage
using WangaPayFast.CSharp;
var client = PayFastClient.Builder()
.MerchantId(Environment.GetEnvironmentVariable("PAYFAST_MERCHANT_ID")!)
.MerchantKey(Environment.GetEnvironmentVariable("PAYFAST_MERCHANT_KEY")!)
.Passphrase(Environment.GetEnvironmentVariable("PAYFAST_PASSPHRASE")!)
.Environment(PayFastEnvironment.Sandbox)
.Build();
var checkout = client.BuildOnceOffCheckout(new OnceOffPaymentRequest
{
PaymentId = "ORDER-1001",
Amount = "100.00",
ItemName = "Starter Plan",
ReturnUrl = "https://example.com/payments/success",
CancelUrl = "https://example.com/payments/cancel",
NotifyUrl = "https://example.com/payments/itn"
});
// checkout.Url => https://sandbox.payfast.co.za/eng/process
// checkout.Params => includes merchant fields + signature
ITN + HTTP helpers
using WangaPayFast.CSharp;
// Parse incoming ITN body
var itn = ItnNotification.FromBody(rawBodyString);
// Verify signature
var signatureOk = PayFastClient.VerifyItnSignature(
itn,
Environment.GetEnvironmentVariable("PAYFAST_PASSPHRASE")
);
// Optional post-back validation
var isValid = await PayFastHttpHelpers.PostBackValidateItnAsync(
httpClient,
PayFastEnvironment.Sandbox,
rawBodyString
);
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.