Class: EwayRapid::Message::Convert::DirectPaymentToTransStatus

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

Instance Method Summary collapse

Instance Method Details

#do_convert(response) ⇒ Models::TransactionStatus

Parameters:

Returns:



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

def do_convert(response)
  status = Models::TransactionStatus.new
  status.beagle_score = !response.beagle_score.nil? ? response.beagle_score : 0.0
  status.captured = to_boolean(response.transaction_captured)
  status.fraud_action = response.fraud_action if response.fraud_action
  status.processing_details = get_processing_details(response)
  status.status = response.transaction_status if response.transaction_status
  status.total = response.payment.total_amount if response.payment
  status.transaction_id = if response.transaction_id
                            begin
                              Integer(response.transaction_id)
                            rescue
                              raise ArgumentError.new 'Invalid transaction id when converting direct payment to transaction status'
                            end
                          else
                            0
                          end

  verification_convert = VerificationToVerificationResult.new
  status.verification_result = verification_convert.do_convert(response.verification)
  status
end

#get_processing_details(response) ⇒ Models::ProcessingDetails

Parameters:

Returns:



37
38
39
40
41
42
43
# File 'lib/eway_rapid/message/convert/direct_payment_to_trans_status.rb', line 37

def get_processing_details(response)
  processing_details = Models::ProcessingDetails.new
  processing_details.authorisation_code = response.authorisation_code
  processing_details.response_code = response.response_code
  processing_details.response_message = response.response_message
  processing_details
end

#to_boolean(string) ⇒ Object



31
32
33
# File 'lib/eway_rapid/message/convert/direct_payment_to_trans_status.rb', line 31

def to_boolean(string)
  string == 'true'
end