132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
|
# File 'lib/active_merchant/billing/gateways/barclays_epdq.rb', line 132
def parse
doc = REXML::Document.new(@response)
auth_type = find(doc, "//Transaction/Type").to_sym
message = find(doc, "//Message/Text")
if message.blank?
message = find(doc, "//Transaction/CardProcResp/CcReturnMsg")
end
case auth_type.to_sym
when :Credit, :Void
success = find(doc, "//CcReturnMsg") == "Approved."
else
success = find(doc, "//Transaction/AuthCode").present?
end
{
:success => success,
:message => message,
:authorization =>
[find(doc, "//OrderFormDoc/Id"), find(doc, "//Transaction/Id")].join(":"),
:avs_result => find(doc, "//Transaction/AvsRespCode"),
:cvv_result => find(doc, "//Transaction/Cvv2Resp"),
:order_id => find(doc, "//OrderFormDoc/Transaction/Id"),
:raw_response => @response
}
end
|