PayPal Integration

Hi i was following this link
http://www.funonrails.com/search?q=paypal&imageField.x=0&imageField.y=0&max-results=10
for PayPal integration in the process i got this error

undefined local variable or method `pay_bill_url’ for
#<#Class:0x927b3f8:0x92794b8>

View Name:create
<%= form_for @payment ||= Payment.new, :url => pay_bill_url, :html =>
{:id => :payForm} do |p| %>
<%=p.text_field :amount%>
<%=p.submit ‘Pay’%>
<% end %>

Controller Name: billing

class BillingController < ApplicationController
before_filter :get_order, :only => [:checkout, :paypal, :thank_you]

def new
@payment = Payment.new params[:payment]
if @payment.save
## Paypal Checkout page
redirect_to billing_url
else
render :action => :new
end
end

def create

end

ASSUMPTION

order is valid i.e. amount is entered

def checkout
response = @order.setup_purchase(:return_url =>
confirm_paypal_url(@order), :cancel_return_url => root_url)
redirect_to @order.redirect_url_for(response.token)
end

CALL BACK

def paypal
@order = @order.purchase(:token => params[:token], :payer_id =>
params[:PayerID], :ip => request.remote_ip)
@order.save redirect_to thank_you_billing_url(@order)
end

private
def get_order
@order = Payment.find_by_id(params[:id])
@order && @order.valid? || invalid_url
end

end

Routes:
match ‘billing/create’ => ‘billing#create’

Callback URL

match ‘/billing/paypal/:id/confirm’, :to => ‘billing#paypal’, :as =>
:confirm_paypal

Create payment

#match ‘/billing’, :to => ‘billing#create’, :as => :pay_bill

Request URL

match ‘/billing/paypal/:id’, :to => ‘billing#checkout’, :as =>
:billing
match ‘/billing/thank_you/:id’, :to => ‘billing#checkout’, :as =>
:billing_thank_you

Cheers

On 31 August 2012 12:14, keerthi priya [email protected]
wrote:

=> :payForm} do |p| %>

redirect_to @order.redirect_url_for(response.token)

def get_order
match ‘billing/create’ => ‘billing#create’

Callback URL

match ‘/billing/paypal/:id/confirm’, :to => ‘billing#paypal’, :as =>
:confirm_paypal

Create payment

#match ‘/billing’, :to => ‘billing#create’, :as => :pay_bill

Is this the line that should give you pay_bill_url? If you look
closely you will see it is not quite correct. If you cannot see it
examine every character on the line and work out what that character
does.

Colin

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs