@@ -6891,18 +6891,22 @@ where
6891
6891
/// Uses [`InvoiceRequestBuilder`] such that the [`InvoiceRequest`] it builds is recognized by
6892
6892
/// the [`ChannelManager`] when handling a [`Bolt12Invoice`] message for the request. The
6893
6893
/// optional parameters are used in the builder, if `Some`:
6894
- /// - `quantity` for [`InvoiceRequest::quantity`] which may be set if
6894
+ /// - `quantity` for [`InvoiceRequest::quantity`] which must be set if
6895
6895
/// [`Offer::expects_quantity`] is `true`.
6896
6896
/// - `amount_msats` if overpaying what is required for the given `quantity` is desired, and
6897
6897
/// - `payer_note` for [`InvoiceRequest::payer_note`].
6898
6898
///
6899
- /// The provided `payment_id` is used to ensure that only one invoice is paid for the request.
6899
+ /// The provided `payment_id` is used to ensure that only one invoice is paid for the request
6900
+ /// when received. See [Avoiding Duplicate Payments] for other requirements once the payment has
6901
+ /// been sent. Errors if a duplicate `payment_id` is provided given the caveats in the
6902
+ /// aforementioned link.
6900
6903
///
6901
6904
/// [`InvoiceRequest`]: crate::offers::invoice_request::InvoiceRequest
6902
6905
/// [`InvoiceRequest::quantity`]: crate::offers::invoice_request::InvoiceRequest::quantity
6903
6906
/// [`InvoiceRequest::payer_note`]: crate::offers::invoice_request::InvoiceRequest::payer_note
6904
6907
/// [`InvoiceRequestBuilder`]: crate::offers::invoice_request::InvoiceRequestBuilder
6905
6908
/// [`Bolt12Invoice`]: crate::offers::invoice::Bolt12Invoice
6909
+ /// [Avoiding Duplicate Payments]: #avoiding-duplicate-payments
6906
6910
pub fn pay_for_offer(
6907
6911
&self, offer: &Offer, quantity: Option<u64>, amount_msats: Option<u64>,
6908
6912
payer_note: Option<String>, payment_id: PaymentId, retry_strategy: Retry
0 commit comments