syntax = "proto3"; import "google/api/annotations.proto"; import "rpc.proto"; package invoicesrpc; option go_package = "github.com/lightningnetwork/lnd/lnrpc/invoicesrpc"; // Invoices is a service that can be used to create, accept, settle and cancel // invoices. service Invoices { /** SubscribeSingleInvoice returns a uni-directional stream (server -> client) to notify the client of state transitions of the specified invoice. Initially the current invoice state is always sent out. */ rpc SubscribeSingleInvoice (lnrpc.PaymentHash) returns (stream lnrpc.Invoice); /** CancelInvoice cancels a currently open invoice. If the invoice is already canceled, this call will succeed. If the invoice is already settled, it will fail. */ rpc CancelInvoice(CancelInvoiceMsg) returns (CancelInvoiceResp); } message CancelInvoiceMsg { /// Hash corresponding to the invoice to cancel. bytes payment_hash = 1; } message CancelInvoiceResp {}