class OnPayRuClient::Client

Attributes

fail_url[R]
key[R]
login[R]
success_url[R]
url[R]

Public Class Methods

new(login, key, url, success_url, fail_url) click to toggle source
# File lib/onpayruclient.rb, line 12
def initialize(login, key, url, success_url, fail_url)
  @login = login
  @key = key
  @url = url
  @success_url = success_url
  @fail_url = fail_url
end

Public Instance Methods

check(type, pay_for, amount, order_currency, code) click to toggle source
# File lib/onpayruclient.rb, line 20
def check(type, pay_for, amount, order_currency, code)
  md5 = Digest::MD5.hexdigest(
    type.to_s + ";" + pay_for.to_s + ";" + amount.to_s + ";" +
    order_currency.to_s + ";" + code.to_s + ";" + @key.to_s
  ).upcase

  query = String.new
  xml = Builder::XmlMarkup.new(:target => query)

  xml.result {
    xml.code code.to_s
    xml.pay_for pay_for.to_s
    xml.comment "OK"
    xml.md5 md5.to_s
  }

  return query
end
check_md5(type, pay_for, amount, order_currency) click to toggle source
# File lib/onpayruclient.rb, line 39
def check_md5(type, pay_for, amount, order_currency)
  md5 = Digest::MD5.hexdigest(
    type.to_s + ";" + pay_for.to_s + ";" + amount.to_s + ";" +
    order_currency.to_s + ";" + @key.to_s
  ).upcase
end
get_url(pay_for, amount, email) click to toggle source
# File lib/onpayruclient.rb, line 75
def get_url(pay_for, amount, email)
  return "http://secure.onpay.ru/pay/#{@login}?pay_mode=fix&price=#{amount.to_s}&pay_for=#{pay_for.to_s}&user_email=#{email}&url_success=#{@success_url}&url_fail=#{@fail_url}"
end
pay(type, pay_for, onpay_id, order_id, amount, order_currency, code) click to toggle source
# File lib/onpayruclient.rb, line 46
def pay(type, pay_for, onpay_id, order_id, amount, order_currency, code)
  md5 = Digest::MD5.hexdigest(
    type.to_s + ";" + pay_for.to_s + ";" + onpay_id.to_s + ";" +
    order_id.to_s + ";" + amount.to_s + ";" + order_currency.to_s + ";" +
    code.to_s + ";" + @key.to_s
  ).upcase

  query = String.new
  xml = Builder::XmlMarkup.new(:target => query)

  xml.result {
    xml.code code.to_s
    xml.comment "OK"
    xml.onpay_id onpay_id.to_s
    xml.pay_for pay_for.to_s
    xml.order_id order_id.to_s
    xml.md5 md5.to_s
  }

  return query
end
pay_md5(type, pay_for, onpay_id, amount, order_currency) click to toggle source
# File lib/onpayruclient.rb, line 68
def pay_md5(type, pay_for, onpay_id, amount, order_currency)
  md5 = Digest::MD5.hexdigest(
    type.to_s + ";" + pay_for.to_s + ";" + onpay_id.to_s + ";" +
    amount.to_s + ";" + order_currency.to_s + ";" + @key.to_s
  ).upcase
end