Prerequisites
To complete this guide, you will need the following:1. Create a Supabase Function
To create a Supabase Edge Function you must run the following command locally:/supabase/functions/zbd-send
folder structure in your project.
2. Write the Edge Function
Use the code below as a starting point for your handler function. You will need to replace theZBD_API_KEY
with your own ZBD Project’s API key.
3. Send payment locally
In order to successfully send payments through the API, you must have an active balance in the ZBD Project you are using. Learn more about depositing funds into a ZBD Project wallet.If you do not have funds in the ZBD Project you are using, you will receive a 4xx error from the API stating insufficient funds.
--no-verify-jwt
flag to the command to disable JWT verification. This is because we are not passing a JWT token to the function when we call it. This is not recommended for production use.
Supabase CLI will output a HTTP URL endpoint that you can use to test your function by issuing a POST request to that resource.
4. Deploying to Supabase Edge
After testing it locally, you can deploy your function to Supabase Edge using the following command. You will need to enter your Supabase project ID to deploy.
https://xxxxxxxxxxxxx.supabase.co/functions/v1/zbd-send
should return a JSON response with the payment sent message.
You can also test this using curl command:
status
of completed
to know that the payment settled successfully.
Payments in the Lightning Network are asynchronous so you may see a response stating the payment is
processing
. This is expected — use the callbackUrl
property to receive updates about your payments.