WebUPI Protocol
  • Namaste
    • â„šī¸Welcome to WebUPI!
    • 🏆Benefits of WebUPI
  • How to
    • 👨‍đŸ’ģGetting Started with WebUPI
    • đŸ’ģWebUPI Reference
      • webUPI.enable()
      • webUPI.sendPayment()
      • webUPI.requestPayment()
      • webUPI.getUPIId()
      • webUPI.getPaymentStatus()
      • Error Handling in WebUPI
  • other
    • 📱WebUPI Providers
    • 📓Helpful references
  • WebUPI Providers
    • For Providers
      • Implementing WebUPI as a UPI Provider
  • WebUPI x Web3 Bridge
    • â„šī¸Introduction
    • 👩‍đŸ’ģGet Started
      • webUPI.sendPaymentToLightning()
      • webUPI.requestLightningInvoice()
    • đŸĻ¸Upgrades
  • More Protocols
    • 📓UPI Withdrawal Protocol Specification (UPIW)
    • 📓Commerce Unified Payment Protocol Specifications (CUPP)
    • 📓Real-Time Money Streaming Protocol (RTMS)
Powered by GitBook
On this page
  1. WebUPI x Web3 Bridge
  2. Get Started

webUPI.requestLightningInvoice()

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.

PreviouswebUPI.sendPaymentToLightning()NextUpgrades

Last updated 1 year ago

👩‍đŸ’ģ