Class: X402::FacilitatorClient
- Inherits:
-
Object
- Object
- X402::FacilitatorClient
- Defined in:
- lib/x402/facilitator_client.rb
Instance Attribute Summary collapse
-
#facilitator_url ⇒ Object
readonly
Returns the value of attribute facilitator_url.
Instance Method Summary collapse
-
#discovery_resources(params = {}) ⇒ Object
Lists the facilitator's Bazaar discovery catalog (PayAI, CDP, and any other facilitator implementing the x402 discovery spec expose this).
-
#initialize(facilitator_url = nil) ⇒ FacilitatorClient
constructor
A new instance of FacilitatorClient.
- #settle(payment_payload, payment_requirements) ⇒ Object
- #supported_networks ⇒ Object
- #verify(payment_payload, payment_requirements) ⇒ Object
Constructor Details
#initialize(facilitator_url = nil) ⇒ FacilitatorClient
Returns a new instance of FacilitatorClient.
10 11 12 |
# File 'lib/x402/facilitator_client.rb', line 10 def initialize(facilitator_url = nil) @facilitator_url = facilitator_url || X402.configuration.facilitator end |
Instance Attribute Details
#facilitator_url ⇒ Object (readonly)
Returns the value of attribute facilitator_url.
8 9 10 |
# File 'lib/x402/facilitator_client.rb', line 8 def facilitator_url @facilitator_url end |
Instance Method Details
#discovery_resources(params = {}) ⇒ Object
Lists the facilitator's Bazaar discovery catalog (PayAI, CDP, and any other facilitator implementing the x402 discovery spec expose this). Params pass through as query string, e.g. type: "http", limit: 50.
37 38 39 40 41 |
# File 'lib/x402/facilitator_client.rb', line 37 def discovery_resources(params = {}) get_json("discovery/resources", action: "discovery", params: params) rescue Faraday::Error => e raise FacilitatorError, "Failed to fetch discovery resources: #{e.}" end |
#settle(payment_payload, payment_requirements) ⇒ Object
21 22 23 24 25 26 |
# File 'lib/x402/facilitator_client.rb', line 21 def settle(payment_payload, payment_requirements) response = post_payment("settle", payment_payload, payment_requirements) SettlementResponse.new(handle_response(response, "settle")) rescue Faraday::Error => e raise FacilitatorError, "Failed to settle payment: #{e.}" end |
#supported_networks ⇒ Object
28 29 30 31 32 |
# File 'lib/x402/facilitator_client.rb', line 28 def supported_networks get_json("supported", action: "supported") rescue Faraday::Error => e raise FacilitatorError, "Failed to fetch supported networks: #{e.}" end |
#verify(payment_payload, payment_requirements) ⇒ Object
14 15 16 17 18 19 |
# File 'lib/x402/facilitator_client.rb', line 14 def verify(payment_payload, payment_requirements) response = post_payment("verify", payment_payload, payment_requirements) handle_response(response, "verify") rescue Faraday::Error => e raise FacilitatorError, "Failed to verify payment: #{e.}" end |