Nevermindjq.CryptoPay
1.2.1
dotnet add package Nevermindjq.CryptoPay --version 1.2.1
NuGet\Install-Package Nevermindjq.CryptoPay -Version 1.2.1
<PackageReference Include="Nevermindjq.CryptoPay" Version="1.2.1" />
paket add Nevermindjq.CryptoPay --version 1.2.1
#r "nuget: Nevermindjq.CryptoPay, 1.2.1"
// Install Nevermindjq.CryptoPay as a Cake Addin #addin nuget:?package=Nevermindjq.CryptoPay&version=1.2.1 // Install Nevermindjq.CryptoPay as a Cake Tool #tool nuget:?package=Nevermindjq.CryptoPay&version=1.2.1
.NET Client for CryptoPay by @CryptoBot
Crypto Pay is a payment system based on @CryptoBot, which allows you to accept payments in cryptocurrency using the API.
This .NET library help you to work with Crypto Pay via Crypto Pay API.
Install
Use the nuget package.
Usage
API
First, you need to create your application and get an API token. Open @CryptoBot
or @CryptoTestnetBot (for testnet), send a command /pay
to create a new app
and get API Token.
Next step: try to call a simple GetMeAsync(...)
method to check that everything is working well:
var cryptoPayClient = new CryptoPayClient("1234:XXXXXXXX");
var application = await cryptoPayClient.GetMeAsync(cancellationToken);
You can setup net apiUrl
(defaults to https://pay.crypt.bot/
) and HttpClient
in optional param:
var cryptoPayClient = new CryptoPayClient(
token: "1234:XXXXXXXX",
httpClient: httpClient,
apiUrl: "https://testnet-pay.crypt.bot/"
);
Net | Bot | Hostname |
---|---|---|
mainnet | @CryptoBot | https://pay.crypt.bot/ |
testnet | @CryptoTestnetBot | https://testnet-pay.crypt.bot/ |
All queries to the Crypto Pay API must be sent over HTTPS
You can find all available methods in the documentation.
Also, you can create invoice with supported assets and paid button names:
var invoice = await client.CreateInvoiceAsync(
Assets.BNB,
1.505,
description: "kitten",
paid_btn_name: PaidButtonNames.viewItem,
paid_btn_url: "https://placekitten.com/150",
cancellationToken: cancellationToken
);
Webhooks
Use Webhooks to get updates for the app.
If you'd like to make sure that the Webhook request comes from Crypto Pay, we recommend using a secret path in the URL,
e.g. https://www.example.com/<secret>
.
Webhooks will send may at least one time
Example endpoint. You should use CryptoPayHelper.CheckSignature(...)
to check signature
from crypto-pay-api-signature
[HttpPost("{token}")]
public async Task<IActionResult> PostAsync([FromBody] Update update, string token)
{
if (!HttpContext.Request.Headers.TryGetValue("crypto-pay-api-signature", out var signature) || !CryptoPayHelper.CheckSignature(signature, token, update)) {
return BadRequest();
}
// TODO
return Ok();
}
Explore all available methods from the documentation.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. 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 is compatible. 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 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. |
-
net6.0
- System.Text.Json (>= 8.0.2)
-
net7.0
- System.Text.Json (>= 8.0.2)
-
net8.0
- System.Text.Json (>= 8.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.