Class: Rubyplat::Requests::PaymentRequest

Inherits:
Object
  • Object
show all
Defined in:
lib/rubyplat/requests/payment_request.rb

Instance Method Summary collapse

Constructor Details

#initialize(params = {}) ⇒ PaymentRequest

Returns a new instance of PaymentRequest.

Parameters:

  • params (Hash) (defaults to: {})

    arguments to create request

Options Hash (params):

  • :sender (String)

    sender of request

  • :receiver (String)

    request receiver

  • :operator (String)

    operator

  • :session (String)

    session

  • :number (String)

    phone number or payer’s account number(can be blank)

  • :account (String)

    payer’s identifier or payees service identifier. Can be blank.

  • :amount (Float)

    amount to be payed. example: 1234.12

  • :amount_all (Float)

    amount to be charged. example: 1234.12

  • :date (Date)

    request date

  • :req_type (Float)

    amount to be payed. example: 1234.12

  • :pay_tool (Symbol)

    payment method [:cash, :local_card, :foreign_card]

  • :term_id (String)

    actual sender code(Only for MTS and Beeline)

  • :comment (String)

    payment comment

  • :rrn (String)

    uniq payment identifier

  • :accept_keys (String)

    serial number of key to sign request

  • :no_route (Bool)

    auto redirect sign



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/rubyplat/requests/payment_request.rb', line 23

def initialize(params = {})
  params = defaults.merge(params)

  @sender = params[:sender]
  @receiver = params[:receiver]
  @operator = params[:operator]
  @date = DateTime.parse((params[:date] || Time.now).to_s).strftime('%Y.%m.%d %H:%M:%S')
  @session = params[:session]
  @number = params[:number]
  @account = params[:account]
  @amount = params[:amount]
  @pay_tool = Rubyplat::PAYTOOL.fetch(params[:paytool]) { nil }
  @term_id = params[:term_id]
  @comment = params[:comment]
  @accept_keys = params[:accept_keys]
  @no_route = params[:no_route]
  @amount_all = params[:amount_all]
  @rrn = params[:rrn]
end

Instance Method Details

#bodyObject



43
44
45
# File 'lib/rubyplat/requests/payment_request.rb', line 43

def body
  body_parameters.compact.join("\r\n").encode(Encoding::WINDOWS_1251)
end