14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'app/controllers/effective/providers/moneris.rb', line 14
def moneris_postback
@order ||= Effective::Order.find(params[:response_order_id])
(EffectiveOrders.authorized?(self, :update, @order) rescue false)
purchased_redirect_url = params.delete(:rvar_purchased_redirect_url)
declined_redirect_url = params.delete(:rvar_declined_redirect_url)
if @order.purchased? order_purchased(details: params, provider: 'moneris', card: params[:card], redirect_url: purchased_redirect_url)
return
end
if params[:result].to_s == '1' && params[:transactionKey].present?
verify_params = parse_moneris_response(send_moneris_verify_request(params[:transactionKey])) || {}
response_code = verify_params[:response_code].to_i
if response_code > 0 && response_code < 50 order_purchased(details: params.merge(verify_params), provider: 'moneris', card: params[:card], redirect_url: purchased_redirect_url)
else
order_declined(details: params.merge(verify_params), provider: 'moneris', card: params[:card], redirect_url: declined_redirect_url)
end
else
order_declined(details: params, provider: 'moneris', card: params[:card], redirect_url: declined_redirect_url)
end
end
|