Создать PDF-файл после получения уведомления от Paypal - PullRequest
2 голосов
/ 20 июня 2011

Я не могу создать PDF-файл (используя PRAWN) после получения уведомления от Paypal.Я что-то упустил в своем коде?Вот мой код:

модель заказа:

def paypal_encryption() 
  values = {
    :cert_id => "YR5RRR2MUKRA2",
    :cmd => '_xclick',
    :upload => 1,
    :return => success_payments_url, ,
    :cancel_return => profile_url,
    :business => "seller_1306231025_biz@spt.com",
    :item_name => "FMN Book",
    :amount => self.price,
    :quantity => self.quantity,
    :rm => 2, 
    :cbt => "Return to Forgetmenotbook",
    :currency_code => self.currency,  
    :notify_url => "http://home.spt.com/payments/pdfbook_for_print",

} 

Код контроллера:

def pdfbook_for_print   

  respond_to do |format|
    format.pdf {} 
  end
end

И файл креветки: pdfbook_for_print.pdf.prawn

require "open-uri"
require "rubygems"
require "sanitize"

Prawn::Document.generate("#{Rails.root.to_s}/public/print-pdf-print.pdf", :page_size    
=>  [590,590], :left_margin => 50,:right_margin => 50, :page_layout => :portrait,    
:skip_page_creation => true, :skip_encoding => true) do |pdf|
  pdf.start_new_page 
  pdf.fill_color "981a00"
  pdf.move_down(50)  
  pdf.text "Testing pdf for printing", :size => 13

end 

Я подозреваю, что в notify_url должно быть что-то вроде: format => pdf, не уверен.Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 26 июля 2011

Наконец, я решил проблему, но не уверен, что это правильно, но все работало идеально.То, что я сделал, - создал новое действие просто для получения уведомления от Paypal, а затем перенаправил его на действие pdfbook_for_print , которое фактически создает файл PDF.

def notification_from_paypal 
 redirect_to :action => 'pdfbook_for_printing', :format => 'pdf'
end 

def pdfbook_for_print   
  respond_to do |format|
    format.pdf {} 
  end
end
...