Class: Datatrans::JSON::Transaction::Init
- Inherits:
-
Object
- Object
- Datatrans::JSON::Transaction::Init
- Defined in:
- lib/datatrans/json/transaction/init.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#datatrans ⇒ Object
class to initialize a new transaction api-reference.datatrans.ch/#tag/v1transactions/operation/init.
-
#params ⇒ Object
class to initialize a new transaction api-reference.datatrans.ch/#tag/v1transactions/operation/init.
Instance Method Summary collapse
-
#initialize(datatrans, params) ⇒ Init
constructor
A new instance of Init.
- #post(url, options = {}) ⇒ Object
- #process ⇒ Object
- #request_body ⇒ Object
Constructor Details
#initialize(datatrans, params) ⇒ Init
Returns a new instance of Init.
9 10 11 12 |
# File 'lib/datatrans/json/transaction/init.rb', line 9 def initialize(datatrans, params) @datatrans = datatrans @params = params end |
Instance Attribute Details
#datatrans ⇒ Object
class to initialize a new transaction api-reference.datatrans.ch/#tag/v1transactions/operation/init
7 8 9 |
# File 'lib/datatrans/json/transaction/init.rb', line 7 def datatrans @datatrans end |
#params ⇒ Object
class to initialize a new transaction api-reference.datatrans.ch/#tag/v1transactions/operation/init
7 8 9 |
# File 'lib/datatrans/json/transaction/init.rb', line 7 def params @params end |
Instance Method Details
#post(url, options = {}) ⇒ Object
14 15 16 17 18 19 |
# File 'lib/datatrans/json/transaction/init.rb', line 14 def post(url, = {}) = .merge(datatrans.proxy) .merge(basic_auth: {username: datatrans.merchant_id, password: datatrans.password}) HTTParty.post(url, **) end |
#process ⇒ Object
21 22 23 24 25 |
# File 'lib/datatrans/json/transaction/init.rb', line 21 def process post(datatrans.url(:init_transaction), headers: {"Content-Type" => "application/json"}, body: request_body.to_json).parsed_response end |
#request_body ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/datatrans/json/transaction/init.rb', line 27 def request_body auto_settle = params[:auto_settle].nil? ? true : params[:auto_settle] body = { currency: params[:currency], refno: params[:refno], amount: params[:amount], autoSettle: auto_settle, paymentMethods: params[:payment_methods], redirect: { successUrl: params[:success_url], cancelUrl: params[:cancel_url], errorUrl: params[:error_url] } } body["option"] = params[:option] if params[:option].present? body end |