Class: ProcessingKz::CompleteTransaction
- Inherits:
-
Object
- Object
- ProcessingKz::CompleteTransaction
- Defined in:
- lib/processing_kz/complete_transaction.rb
Instance Attribute Summary collapse
-
#customer_reference ⇒ Object
readonly
Returns the value of attribute customer_reference.
-
#goods_list ⇒ Object
readonly
Returns the value of attribute goods_list.
-
#merchant_id ⇒ Object
readonly
Returns the value of attribute merchant_id.
-
#override_amount ⇒ Object
readonly
Returns the value of attribute override_amount.
-
#success ⇒ Object
readonly
Returns the value of attribute success.
-
#transaction_success ⇒ Object
readonly
Returns the value of attribute transaction_success.
Instance Method Summary collapse
- #hashed_goods_list ⇒ Object
-
#initialize(args = {}) ⇒ CompleteTransaction
constructor
A new instance of CompleteTransaction.
- #request! ⇒ Object
- #response(success) ⇒ Object
- #total_amount ⇒ Object
Constructor Details
#initialize(args = {}) ⇒ CompleteTransaction
Returns a new instance of CompleteTransaction.
12 13 14 15 16 17 18 19 |
# File 'lib/processing_kz/complete_transaction.rb', line 12 def initialize(args= {}) @merchant_id = args[:merchant_id] || Config.merchant_id @customer_reference = args[:customer_reference] @transaction_success = args[:transaction_success] @override_amount = args[:override_amount] @goods_list = args[:goods_list] request! end |
Instance Attribute Details
#customer_reference ⇒ Object (readonly)
Returns the value of attribute customer_reference.
5 6 7 |
# File 'lib/processing_kz/complete_transaction.rb', line 5 def customer_reference @customer_reference end |
#goods_list ⇒ Object (readonly)
Returns the value of attribute goods_list.
5 6 7 |
# File 'lib/processing_kz/complete_transaction.rb', line 5 def goods_list @goods_list end |
#merchant_id ⇒ Object (readonly)
Returns the value of attribute merchant_id.
5 6 7 |
# File 'lib/processing_kz/complete_transaction.rb', line 5 def merchant_id @merchant_id end |
#override_amount ⇒ Object (readonly)
Returns the value of attribute override_amount.
5 6 7 |
# File 'lib/processing_kz/complete_transaction.rb', line 5 def override_amount @override_amount end |
#success ⇒ Object (readonly)
Returns the value of attribute success.
5 6 7 |
# File 'lib/processing_kz/complete_transaction.rb', line 5 def success @success end |
#transaction_success ⇒ Object (readonly)
Returns the value of attribute transaction_success.
5 6 7 |
# File 'lib/processing_kz/complete_transaction.rb', line 5 def transaction_success @transaction_success end |
Instance Method Details
#hashed_goods_list ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/processing_kz/complete_transaction.rb', line 30 def hashed_goods_list hash = [] goods_list.each do |good| hash << good.to_hash end hash end |
#request! ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/processing_kz/complete_transaction.rb', line 38 def request! client = Savon.client(wsdl: Config.wsdl, endpoint: Config.host) response = client.call(:complete_transaction, message: { merchant_id: merchant_id, reference_nr: customer_reference, transaction_success: transaction_success, override_amount: override_amount, goods_list: goods_list } ) response(response.body[:complete_transaction_response][:return]) end |
#response(success) ⇒ Object
51 52 53 |
# File 'lib/processing_kz/complete_transaction.rb', line 51 def response(success) @success = success end |
#total_amount ⇒ Object
21 22 23 24 25 26 27 28 |
# File 'lib/processing_kz/complete_transaction.rb', line 21 def total_amount raise NoGoodsError unless goods_list total = 0 goods_list.each do |good| total += good.amount end total end |