Class: Gateway::MidtransGateway
- Inherits:
-
Gateway
- Object
- Gateway
- Gateway::MidtransGateway
- Defined in:
- app/models/spree/gateway/midtrans_gateway.rb
Instance Method Summary collapse
- #auto_capture? ⇒ Boolean
- #charge(order) ⇒ Object
- #method_type ⇒ Object
- #provider ⇒ Object
- #provider_class ⇒ Object
- #source_required? ⇒ Boolean
- #supports?(source) ⇒ Boolean
Instance Method Details
#auto_capture? ⇒ Boolean
24 25 26 |
# File 'app/models/spree/gateway/midtrans_gateway.rb', line 24 def auto_capture? true end |
#charge(order) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'app/models/spree/gateway/midtrans_gateway.rb', line 36 def charge(order) result = provider.charge( payment_type: "VTWEB", transaction_details: { order_id: order.number, gross_amount: order.total }, # NOTE: items disabled because shipping and tax not provided by Midtrans # item_details: line_items(order), customer_details: customer(order) ) order.payments.create!( amount: order.total, payment_method: self, ) result end |
#method_type ⇒ Object
20 21 22 |
# File 'app/models/spree/gateway/midtrans_gateway.rb', line 20 def method_type 'midtrans' end |
#provider ⇒ Object
12 13 14 15 16 17 18 |
# File 'app/models/spree/gateway/midtrans_gateway.rb', line 12 def provider ::Midtrans.new( client_key: preferred_client_key, server_key: preferred_server_key, api_host: preferred_test_mode ? "https://api.sandbox.midtrans.com" : "https://api.midtrans.com" ) end |
#provider_class ⇒ Object
8 9 10 |
# File 'app/models/spree/gateway/midtrans_gateway.rb', line 8 def provider_class ::Midtrans end |
#source_required? ⇒ Boolean
32 33 34 |
# File 'app/models/spree/gateway/midtrans_gateway.rb', line 32 def source_required? false end |
#supports?(source) ⇒ Boolean
28 29 30 |
# File 'app/models/spree/gateway/midtrans_gateway.rb', line 28 def supports?(source) true end |