Class: EwayRapid::Message::Convert::Response::CapturePaymentToCreateTransaction

Inherits:
Object
  • Object
show all
Defined in:
lib/eway_rapid/message/convert/response/capture_payment_to_create_transaction.rb

Instance Method Summary collapse

Instance Method Details

#do_convert(capture) ⇒ CreateTransactionResponse

Parameters:

Returns:



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/eway_rapid/message/convert/response/capture_payment_to_create_transaction.rb', line 9

def do_convert(capture)
  response = CreateTransactionResponse.new
  status = Models::TransactionStatus.new
  begin
    status.transaction_id = parse_int(capture.transaction_id) if capture.transaction_id
  rescue
    raise ArgumentError.new 'Convert transaction id ' + capture.transaction_id + ' to integer error'
  end

  status.status = capture.transaction_status

  detail = Models::ProcessingDetails.new
  detail.response_code = capture.errors
  detail.response_code = capture.response_code
  detail.response_message = capture.response_message

  status.processing_details = detail

  response.transaction_status = status
  response.errors = capture.errors.split(/\s*,\s*/) if capture.errors
  response
end

#parse_int(string) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/eway_rapid/message/convert/response/capture_payment_to_create_transaction.rb', line 32

def parse_int(string)
  begin
    Integer(string)
  rescue RuntimeError
    raise ArgumentError.new 'Convert transaction id ' + capture.transaction_id + ' to integer error'
  end
end