Module: Moyasar
- Defined in:
- lib/moyasar.rb,
lib/moyasar/source.rb,
lib/moyasar/invoice.rb,
lib/moyasar/payment.rb,
lib/moyasar/version.rb,
lib/moyasar/resource.rb,
lib/moyasar/http_client.rb,
lib/moyasar/actions/list.rb,
lib/moyasar/actions/void.rb,
lib/moyasar/actions/fetch.rb,
lib/moyasar/sources/sadad.rb,
lib/moyasar/actions/cancel.rb,
lib/moyasar/actions/create.rb,
lib/moyasar/actions/refund.rb,
lib/moyasar/actions/update.rb,
lib/moyasar/actions/capture.rb,
lib/moyasar/actions/request.rb,
lib/moyasar/sources/stc_pay.rb,
lib/moyasar/errors/api_error.rb,
lib/moyasar/actions/construct.rb,
lib/moyasar/sources/apple_pay.rb,
lib/moyasar/sources/credit_card.rb,
lib/moyasar/errors/moyasar_error.rb,
lib/moyasar/errors/rate_limit_error.rb,
lib/moyasar/errors/api_connection_error.rb,
lib/moyasar/errors/authentication_error.rb,
lib/moyasar/errors/invalid_request_error.rb,
lib/moyasar/errors/account_inactive_error.rb
Defined Under Namespace
Modules: Actions Classes: APIConnectionError, APIError, AccountInactiveError, ApplePay, AuthenticationError, CreditCard, HTTPClient, InvalidRequestError, Invoice, MoyasarError, Payment, RateLimitError, Resource, STCPay, Sadad, Source
Constant Summary collapse
- Errors =
{ 'authentication_error' => Moyasar::AuthenticationError, 'invalid_request_error' => Moyasar::InvalidRequestError, 'account_inactive_error' => Moyasar::AccountInactiveError, 'rate_limit_error' => Moyasar::RateLimitError, 'api_connection_error' => Moyasar::APIConnectionError, 'api_error' => Moyasar::APIError, }.freeze
- VERSION =
'0.8.5'
Class Attribute Summary collapse
-
.api_base ⇒ Object
readonly
Returns the value of attribute api_base.
-
.api_key ⇒ Object
Returns the value of attribute api_key.
-
.api_version ⇒ Object
readonly
Returns the value of attribute api_version.
Class Method Summary collapse
Class Attribute Details
.api_base ⇒ Object (readonly)
Returns the value of attribute api_base.
53 54 55 |
# File 'lib/moyasar.rb', line 53 def api_base @api_base end |
.api_key ⇒ Object
Returns the value of attribute api_key.
52 53 54 |
# File 'lib/moyasar.rb', line 52 def api_key @api_key end |
.api_version ⇒ Object (readonly)
Returns the value of attribute api_version.
53 54 55 |
# File 'lib/moyasar.rb', line 53 def api_version @api_version end |
Class Method Details
.request(method, url, key: nil, params: {}, headers: {}) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/moyasar.rb', line 55 def request(method, url, key: nil, params: {}, headers: {}) unless key ||= @api_key raise AuthenticationError.new('No API Key provided.') end client = Moyasar::HTTPClient.new(@api_base) response = client.request_json(method, url, key, params, headers) case response.code when 400..429 error_data = response.body.merge({ 'http_code' => response.code }) error = Errors[response.body['type']] raise error, error_data when 500..504 raise APIError, { 'http_code' => response.code } end response end |