class EwayRapid::Message::Convert::DirectPaymentToTransStatus

Public Instance Methods

do_convert(response) click to toggle source

@param [DirectPaymentResponse] response @return [Models::TransactionStatus]

# 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) click to toggle source

@param [DirectPaymentResponse] response @return [Models::ProcessingDetails]

# 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) click to toggle source
# File lib/eway_rapid/message/convert/direct_payment_to_trans_status.rb, line 31
def to_boolean(string)
  string == 'true'
end