El 9 de noviembre de 2010 12:09, roberto nazareno
<[email protected]>escribió:
> Hola a todos esta es la primera vez que utilizo la lista para preguntar
> algo, aunque estoy suscripto desde hace mucho tiempo.
> Estamos realizando el trabajo final de ingeniería en sistemas y con ello
> intentamos aprender RoR.
> El sistema es uno de comercio electrónico programado en rails 1.2.3, para
> windows.
>
> El problema en particular es que no podemos realizar las IPN
> (notificaciones de pago instantáneas).
> Recuerdo haber leído un mensaje en la lista con alguien que hablaba de la
> implementación de ello en DineroMail y Paypal (solo estoy trabajando con
> Paypal por el momento). Al estar trabajando de forma local no puedo recibir
> las notificaciones desde sandbox.paypal.com o cualquier otra.
>
> La consulta es porque en los tutoriales y post que hablan sobre el tema lo
> hacen con una función que me devuelva la notificación de pago o al menos
> simularla(creo que la función se llama curl) pero no puedo hacer que me
> funcione...
>
> Desde ya muchas gracias por la ayuda...
>
> Roberto Nazareno
>
> *_carro controller*
>
> ...
> <%= link_to "checkout", @carro.paypal_url({:controller => 'products',
> :action=> 'list'}, :controller => 'payment_url', :action => 'create') %>
> ...
>
> *carro model*
> ...
> def paypal_url(return_url, notify_url)
> values = {
> :business => '[email protected]',
> :cmd => '_cart',
> :upload => 1,
> :return => return_url,
> :invoice => id,
> :notify_url => notify_url
> }
> carro_items.each_with_index do |item, index|
> values.merge!({
> "amount_#{index+1}" => item.precio,
> "item_name_#{index+1}" => item.product.nombre,
> "item_number_#{index+1}" => item.id,
> "quantity_#{index+1}" => item.cantidad
> })
> end
> "https://www.sandbox.paypal.com/es/cgi-bin/webscr?"+values.map {|k,v|
> "#{k}=#{v}"}.join("&")
> end
> ...
>
> *payments model*
> class Payments < ActiveRecord::Base
> belongs_to :carro
> serialize :params
> after_create :marcar_como_comprado
>
> private
>
> def marcar_como_comprado
> if status == "Completed"
> carro.clear
> end
> end
> end
>
> *payments controller*
>
> class PaymentsController < ApplicationController
> protect_from_forgety :except => [:create]
>
> def create
> Payment.Create!(:params => params, :carro_id => params[:invoice],
> :status =>params[:payment_status], :transaction_id => params[:txn_id])
> end
>
> end
>
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>
>
Si, con una llamada a curl podés simular el POST que te mandaría PayPal. No
he usado nunca curl en windows, pero quizás esto te puede servir:
http://fileforum.betanews.com/detail/cURL-for-Windows/966899018/1
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar