Interface IPaymentRequestStorage
- Namespace
- NArk.Abstractions.Payments
- Assembly
- NArk.Abstractions.dll
Persistence for inbound payment requests.
public interface IPaymentRequestStorage
Methods
GetPaymentRequestByScript(string, CancellationToken)
Find a payment request by one of its watched contract scripts. This is the primary lookup for matching incoming VTXOs to requests.
Task<ArkPaymentRequest?> GetPaymentRequestByScript(string script, CancellationToken cancellationToken = default)
Parameters
scriptstringcancellationTokenCancellationToken
Returns
GetPaymentRequests(string[]?, string[]?, ArkPaymentRequestStatus[]?, string?, int?, int?, CancellationToken)
Query payment requests with explicit filter parameters.
Task<IReadOnlyCollection<ArkPaymentRequest>> GetPaymentRequests(string[]? walletIds = null, string[]? requestIds = null, ArkPaymentRequestStatus[]? statuses = null, string? searchText = null, int? skip = null, int? take = null, CancellationToken cancellationToken = default)
Parameters
walletIdsstring[]Filter by wallet IDs. If null, all wallets.
requestIdsstring[]Filter by request IDs. If null, no filter.
statusesArkPaymentRequestStatus[]Filter by status. If null, all statuses.
searchTextstringSearch text across RequestId, Description. If null, no text search.
skipint?Number of records to skip for pagination. If null, no skip.
takeint?Number of records to take for pagination. If null, no limit.
cancellationTokenCancellationTokenCancellation token.
Returns
SavePaymentRequest(ArkPaymentRequest, CancellationToken)
Save or update a payment request.
Task SavePaymentRequest(ArkPaymentRequest request, CancellationToken cancellationToken = default)
Parameters
requestArkPaymentRequestcancellationTokenCancellationToken
Returns
UpdatePaymentRequestStatus(string, string, ArkPaymentRequestStatus, ulong, ulong, IReadOnlyList<VtxoAsset>?, CancellationToken)
Update the status, received amount, overpayment, and received assets of a payment request.
Task<bool> UpdatePaymentRequestStatus(string walletId, string requestId, ArkPaymentRequestStatus status, ulong receivedAmount, ulong overpayment = 0, IReadOnlyList<VtxoAsset>? receivedAssets = null, CancellationToken cancellationToken = default)
Parameters
walletIdstringrequestIdstringstatusArkPaymentRequestStatusreceivedAmountulongoverpaymentulongreceivedAssetsIReadOnlyList<VtxoAsset>cancellationTokenCancellationToken
Returns
Events
PaymentRequestChanged
event EventHandler<ArkPaymentRequest>? PaymentRequestChanged