Class: Lightning
Overview
-
Making Payments Via Lightning
Instance Attribute Summary
Attributes inherited from Base
#production, #secret_key, #url
Instance Method Summary collapse
-
#create_invoice(data) ⇒ Object
Create Lightning invoice.
-
#decode_payment_request(request) ⇒ Object
Decode a BOLT 11 compliant payment request.
-
#get_invoice(invoice_id) ⇒ Object
Getting Lightning invoice data.
-
#initiate_payment(request) ⇒ Object
Initiate payment is advised to be run before paying an invoice to calculate fees and check if an invoice has expired.
-
#ln_pay(data) ⇒ Object
-
Ln Pay.
-
-
#pay_invoice(data) ⇒ Object
Pay Lightning invoice.
-
#probe_for_route(data) ⇒ Object
-
Probe For Route.
-
-
#probe_route ⇒ Object
-
Probe Route.
-
Methods inherited from Base
#base_url, #check_parameters, #get_request, #initialize, #post_request, #put_request
Constructor Details
This class inherits a constructor from Base
Instance Method Details
#create_invoice(data) ⇒ Object
Create Lightning invoice
-
Required Function Parameters:
data: { description: string, customerEmail: string, tokens: number, expires_at: string }
19 20 21 22 23 24 25 26 |
# File 'lib/bitnob/objects/lightning.rb', line 19 def create_invoice(data) required_parameters = %w[description customerEmail tokens expires_at] check_passed_parameters(required_parameters, data) payload = data.to_json post_request("#{base_url}#{BaseEndpoints::LN}/createinvoice", payload) end |
#decode_payment_request(request) ⇒ Object
Decode a BOLT 11 compliant payment request
-
Required Function Parameters:
request: string
67 68 69 70 71 72 |
# File 'lib/bitnob/objects/lightning.rb', line 67 def decode_payment_request(request) body = { request: request } payload = body.to_json post_request("#{base_url}#{BaseEndpoints::LN}/decodepaymentrequest", payload) end |
#get_invoice(invoice_id) ⇒ Object
Getting Lightning invoice data
-
Required Function Parameters:
invoice_id: string
80 81 82 83 84 85 |
# File 'lib/bitnob/objects/lightning.rb', line 80 def get_invoice(invoice_id) body = { id: invoice_id } payload = body.to_json post_request("#{base_url}#{BaseEndpoints::LN}/getinvoice", payload) end |
#initiate_payment(request) ⇒ Object
Initiate payment is advised to be run before paying an invoice to calculate fees and check if an invoice has expired.
-
Required Function Parameters:
request: string
54 55 56 57 58 59 |
# File 'lib/bitnob/objects/lightning.rb', line 54 def initiate_payment(request) body = { request: request } payload = body.to_json post_request("#{base_url}#{BaseEndpoints::LN}/initiatepayment", payload) end |
#ln_pay(data) ⇒ Object
-
Ln Pay
-
Required Function Parameters
data: {
request: "string",
reference: "string",
customerEmail: "string",
description: "string"
}
97 98 99 100 |
# File 'lib/bitnob/objects/lightning.rb', line 97 def ln_pay(data) payload = data.to_json post_request("#{base_url}#{BaseEndpoints::LN}/pay", payload) end |
#pay_invoice(data) ⇒ Object
Pay Lightning invoice
-
Required Function Parameters:
data: { description: string, customerEmail: string, request: string, }
39 40 41 42 43 44 45 46 |
# File 'lib/bitnob/objects/lightning.rb', line 39 def pay_invoice(data) required_parameters = %w[request customerEmail description] check_passed_parameters(required_parameters, data) payload = data.to_json post_request("#{base_url}#{BaseEndpoints::LN}/pay", payload) end |
#probe_for_route(data) ⇒ Object
-
Probe For Route
-
Required Function Parameters
data: {
destination: "string",
tokens: "string",
total_mtokens: 0,
payment: "string"
}
112 113 114 115 |
# File 'lib/bitnob/objects/lightning.rb', line 112 def probe_for_route(data) payload = data.to_json post_request("#{base_url}#{BaseEndpoints::LN}/probeforroute", payload) end |
#probe_route ⇒ Object
-
Probe Route
119 120 121 122 |
# File 'lib/bitnob/objects/lightning.rb', line 119 def probe_route() payload= {} post_request("#{base_url}#{BaseEndpoints::LN}/proberoute", paylod.to_json) end |