4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'app/models/spree_razorpay_checkout/spree/refund_decorator.rb', line 4
def process!(credit_cents)
response = if payment.payment_method.payment_profiles_supported?
payment.payment_method.credit(
credit_cents,
payment.source,
payment.transaction_id,
originator: self
)
else
razorpay_payment_id = payment.source&.razorpay_payment_id || payment.transaction_id
payment.payment_method.credit(
credit_cents,
razorpay_payment_id,
originator: self
)
end
unless response.success?
Rails.logger.error(Spree.t(:gateway_error) + " #{response.to_yaml}")
text = response.params['message'] || response.params['response_reason_text'] || response.message
raise Core::GatewayError, text
end
response
rescue ActiveMerchant::ConnectionError => e
Rails.logger.error(Spree.t(:gateway_error) + " #{e.inspect}")
raise Core::GatewayError, Spree.t(:unable_to_connect_to_gateway)
end
|