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
32
33
34
35
|
# File 'app/controllers/spree/gmo_pg_callback_controller.rb', line 7
def callback
@order = Spree::Order.find_by(token: params[:token])
unless @order
Rails.logger.error "[GMO-PG 3DS Callback] Order not found: #{params[:token]}"
redirect_to spree.root_path, alert: 'ご注文が見つかりませんでした'
return
end
payment = @order.payments.valid.last
unless payment
Rails.logger.error "[GMO-PG 3DS Callback] Payment not found for order: #{@order.number}"
redirect_to spree.checkout_state_path(@order.state, token: @order.token)
return
end
gmo_pg_data = payment.private_metadata[:gmo_pg] || {}
if params[:AccessID].present? && gmo_pg_data[:access_id] != params[:AccessID]
Rails.logger.warn "[GMO-PG 3DS Callback] AccessID mismatch! Expected: #{gmo_pg_data[:access_id]}, Got: #{params[:AccessID]}"
end
Rails.logger.info "[GMO-PG 3DS Callback] Received callback for order: #{@order.number}"
render :callback, layout: false
end
|