Skip to content

Latest commit

 

History

181 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BTCPay Server Async Payjoin Plugin (Alpha)

A BTCPay Server plugin that adds Async Payjoin (BIP 77) support to the checkout flow. The plugin uses C# bindings to the Rust Payjoin Dev Kit generated via UniFFI.

Warning

This plugin is in alpha and is intended for testing only. Please use a separate test environment. Do not use it in production.

Testing the Alpha

The alpha is available from BTCPay Plugin Builder.

For installation, see the installation guide.

Feedback on setup and payments is welcome in GitHub Issues. Please include your BTCPay Server and plugin versions when reporting a problem.

For security vulnerabilities, please follow SECURITY.md instead of opening a public issue.

Prerequisites

Getting Started

Cloning the Project

git clone --recurse-submodules https://github.com/ValeraFinebits/btcpayserver-payjoin-plugin
cd btcpayserver-payjoin-plugin

Building

Generate the C# bindings from the Rust FFI crate, then build the .NET solution:

cd rust-payjoin/payjoin-ffi/csharp
bash ./scripts/generate_bindings.sh
cd ../../..

dotnet restore BTCPayServer.Plugins.Payjoin.sln
dotnet build BTCPayServer.Plugins.Payjoin.sln -c Release

Running Tests

dotnet test BTCPayServer.Plugins.Payjoin.sln -c Release

Managing EF Migrations

Entity Framework migrations for the plugin use the dedicated design-time startup project at BTCPayServer.Plugins.Payjoin.Migrations.

List migrations:

dotnet ef migrations list --project BTCPayServer.Plugins.Payjoin/BTCPayServer.Plugins.AsyncPayjoin.csproj --startup-project BTCPayServer.Plugins.Payjoin.Migrations/BTCPayServer.Plugins.Payjoin.Migrations.csproj

Add a migration:

dotnet ef migrations add <MigrationName> --project BTCPayServer.Plugins.Payjoin/BTCPayServer.Plugins.AsyncPayjoin.csproj --startup-project BTCPayServer.Plugins.Payjoin.Migrations/BTCPayServer.Plugins.Payjoin.Migrations.csproj --output-dir Migrations

Remove the latest migration:

dotnet ef migrations remove --project BTCPayServer.Plugins.Payjoin/BTCPayServer.Plugins.AsyncPayjoin.csproj --startup-project BTCPayServer.Plugins.Payjoin.Migrations/BTCPayServer.Plugins.Payjoin.Migrations.csproj --force

Related Links

Licence

MIT

About

Async Payjoin plugin for BTCPay Server.

Topics

Resources

Security policy

Stars

8 stars

Watchers

3 watching

Forks

Releases

Used by

Contributors

Languages