Class: Gateway::KomojuCreditCard
- Inherits:
-
KomojuGateway
- Object
- KomojuGateway
- Gateway::KomojuCreditCard
- Defined in:
- app/models/spree/gateway/komoju_credit_card.rb
Instance Method Summary collapse
- #auto_capture? ⇒ Boolean
- #cancel(response_code) ⇒ Object
-
#create_profile(payment) ⇒ Object
enable either token-based profiles or customer-based profiles.
- #credit(money, source, response_code, gateway_options) ⇒ Object
- #payment_profiles_supported? ⇒ Boolean
- #purchase(money, source, options) ⇒ Object
- #void(response_code, source, gateway_options) ⇒ Object
Instance Method Details
#auto_capture? ⇒ Boolean
3 4 5 |
# File 'app/models/spree/gateway/komoju_credit_card.rb', line 3 def auto_capture? true end |
#cancel(response_code) ⇒ Object
12 13 14 |
# File 'app/models/spree/gateway/komoju_credit_card.rb', line 12 def cancel(response_code) provider.void(response_code) end |
#create_profile(payment) ⇒ Object
enable either token-based profiles or customer-based profiles
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'app/models/spree/gateway/komoju_credit_card.rb', line 31 def create_profile(payment) return unless payment.source.number.present? if SpreeKomoju.enable_customer_profiles profile_id_name = :gateway_customer_profile_id = { email: payment.order.email, customer_profile: true } else profile_id_name = :gateway_payment_profile_id = {} end profile_id = payment.source.public_send(profile_id_name) if profile_id.nil? response = provider.store(payment.source.to_active_merchant, ) if response.success? payment.source.update_attributes!(profile_id_name => response.params['id']) else payment.send(:gateway_error, response.) end end end |
#credit(money, source, response_code, gateway_options) ⇒ Object
7 8 9 10 |
# File 'app/models/spree/gateway/komoju_credit_card.rb', line 7 def credit(money, source, response_code, ) money = cents_to_dollar(money) if [:currency] == "JPY" provider.refund(money, response_code, {}) end |
#payment_profiles_supported? ⇒ Boolean
54 55 56 |
# File 'app/models/spree/gateway/komoju_credit_card.rb', line 54 def payment_profiles_supported? true end |
#purchase(money, source, options) ⇒ Object
20 21 22 23 24 25 26 27 28 |
# File 'app/models/spree/gateway/komoju_credit_card.rb', line 20 def purchase(money, source, ) = () if [:currency] == "JPY" if profile_id = source.gateway_payment_profile_id || source.gateway_customer_profile_id payment_details = profile_id else payment_details = source.to_active_merchant end super(money - [:tax], payment_details, ) end |
#void(response_code, source, gateway_options) ⇒ Object
16 17 18 |
# File 'app/models/spree/gateway/komoju_credit_card.rb', line 16 def void(response_code, source, ) provider.void(response_code) end |