class DragonpayPayment::Merchant

Constants

URL

Attributes

amount[RW]
ccy[RW]
description[RW]
digest[RW]
email[RW]
merchant_id[RW]
txn_id[RW]

Public Class Methods

new(options = {}) click to toggle source
# File lib/dragonpay_payment/merchant.rb, line 8
def initialize(options = {})
  @amount = options[:amount]
  @ccy = options[:ccy]
  @description = options[:description]
  @email = options[:email]
end

Public Instance Methods

pay() click to toggle source
# File lib/dragonpay_payment/merchant.rb, line 15
def pay
  generate_url
end

Private Instance Methods

generate_url() click to toggle source
# File lib/dragonpay_payment/merchant.rb, line 21
def generate_url
  merchant_id = DragonpayPayment.configuration.merchant_id
  secret_key = DragonpayPayment.configuration.secret_key
  txn_id = SecureRandom.urlsafe_base64 12
  details = [ merchant_id, txn_id, amount, ccy, description, email, secret_key]
  digest = Digest::SHA1.hexdigest details.join(':')

  parameters = {
    merchantid: merchant_id, txnid: txn_id, amount: amount, ccy: ccy,
    description: description, email: email, digest: digest, mode: 7
  }

  query_string = parameters.to_a.map { |x| "#{x[0]}=#{x[1]}" }.join("&")
  url = URL + "?#{query_string}"
end