Module: Wire
- Defined in:
- lib/wirepayment.rb,
lib/wire/client.rb,
lib/wire/errors.rb,
lib/wire/version.rb,
lib/wire/webhook.rb,
lib/wire/resources/base.rb,
lib/wire/resources/events.rb,
lib/wire/resources/charges.rb,
lib/wire/resources/payment_intents.rb,
lib/wire/resources/webhook_endpoints.rb
Overview
Defined Under Namespace
Modules: Resources, Webhook Classes: Client, ConnectionError, Error, NetHTTPAdapter, Response, SignatureVerificationError, TimeoutError, WireError
Constant Summary collapse
- DEFAULT_BASE_URL =
"https://api.wire.mn"- VERSION =
"1.0.0"
Class Method Summary collapse
-
.parse_error(status, body) ⇒ Object
Decode the Wire error envelope; fall back to a generic error.
Class Method Details
.parse_error(status, body) ⇒ Object
Decode the Wire error envelope; fall back to a generic error.
The api_key is never read from or echoed into the error.
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
# File 'lib/wire/errors.rb', line 44 def self.parse_error(status, body) begin env = JSON.parse(body) err = env.is_a?(Hash) ? env["error"] : nil if err.is_a?(Hash) return WireError.new( err["message"] || "request failed", type: err["type"] || "api_error", code: err["code"], param: err["param"], request_id: err["request_id"], doc_url: err["doc_url"], operator_decline_code: err["operator_decline_code"], status_code: status ) end rescue JSON::ParserError # fall through to generic error end WireError.new( "unexpected response (status #{status})", type: "api_error", status_code: status ) end |