class ProcessingKz::StartTransaction
Attributes
billing_address[R]
currency_code[R]
customer_reference[R]
description[R]
error_description[R]
goods_list[R]
language_code[R]
merchant_id[R]
merchant_local_date_time[R]
order_id[R]
purchaser_email[R]
purchaser_name[R]
purchaser_phone[R]
redirect_url[R]
return_url[R]
success[R]
terminal_id[R]
Public Class Methods
new(args = {})
click to toggle source
# File lib/processing_kz/start_transaction.rb, line 23 def initialize(args = {}) @merchant_id = args[:merchant_id] || Config.merchant_id @currency_code = args[:currency_code] || Config.currency_code @language_code = args[:language_code] || Config.language_code @terminal_id = args[:terminal_id] @order_id = args[:order_id] @description = args[:description] @purchaser_name = args[:purchaser_name] @return_url = args[:return_url] @purchaser_email = args[:purchaser_email] @purchaser_phone = args[:purchaser_phone] @customer_reference = args[:customer_reference] self.goods_list = args[:goods_list] self.merchant_local_date_time = args[:merchant_local_date_time] || Time.now request! end
Public Instance Methods
goods_list=(goods)
click to toggle source
# File lib/processing_kz/start_transaction.rb, line 40 def goods_list=(goods) if goods.class == Array @goods_list = goods else @goods_list = [goods] end end
hashed_goods_list()
click to toggle source
# File lib/processing_kz/start_transaction.rb, line 61 def hashed_goods_list raise NoGoodsError unless goods_list hash = [] goods_list.each { |good| hash << good.to_hash } hash end
merchant_local_date_time=(time)
click to toggle source
# File lib/processing_kz/start_transaction.rb, line 48 def merchant_local_date_time=(time) @merchant_local_date_time = time.strftime('%d.%m.%Y %H:%M:%S') end
request!()
click to toggle source
# File lib/processing_kz/start_transaction.rb, line 68 def request! client = Savon.client(wsdl: Config.wsdl, soap_version: 2, endpoint: Config.host) request = client.call(:start_transaction, message: { transaction: { merchant_id: merchant_id, currency_code: currency_code, language_code: language_code, order_id: order_id, goods_list: hashed_goods_list, merchant_local_date_time: merchant_local_date_time, return_u_r_l: return_url, total_amount: total_amount.to_i } } ) response(request.body[:start_transaction_response][:return]) end
response(args = {})
click to toggle source
# File lib/processing_kz/start_transaction.rb, line 86 def response(args = {}) @success = args[:success] @redirect_url = args[:redirect_url] @error_description = args[:error_description] @customer_reference = args[:customer_reference] end
total_amount()
click to toggle source
# File lib/processing_kz/start_transaction.rb, line 52 def total_amount raise NoGoodsError unless goods_list total = 0 goods_list.each do |good| total += good.amount end total end