Step by Step
- Decode the invoice using a library in your favourite language or calling /invoice/decode
If amount == 0 :
Ask to the user the amount he wishes to send.
(Optional) Estimate fees with the amount if needed: /estimate-fee. And show it to the user.
3.1. If the response is a 200, check the payment status in the response body payment status.
3.2 If invoice/pay returns an error, get the payment informations: /payment/from-bolt11
If the payment is IN_FLIGHT, wait for the webhook to inform you if the payment was SUCCEEDED or FAILED
|1||IN_FLIGHT||Payment is still in flight.|
|2||SUCCEEDED||Payment completed successfully.|
|3||FAILED||Payment failed to settle|
Payment Failure Reason
If the payment fails, you can use them to get more details, if you encounter one of those (except 0), you can contact [email protected]
|0||FAILURE_REASON_NONE||Payment isnt failed (yet).|
|1||FAILURE_REASON_TIMEOUT||There are more routes to try, but the payment timeout was exceeded.|
|2||FAILURE_REASON_NO_ROUTE||All possible routes were tried and failed permanently. Or were no routes to the destination at all.|
|3||FAILURE_REASON_ERROR||A non-recoverable error has occured.|
|4||FAILURE_REASON_INCORRECT_PAYMENT_DETAILS||Payment details incorrect (unknown hash, invalid amt or invalid final cltv delta)|
|5||FAILURE_REASON_INSUFFICIENT_BALANCE||Insufficient local balance.|