Sha256: 3be5a60b2f21da173febfa3f04a61bd25394fc8fe2342ac9c7efed46dab9f77d

Contents?: true

Size: 1.32 KB

Versions: 1

Compression:

Stored size: 1.32 KB

Contents

module Opay
  module Helpers

    module PayuHelper

      def payu_form_for(record, options = {}, &block)
        options[:builder] ||= Opay::FormBuilder

        options[:url]  = Opay::Providers::Payu.url(:new_payment)
        options[:html] = { id: "payu_payment_form_#{record.id}", class: 'payu_payment_form' }

        record.create_payment!(session_id: record.payment_session_id, provider: 'payu', amount: record.amount)

        form_for(record, options, &block)
      end

      def payment_info(options = {})
        options[:first_name]   ||= object.first_name
        options[:last_name]    ||= object.last_name
        options[:email]        ||= object.email

        options[:pos_id]       ||= Opay.config.pos_id
        options[:pos_auth_key] ||= Opay.config.pos_auth_key
        options[:session_id]   ||= object.payment_session_id

        options[:amount]       ||= object.amount
        options[:desc]         ||= object.payment_description
        options[:client_ip]    ||= request.env['HTTP_USER_AGENT']
        options[:js]             = 0


        fields = options.map { |key, val| @template.hidden_field_tag(key, val) }.join("\n")
        js = "<script type=\"text/javascript\"><!-- document.forms['payu_payment_form_#{object.id}'].js.value = 1; --></script>"

        "#{fields}\n#{js}".html_safe
      end

    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
opay-1.0.0.beta lib/opay/helpers/payu_helper.rb