This micro app delivers a custom Invoice amount from the SatsPayExtension fron LNbits via an FastAPI endpoint.
Why do this? Because we want to be able to specify a lightning invoice in sats with the USD amount (or any other fiat equivalent amount) with a link instead of creating it manually from within the LNBits web interface.
This is a personal service, so in order to use it with your LNBits account you'll need to put in your credentials and then 1 Click deploy to vercel ( See below ) or self host it yourself.
Create LINK ---> convert fiat amt to sats, add optional message ---->
----> forward to SatsPayServer on LNBits --> Display Timed QR Code
https://satspaylink.vercel.app/fiat/{currency}/amt/{value}
https://satspaylink.vercel.app/amt/100000
this will autogenerate an invoice for 100,000 Sats
This is a live example, where the repo is deployed at satspaylink.vercel.app and the user specifies currency type and amount at the url:
https://satspaylink.vercel.app/fiat/usd/amt/100
The above link, given the parameters of 100 USD, will calculate the equivalent amount of sats and then redirect the user to a lightning invoice created by the satspayserver extension.
Clicking on the above link will redirect to the lnbits satspay extension with the lightning invoice conversion automatically.
For More information about how SatsPay Server works in LNBits, please visit the extension page and the LNbits.com website
set your LNBits environment variables in vercel
LNBITS_WALLET='your data here'
ONCHAIN_WALLET='your data here'
LNBITS_URL='https://legend.lnbits.com'
INVOICE_API_KEY='your data here'
WEBHOOK='https://yoururlhere.com'
headers = {
"Content-Type": "application/json",
"X-Api-Key": INVOICE_API_KEY,
}
{
"onchainwallet": "string",
"lnbitswallet": "string",
"description": "string",
"webhook": "string",
"completelink": "string",
"completelinktext": "string",
"custom_css": "string",
"time": 1,
"amount": 1,
"extra": "{\"mempool_endpoint\": \"https://mempool.space\", \"network\": \"Mainnet\"}"
}
This example shows how to use FastAPI on Vercel with Serverless Functions using the Python Runtime.
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn src.app:app --reload
Your application is now available at http://localhost:8000
.