Paypal IPN - unable to access breakpoint during POST?


#1

Hi all,

I’m trying to debug some code in my paypal instant payment notification
action.

Why can I not access the breakpoint placed inside the action that paypal
POSTs to? It just doesn’t find the server, but it works fine when placed
inside other actions.

I’ve appended the code to the end of this post.

Thanks everyone!

Tom

def paypal_ipn
	notify = Paypal::Notification.new(request.raw_post)
	breakpoint
	split = notify.item_id.split('-')
	@order = Order.new
	@item = Item.find(split[0])
	@user = User.find(split[1])
	@order.user_id = @user.id
	@order.item_id = @item.id

	if notify.acknowledge
		begin
		if notify.complete? and @item.amount == notify.amount
			@order.status = 'success'

send email

		else
			logger.error("Erm. Failed to verify Paypal's notification.")
		end
		rescue => e
			@order.status        = 'failed'
			raise
		ensure
			@order.save
		end
	end
	render :nothing
end

#2

Tom T. <tom@…> writes:

Why can I not access the breakpoint placed inside the action that paypal
POSTs to? It just doesn’t find the server, but it works fine when placed
inside other actions.

silly question i know…but are you sure IPN is calling you back? Do
you have
confirmation in the access log of your web server?

-damon
http://damonclinkscales.com/


#3

Damon C. wrote:

silly question i know…but are you sure IPN is calling you back? Do you have
confirmation in the access log of your web server?

Hi Damon,

Yes, I can see it in my development.log. I’m having trouble getting the
acknowledgement to work, hence the need for the debug.

Thanks,

Tom


#4

Tom T. wrote:

Yes, I can see it in my development.log. I’m having trouble getting the
acknowledgement to work, hence the need for the debug.

Why not try putting a breakpoint above and below the IPN call to see if
it stops. If it does then you know it is getting called and stopping
at the breakpoint.

Then you can see what happens when you type ‘exit’ in irb.

-damon
http://damonclinkscales.com/


#5

Damon C. wrote:

Why not try putting a breakpoint above and below the IPN call to see if
it stops. If it does then you know it is getting called and stopping
at the breakpoint.

It doesn’t work above the breakpoint unfortunately.

Thanks again,

Tom


#6

Tom T. wrote:

It doesn’t work above the breakpoint unfortunately.

Thanks again,

Tom

I’m an absolutely monkey. I had paypal_idn instead paypal_ipn in the
form for sending to Paypal. Sorry for wasting your time!

Tom