0.0
No commit activity in last 3 years
No release in over 3 years
Helps to integrate with processing.kz without pain. Merchant ID is required for work.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

>= 0
 Project Readme

ProcessingKz

Integrate Ruby projects with Processing.kz without pain. Current version supports only standard payments without refunding. Please watch project for new releases.

Installation

Add this line to your application's Gemfile:

gem 'processing_kz'

And then execute:

$ bundle

Or install it yourself as:

$ gem install processing_kz

If you are using Rails 3+, please initiate configuration file by running:

rails g processing_kz:config

We will generate configuration file for you in config/initializers. You have to set all credentials received from Processing.kz provider.

ProcessingKz.config do |config|
  config.wsdl = 'wsdl address'
  config.host = 'processing_kz server address'
  config.merchant_id = 'your merhant id'
  config.language_code = 'ru' # ru, en or kz
  config.currency_code = 398 # KZT code
end

If you are not using Rails, include this configuration in appropriate place, so processing_kz gem can obtain all neccesary information.

Usage

Full transaction process includes 3 steps. First you need to initiate transaction process and provide at least order_id, list of goods (see additional info below) and return url.

start = ProcessingKz.start(order_id: 1, goods_list: @goods, return_url: 'page for customer to continiue after payment')

Next step is to check that money is successfuly blocked on customer's card. Just pass customer_reference obtained from previous method.

transaction = ProcessingKz.get(customer_reference: start.customer_reference)
transaction.status #=> 'AUTHORISED'

Finaly you need to complete transaction to withdraw money from card. Again just pass customer_reference which you obtained during starting transaction.

ProcessingKz.complete(customer_reference: start.customer_reference, transaction_success: true)

Check that everything is alright. You have to get 'PAID' status.

transaction = ProcessingKz.get(customer_reference: start.customer_reference)
transaction.status #=> 'PAID'

If you want to decline transaction, pass false in transaction_success instead of true.

List of Goods

ProcessingKz is requiring list of goods or services for transaction. You can pass one good or array of goods in transaction.

my_good = ProcessingKz.good(title: 'Title of good', amount 1200.99)
start = ProcessingKz.start(order_id: 1, goods_list: my_good, return_url: 'page for customer to continiue after payment')

Return URL

After finishing paying process in Processing.kz frame, user will be redirected to URL, which you defined in return_url. This will help you to continiue process on your site after successful payment.

Contributing

  1. Fork it ( https://github.com/paveltkachenko/processing_kz/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request