pub struct Bolt12Payment { /* private fields */ }Expand description
A payment handler allowing to create and pay BOLT 12 offers and refunds.
Should be retrieved by calling Node::bolt12_payment.
Implementations§
Source§impl Bolt12Payment
impl Bolt12Payment
Sourcepub fn send(
&self,
offer: &Offer,
quantity: Option<u64>,
payer_note: Option<String>,
route_parameters: Option<RouteParametersConfig>,
) -> Result<PaymentId, Error>
pub fn send( &self, offer: &Offer, quantity: Option<u64>, payer_note: Option<String>, route_parameters: Option<RouteParametersConfig>, ) -> Result<PaymentId, Error>
Send a payment given an offer.
If payer_note is Some it will be seen by the recipient and reflected back in the invoice
response.
If quantity is Some it represents the number of items requested.
If route_parameters are provided they will override the default as well as the
node-wide parameters configured via Config::route_parameters on a per-field basis.
Sourcepub fn send_using_amount(
&self,
offer: &Offer,
amount_msat: u64,
quantity: Option<u64>,
payer_note: Option<String>,
route_parameters: Option<RouteParametersConfig>,
) -> Result<PaymentId, Error>
pub fn send_using_amount( &self, offer: &Offer, amount_msat: u64, quantity: Option<u64>, payer_note: Option<String>, route_parameters: Option<RouteParametersConfig>, ) -> Result<PaymentId, Error>
Send a payment given an offer and an amount in millisatoshi.
This will fail if the amount given is less than the value required by the given offer.
This can be used to pay a so-called “zero-amount” offers, i.e., an offer that leaves the amount paid to be determined by the user.
If payer_note is Some it will be seen by the recipient and reflected back in the invoice
response.
If route_parameters are provided they will override the default as well as the
node-wide parameters configured via Config::route_parameters on a per-field basis.
Sourcepub fn receive(
&self,
amount_msat: u64,
description: &str,
expiry_secs: Option<u32>,
quantity: Option<u64>,
) -> Result<Offer, Error>
pub fn receive( &self, amount_msat: u64, description: &str, expiry_secs: Option<u32>, quantity: Option<u64>, ) -> Result<Offer, Error>
Returns a payable offer that can be used to request and receive a payment of the amount given.
Sourcepub fn receive_variable_amount(
&self,
description: &str,
expiry_secs: Option<u32>,
) -> Result<Offer, Error>
pub fn receive_variable_amount( &self, description: &str, expiry_secs: Option<u32>, ) -> Result<Offer, Error>
Returns a payable offer that can be used to request and receive a payment for which the amount is to be determined by the user, also known as a “zero-amount” offer.
Sourcepub fn request_refund_payment(
&self,
refund: &Refund,
) -> Result<Bolt12Invoice, Error>
pub fn request_refund_payment( &self, refund: &Refund, ) -> Result<Bolt12Invoice, Error>
Requests a refund payment for the given Refund.
The returned Bolt12Invoice is for informational purposes only (i.e., isn’t needed to
retrieve the refund).
Sourcepub fn initiate_refund(
&self,
amount_msat: u64,
expiry_secs: u32,
quantity: Option<u64>,
payer_note: Option<String>,
route_parameters: Option<RouteParametersConfig>,
) -> Result<Refund, Error>
pub fn initiate_refund( &self, amount_msat: u64, expiry_secs: u32, quantity: Option<u64>, payer_note: Option<String>, route_parameters: Option<RouteParametersConfig>, ) -> Result<Refund, Error>
Returns a Refund object that can be used to offer a refund payment of the amount given.
If route_parameters are provided they will override the default as well as the
node-wide parameters configured via Config::route_parameters on a per-field basis.
Sourcepub fn receive_async(&self) -> Result<Offer, Error>
pub fn receive_async(&self) -> Result<Offer, Error>
Retrieve an Offer for receiving async payments as an often-offline recipient.
Will only return an offer if Bolt12Payment::set_paths_to_static_invoice_server was called and we succeeded
in interactively building a StaticInvoice with the static invoice server.
Useful for posting offers to receive payments later, such as posting an offer on a website.
Caution: Async payments support is considered experimental.
Sourcepub fn set_paths_to_static_invoice_server(
&self,
paths: Vec<BlindedMessagePath>,
) -> Result<(), Error>
Available on non-crate feature uniffi only.
pub fn set_paths_to_static_invoice_server( &self, paths: Vec<BlindedMessagePath>, ) -> Result<(), Error>
uniffi only.Sets the BlindedMessagePaths that we will use as an async recipient to interactively build Offers with a
static invoice server, so the server can serve StaticInvoices to payers on our behalf when we’re offline.
Caution: Async payments support is considered experimental.
Sourcepub fn blinded_paths_for_async_recipient(
&self,
recipient_id: Vec<u8>,
) -> Result<Vec<BlindedMessagePath>, Error>
Available on non-crate feature uniffi only.
pub fn blinded_paths_for_async_recipient( &self, recipient_id: Vec<u8>, ) -> Result<Vec<BlindedMessagePath>, Error>
uniffi only.BlindedMessagePaths for an async recipient to communicate with this node and interactively
build Offers and StaticInvoices for receiving async payments.
Caution: Async payments support is considered experimental.