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.
interfaceRequestLightningInvoiceArgs { 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
interfaceRequestLightningInvoiceResponse { invoice:string; // The BOLT-11 invoice for the Lightning Network payment quote?:number; // Optional: The price quote in INR, if requested}
Code Example
try {constrequestArgs= { amountSats:100000,// Amount in satoshis to be paid// Alternatively, specify amount in INR:// amountInr: 1000, requestQuote:true// Request a price quote in INR };constresponse=awaitwebUPI.requestLightningInvoice(requestArgs);console.log(response.invoice); // BOLT-11 invoiceif (response.quote) {console.log(response.quote); // Price quote in INR, if requested }} catch (error) {// Request failedconsole.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.