class Khipu::HtmlHelper

Public Class Methods

new(receiver_id, secret) click to toggle source
Calls superclass method
# File lib/khipu/html_helper.rb, line 4
def initialize(receiver_id, secret)
  super(receiver_id, secret)
end

Public Instance Methods

create_payment_form(args, button = Khipu::FORM_BUTTONS['50x25']) click to toggle source
# File lib/khipu/html_helper.rb, line 8
    def create_payment_form(args, button = Khipu::FORM_BUTTONS['50x25'])
      endpoint_url = Khipu::API_URL + 'createPaymentPage'
      check_arguments(args, [:subject, :amount])
      params = {
          receiver_id: @receiver_id,
          subject: args[:subject],
          body: args[:body] || '',
          amount: args[:amount]
      }
      payer_username = ''
      if args[:payer_username]
        payer_username = %Q{\n<input type="hidden" name="payer_username" value="#{args[:payer_username]}"/>}
        params[:payer_username] = args[:payer_username]
      end
      params.merge!({
          payer_email: args[:payer_email] || '',
          bank_id: args[:bank_id] || '',
          expires_date: args[:expires_date] || '',
          transaction_id: args[:transaction_id] || '',
          custom: args[:custom] || '',
          notify_url: args[:notify_url] || '',
          return_url: args[:return_url] || '',
          cancel_url: args[:cancel_url] || '',
          picture_url: args[:picture_url] || '',
      })
      params[:hash] = hmac_sha256(@secret, concatenated(params))
      %Q{<form action="#{endpoint_url}" method="post">
<input type="hidden" name="receiver_id" value="#{params[:receiver_id]}">
<input type="hidden" name="subject" value="#{params[:subject]}"/>
<input type="hidden" name="body" value="#{params[:body]}">
<input type="hidden" name="amount" value="#{params[:amount]}">#{payer_username}
<input type="hidden" name="notify_url" value="#{params[:notify_url]}"/>
<input type="hidden" name="return_url" value="#{params[:return_url]}"/>
<input type="hidden" name="cancel_url" value="#{params[:cancel_url]}"/>
<input type="hidden" name="custom" value="#{params[:custom]}">
<input type="hidden" name="transaction_id" value="#{params[:transaction_id]}">
<input type="hidden" name="payer_email" value="#{params[:payer_email]}">
<input type="hidden" name="expires_date" value="#{params[:expires_date]}">
<input type="hidden" name="bank_id" value="#{params[:bank_id]}">
<input type="hidden" name="picture_url" value="#{params[:picture_url]}">
<input type="hidden" name="hash" value="#{params[:hash]}">
<input type="image" name="submit" src="#{button}">
</form>}
    end