Hi Pål Bergström, I suggest you use paypal plugin which is available here<http://dist.leetsoft.com/api/paypal/>.. in the sanbox we can generate virtual ipn.. but most of people gave negavtive feedback about ipn..
let me know anything else.... Thanks Arun Sent from Bangalore, KA, India 2009/5/18 Pål Bergström <[email protected]> > > Jason wrote: > > Hi, > > Did you every get your PayPal IPN script working. If so, did you use a > > plugin or custom code? Would you be willing to share this code for > > reference? I am looking to accomplish the same task as you. > > > > Thanks, > > Jason > > > > On Aug 20 2008, 10:26�am, P�l Bergstr�m <rails-mailing-l...@andreas- > > This is what I have as a IPN script. > > [code] > > if request.post? > > > > > #new > @params = params > @params[:cmd] = "_notify-validate" > @params.delete(:action) > @params.delete(:controller) > > url = URI.parse("https://www.paypal.com/cgi-bin/webscr") > req = Net::HTTP::Post.new(url.path) > req.set_form_data(@params) > sock = Net::HTTP.new(url.host, url.port) > sock.use_ssl = true > response = sock.start {|http| http.request(req)} > > item_name = params[:item_name] > payment_status = params[:payment_status] > payment_amount = params[:mc_gross] > payment_currency = params[:mc_currency] > payer_email = params[:payer_email] > receiver_email = params[:receiver_email] > txn_id = params[:txn_id] > > > if response > > @user = User.find_by_email(payer_email) > > if @user > #find account and update > @account = Account.find_by_user_id(@user.id) > unless @account > @account = Account.new() > end > @account.status = 'Init' > end > > if response.body == 'VERIFIED' > if payment_status == 'Completed' > @date = Date.today() + 365 > @account.ipn = 'Completed' > @account.status = 'Completed' > @account.amount = payment_amount > @account.paypal_id = txn_id > @account.expires = @date > @account.save > @user.status = "Open" > @user.expires = @date > @user.save(false) > else > @account.status = 'Not Verified' > @account.save > @account.update_attribute(:ipn,'Pending') > end > else > @account.status = 'Not-Passed' > @account.save > end > > end > end > > render :nothing => true > > [/code] > -- > Posted via http://www.ruby-forum.com/. > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

