Class: PaymobAccept::Api::Pay
Constant Summary collapse
- SUPPORTED_PAYMENT_METHODS =
i[online auth kiosk cash wallet moto].freeze
Instance Attribute Summary collapse
-
#api_key ⇒ Object
Returns the value of attribute api_key.
-
#auth_integration_id ⇒ Object
Returns the value of attribute auth_integration_id.
-
#cash_integration_id ⇒ Object
Returns the value of attribute cash_integration_id.
-
#kiosk_integration_id ⇒ Object
Returns the value of attribute kiosk_integration_id.
-
#moto_integration_id ⇒ Object
Returns the value of attribute moto_integration_id.
-
#online_integration_id ⇒ Object
Returns the value of attribute online_integration_id.
-
#wallet_integration_id ⇒ Object
Returns the value of attribute wallet_integration_id.
Attributes inherited from Base
Instance Method Summary collapse
- #charge(method:, **kwargs) ⇒ Object
-
#initialize(api_key: PaymobAccept.configuration.api_key, online_integration_id: PaymobAccept.configuration.online_integration_id, cash_integration_id: PaymobAccept.configuration.cash_integration_id, kiosk_integration_id: PaymobAccept.configuration.kiosk_integration_id, auth_integration_id: PaymobAccept.configuration.auth_integration_id, wallet_integration_id: PaymobAccept.configuration.wallet_integration_id, moto_integration_id: PaymobAccept.configuration.moto_integration_id) ⇒ Pay
constructor
A new instance of Pay.
Methods inherited from Base
#create_order, #generate_payment_intent, #get_auth_token
Constructor Details
#initialize(api_key: PaymobAccept.configuration.api_key, online_integration_id: PaymobAccept.configuration.online_integration_id, cash_integration_id: PaymobAccept.configuration.cash_integration_id, kiosk_integration_id: PaymobAccept.configuration.kiosk_integration_id, auth_integration_id: PaymobAccept.configuration.auth_integration_id, wallet_integration_id: PaymobAccept.configuration.wallet_integration_id, moto_integration_id: PaymobAccept.configuration.moto_integration_id) ⇒ Pay
Returns a new instance of Pay.
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/paymob_accept/api/pay.rb', line 11 def initialize(api_key: PaymobAccept.configuration.api_key, online_integration_id: PaymobAccept.configuration.online_integration_id, cash_integration_id: PaymobAccept.configuration.cash_integration_id, kiosk_integration_id: PaymobAccept.configuration.kiosk_integration_id, auth_integration_id: PaymobAccept.configuration.auth_integration_id, wallet_integration_id: PaymobAccept.configuration.wallet_integration_id, moto_integration_id: PaymobAccept.configuration.moto_integration_id) super(api_key: api_key) @api_key = api_key @online_integration_id = online_integration_id @cash_integration_id = cash_integration_id @kiosk_integration_id = kiosk_integration_id @auth_integration_id = auth_integration_id @wallet_integration_id = wallet_integration_id @moto_integration_id = moto_integration_id end |
Instance Attribute Details
#api_key ⇒ Object
Returns the value of attribute api_key.
8 9 10 |
# File 'lib/paymob_accept/api/pay.rb', line 8 def api_key @api_key end |
#auth_integration_id ⇒ Object
Returns the value of attribute auth_integration_id.
8 9 10 |
# File 'lib/paymob_accept/api/pay.rb', line 8 def auth_integration_id @auth_integration_id end |
#cash_integration_id ⇒ Object
Returns the value of attribute cash_integration_id.
8 9 10 |
# File 'lib/paymob_accept/api/pay.rb', line 8 def cash_integration_id @cash_integration_id end |
#kiosk_integration_id ⇒ Object
Returns the value of attribute kiosk_integration_id.
8 9 10 |
# File 'lib/paymob_accept/api/pay.rb', line 8 def kiosk_integration_id @kiosk_integration_id end |
#moto_integration_id ⇒ Object
Returns the value of attribute moto_integration_id.
8 9 10 |
# File 'lib/paymob_accept/api/pay.rb', line 8 def moto_integration_id @moto_integration_id end |
#online_integration_id ⇒ Object
Returns the value of attribute online_integration_id.
8 9 10 |
# File 'lib/paymob_accept/api/pay.rb', line 8 def online_integration_id @online_integration_id end |
#wallet_integration_id ⇒ Object
Returns the value of attribute wallet_integration_id.
8 9 10 |
# File 'lib/paymob_accept/api/pay.rb', line 8 def wallet_integration_id @wallet_integration_id end |
Instance Method Details
#charge(method:, **kwargs) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/paymob_accept/api/pay.rb', line 23 def charge(method:, **kwargs) raise ArgumentError, "unsupported payment method #{method}" unless SUPPORTED_PAYMENT_METHODS.include? method # Override any currencies, only EGP is currently supported kwargs[:amount_currency] = 'EGP' send("pay_#{method}".to_sym, **kwargs) end |