class EwayRapid::Message::Convert::Response::CapturePaymentToCreateTransaction

Public Instance Methods

do_convert(capture) click to toggle source

@param [CapturePaymentResponse] capture @return [CreateTransactionResponse]

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