Request a Lightning Network invoice from the UPI provider. The web app provides the payment amount either in satoshis or in INR, and the function returns a BOLT-11 invoice. The function could also optionally provide a price quote in INR.
Method
async function requestLightningInvoice(args: RequestLightningInvoiceArgs): RequestLightningInvoiceResponse;
Parameters
interface RequestLightningInvoiceArgs {
amountSats?: number; // Optional: The amount to be paid in satoshis
amountInr?: number; // Optional: The amount to be paid in INR
requestQuote?: boolean; // Optional: Whether to request a price quote in INR
}
Response
interface RequestLightningInvoiceResponse {
invoice: string; // The BOLT-11 invoice for the Lightning Network payment
quote?: number; // Optional: The price quote in INR, if requested
}
Code Example
try {
const requestArgs = {
amountSats: 100000, // Amount in satoshis to be paid
// Alternatively, specify amount in INR:
// amountInr: 1000,
requestQuote: true // Request a price quote in INR
};
const response = await webUPI.requestLightningInvoice(requestArgs);
console.log(response.invoice); // BOLT-11 invoice
if (response.quote) {
console.log(response.quote); // Price quote in INR, if requested
}
} catch (error) {
// Request failed
console.log(error);
}
In this version of the function, the amount to be paid can be specified either in satoshis or in INR, but not both. The UPI provider will then generate a Lightning Network invoice for that amount. The specifics of the implementation would again depend on the particular UPI app and the exchange rate used.