Class ArkPaymentRequest
- Namespace
- NArk.Abstractions.Payments
- Assembly
- NArk.Abstractions.dll
Tracks an inbound payment request — a request for someone to pay this wallet. Supports multiple payment options (Ark address, boarding address, Lightning invoice).
public record ArkPaymentRequest : IEquatable<ArkPaymentRequest>
- Inheritance
-
ArkPaymentRequest
- Implements
- Inherited Members
Constructors
ArkPaymentRequest(string, string, ulong?, string?, ArkPaymentRequestStatus, ulong, DateTimeOffset, DateTimeOffset?)
Tracks an inbound payment request — a request for someone to pay this wallet. Supports multiple payment options (Ark address, boarding address, Lightning invoice).
public ArkPaymentRequest(string RequestId, string WalletId, ulong? Amount, string? Description, ArkPaymentRequestStatus Status, ulong ReceivedAmount, DateTimeOffset CreatedAt, DateTimeOffset? ExpiresAt)
Parameters
RequestIdstringWalletIdstringAmountulong?DescriptionstringStatusArkPaymentRequestStatusReceivedAmountulongCreatedAtDateTimeOffsetExpiresAtDateTimeOffset?
Properties
Amount
public ulong? Amount { get; init; }
Property Value
ArkAddress
Ark protocol address for off-chain payment.
public string? ArkAddress { get; init; }
Property Value
BoardingAddress
On-chain boarding address (P2TR taproot).
public string? BoardingAddress { get; init; }
Property Value
ContractScripts
Contract scripts being watched for incoming VTXOs. Used internally to match VTXOs to this request.
public string[] ContractScripts { get; init; }
Property Value
- string[]
CreatedAt
public DateTimeOffset CreatedAt { get; init; }
Property Value
Description
public string? Description { get; init; }
Property Value
ExpectedAsset
Expected asset for this payment request. Null for BTC-only requests.
public VtxoAsset? ExpectedAsset { get; init; }
Property Value
ExpiresAt
public DateTimeOffset? ExpiresAt { get; init; }
Property Value
LightningInvoice
BOLT11 Lightning invoice (from reverse submarine swap).
public string? LightningInvoice { get; init; }
Property Value
Metadata
Application-level metadata.
public Dictionary<string, string>? Metadata { get; init; }
Property Value
Overpayment
Sats received beyond the requested amount. Zero when Amount is null or not yet overpaid.
public ulong Overpayment { get; init; }
Property Value
ReceivedAmount
public ulong ReceivedAmount { get; init; }
Property Value
ReceivedAssets
Assets received so far. Null when no assets received yet.
public IReadOnlyList<VtxoAsset>? ReceivedAssets { get; init; }
Property Value
RequestId
public string RequestId { get; init; }
Property Value
Status
public ArkPaymentRequestStatus Status { get; init; }
Property Value
SwapId
Swap ID for the reverse submarine swap, if Lightning is an option.
public string? SwapId { get; init; }
Property Value
WalletId
public string WalletId { get; init; }