# # API Docs: https://docs.btcpayserver.org/API/Greenfield/v1/ # class BtcpayManagerService < ApplicationService private def base_url @base_url ||= "#{Setting.btcpay_api_url}/stores/#{Setting.btcpay_store_id}" end def auth_token @auth_token ||= Setting.btcpay_auth_token end def headers { "Content-Type" => "application/json", "Accept" => "application/json", "Authorization" => "token #{auth_token}" } end def endpoint_url(path) "#{base_url}/#{path.gsub(/^\//, '')}" end def get(path, params = {}) res = Faraday.get endpoint_url(path), params, headers JSON.parse(res.body) end def post(path, payload) res = Faraday.post endpoint_url(path), payload.to_json, headers JSON.parse(res.body) end end