Table of Contents

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

script string
cancellationToken CancellationToken

Returns

Task<ArkPaymentRequest>

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

walletIds string[]

Filter by wallet IDs. If null, all wallets.

requestIds string[]

Filter by request IDs. If null, no filter.

statuses ArkPaymentRequestStatus[]

Filter by status. If null, all statuses.

searchText string

Search text across RequestId, Description. If null, no text search.

skip int?

Number of records to skip for pagination. If null, no skip.

take int?

Number of records to take for pagination. If null, no limit.

cancellationToken CancellationToken

Cancellation token.

Returns

Task<IReadOnlyCollection<ArkPaymentRequest>>

SavePaymentRequest(ArkPaymentRequest, CancellationToken)

Save or update a payment request.

Task SavePaymentRequest(ArkPaymentRequest request, CancellationToken cancellationToken = default)

Parameters

request ArkPaymentRequest
cancellationToken CancellationToken

Returns

Task

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

walletId string
requestId string
status ArkPaymentRequestStatus
receivedAmount ulong
overpayment ulong
receivedAssets IReadOnlyList<VtxoAsset>
cancellationToken CancellationToken

Returns

Task<bool>

Events

PaymentRequestChanged

event EventHandler<ArkPaymentRequest>? PaymentRequestChanged

Event Type

EventHandler<ArkPaymentRequest>