Sha256: 6eeb9f0fc41457fcf303ce17df8bd82e85593cfe329c98ab52dc8f4ce4aba91e

Contents?: true

Size: 1.29 KB

Versions: 1

Compression:

Stored size: 1.29 KB

Contents

require 'net/http'

class PaykassaOrder
  BASE_SCI_URI = URI('https://paykassa.pro/sci/0.3/index.php')


  # def initialize(auth)
  # where auth has keys: sci_id, sci_key, domain
  def initialize(auth, logger = nil, test = false)
    @logger = logger
    @_auth = auth
    @test = test
  end

  # Request for create order
  def create_order(amount: , currency:, order_id:, paid_commision: , comment:, system:)
    make_request(
      func: :sci_create_order,
      amount: amount,
      currency: currency,
      order_id: order_id,
      phone: "false",
      paid_commission: paid_commision,
      comment: comment,
      system: system,
      test: @test.to_s
    )
  end
  def get_data(amount: , currency:, order_id:, paid_commision: , comment:, system:)
    make_request(
      func: :sci_create_order_get_data,
      amount: amount,
      currency: currency,
      order_id: order_id,
      phone: "false",
      paid_commission: paid_commision,
      comment: comment,
      system: system,
      test: @test.to_s
    )
  end

  # Check order status
  def confirm_order(private_hash)
    make_request(func: :sci_confirm_order, private_hash: private_hash)
  end

  private

  def make_request(data)
    res = Net::HTTP.post_form(BASE_SCI_URI, data.merge(@_auth))
    JSON.parse(res.body).deep_symbolize_keys
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
paykassa-0.1.16 lib/paykassa/order.rb