Bhengu.Finance.Payments.UnionPay 2.1.0

dotnet add package Bhengu.Finance.Payments.UnionPay --version 2.1.0
                    
NuGet\Install-Package Bhengu.Finance.Payments.UnionPay -Version 2.1.0
                    
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="Bhengu.Finance.Payments.UnionPay" Version="2.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Bhengu.Finance.Payments.UnionPay" Version="2.1.0" />
                    
Directory.Packages.props
<PackageReference Include="Bhengu.Finance.Payments.UnionPay" />
                    
Project file
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 Bhengu.Finance.Payments.UnionPay --version 2.1.0
                    
#r "nuget: Bhengu.Finance.Payments.UnionPay, 2.1.0"
                    
#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 Bhengu.Finance.Payments.UnionPay@2.1.0
                    
#: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=Bhengu.Finance.Payments.UnionPay&version=2.1.0
                    
Install as a Cake Addin
#tool nuget:?package=Bhengu.Finance.Payments.UnionPay&version=2.1.0
                    
Install as a Cake Tool

Bhengu.Finance.Payments.UnionPay

UnionPay International adapter for the Bhengu.Finance.Payments family — global merchant API for accepting UnionPay cards (the world's largest card scheme by issuance) and generating UnionPay QR codes. Charge, webhook verification, 3-D Secure step-up, and settlement reconciliation behind the Bhengu canonical contracts. RSA signed.

Install

dotnet add package Bhengu.Finance.Payments.UnionPay

What this package gives you

Contract Provider class Notes
IPaymentGatewayProvider UnionPayPaymentProvider Charge / webhook verify
IThreeDSecureProvider UnionPayThreeDSecureProvider SCA step-up flow
IQrCodeProvider UnionPayQrCodeProvider UnionPay QR-code generation
ISettlementProvider UnionPaySettlementProvider Reconciliation feed

Wiring

builder.Services.AddUnionPayPayments(builder.Configuration);

Bind options from Bhengu:Finance:Payments:UnionPay:

{
  "Bhengu": {
    "Finance": {
      "Payments": {
        "UnionPay": {
          "MerId": "...",
          "CertId": "...",
          "SignCertPrivateKey": "MIIE...",
          "VerifyCertPublicKey": "MIIB...",
          "FrontUrl": "https://example.com/unionpay/return",
          "BackUrl": "https://example.com/webhooks/unionpay",
          "Currency": "156",                // numeric ISO-4217 — 156 = CNY
          "Encoding": "UTF-8",
          "UseSandbox": false,
          "BaseUrl": null,        // optional override
          "SandboxUrl": null      // optional override
        }
      }
    }
  }
}

Usage

[ApiController]
public class CheckoutController(
    [FromKeyedServices(ProviderNames.UnionPay)] IPaymentGatewayProvider gateway) : ControllerBase
{
    [HttpPost("charge")]
    public async Task<PaymentResponse> Charge([FromBody] PaymentRequest request)
        => await gateway.ProcessPaymentAsync(request);
}

Capabilities at runtime

if (gateway is IThreeDSecureProvider tds)
    var challenge = await tds.StartAuthenticationAsync(intent);

if (gateway is IQrCodeProvider qr)
    var image = await qr.GenerateAsync(qrRequest);

Status

For full SDK docs, observability wiring, resilience configuration and the family map see the main README.

Product 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 is compatible.  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.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Bhengu.Finance.Payments.UnionPay:

Package Downloads
Bhengu.Finance.Payments.All

All Bhengu payment providers bundled together — install one package to get every provider in the Bhengu.Finance.Payments family.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.1.0 199 6/5/2026
2.0.0 139 6/5/2026
2.0.0-preview.8 92 6/5/2026
2.0.0-preview.7 81 6/4/2026
2.0.0-preview.6 78 6/4/2026
2.0.0-preview.5 87 6/4/2026