Struct Bolt12Payment

Source
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

Source

pub fn send( &self, offer: &Offer, quantity: Option<u64>, payer_note: Option<String>, ) -> 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.

Source

pub fn send_using_amount( &self, offer: &Offer, amount_msat: u64, quantity: Option<u64>, payer_note: Option<String>, ) -> 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.

Source

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.

Source

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.

Source

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).

Source

pub fn initiate_refund( &self, amount_msat: u64, expiry_secs: u32, quantity: Option<u64>, payer_note: Option<String>, ) -> Result<Refund, Error>

Returns a Refund object that can be used to offer a refund payment of the amount given.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,