paybox_api 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5de1ccfc0bbe88d05f7584e5ab1b99de3a37905cd2353cc3bc3d7099b3dc210d
4
- data.tar.gz: c22fa73ac7629d09c381092611a290bde322c0e71d823f93fe034a076b25f657
3
+ metadata.gz: 2b2ac9420149893cf4b7b470726b01feb3a3b7e85458b3e03d7b9d5d902fdb1b
4
+ data.tar.gz: cc273a8c319a107efe945ef74e7ae60aef89fa162b669b0be865a58db937d888
5
5
  SHA512:
6
- metadata.gz: a60b4e7307a996240eb509ca263932ff07592a507a59bf7e3aee0d0c7d6752ebeeb370b482a81c5ea11f120131fab7ef85048bc3675bc46e3361937485c19a59
7
- data.tar.gz: 1c15b23364075d2250dcb36016785a4a0f57e2152d803c86368c673b4df3c90f065067dbb433d8fbd5d7292d962a3596c8251c4a1b2588220a490f7ae8069e27
6
+ metadata.gz: 739313f955ddaa33c4041f785d15c3e8ba7ae2e331de04bc3603f15003669bc0f239eecd56d55e2969ffe767d76f9e3caed902076e743616b150241951a2cded
7
+ data.tar.gz: 40450fbf7b38035a0fa1e9988665c7ef52c783f4e9f33054c5f47d3ac0379eed1784670ae75b572cd9447467bff33369dc6ea6d808a66490d6b2318e0299f6b8
data/.gitignore CHANGED
@@ -6,6 +6,8 @@
6
6
  /pkg/
7
7
  /spec/reports/
8
8
  /tmp/
9
+ *.gem
10
+ Gemfile.lock
9
11
 
10
12
  # rspec failure tracking
11
13
  .rspec_status
data/.travis.yml CHANGED
@@ -1,5 +1,13 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
- - 2.5.1
5
- before_install: gem install bundler -v 1.16.2
4
+ - 2.6.3
5
+ - 2.5.5
6
+ - 2.4.6
7
+ - 2.3.8
8
+ before_script:
9
+ - gem install bundler -v '~> 2.0'
10
+ - gem install rspec -v '~> 3.0'
11
+ - bundle
12
+ script:
13
+ - bundle exec rspec
data/README.md CHANGED
@@ -1,8 +1,4 @@
1
- # PayboxApi
2
-
3
- Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/paybox_api`. To experiment with that code, run `bin/console` for an interactive prompt.
4
-
5
- TODO: Delete this and the text above, and describe your gem
1
+ # PayboxApi [![Build Status](https://travis-ci.org/maddevsio/paybox_api.svg?branch=master)](https://travis-ci.org/maddevsio/paybox_api) [![Gem Version](https://badge.fury.io/rb/paybox_api.svg)](https://badge.fury.io/rb/paybox_api)
6
2
 
7
3
  ## Installation
8
4
 
@@ -0,0 +1,37 @@
1
+ require 'net/http'
2
+ require 'json'
3
+
4
+ module PayboxApi
5
+ module V4
6
+ class Client
7
+ def initialize(merchant_id:, secret_key:)
8
+ @merchant_id = merchant_id
9
+ @secret_key = secret_key
10
+ end
11
+
12
+ def payments(**params)
13
+ required_keys = [ :order, :amount, :currency, :description, :uuid ]
14
+ unless required_keys.all? { |key| params.key? key }
15
+ raise "Payments method required keys: #{required_keys.join(', ')}"
16
+ end
17
+ uri = URI.parse url
18
+ http = Net::HTTP.new(uri.host, uri.port)
19
+ http.use_ssl = true
20
+ req = Net::HTTP::Post.new(uri.to_s)
21
+ req.basic_auth @merchant_id, @secret_key
22
+ req['X-Idempotency-Key'] = params[:uuid]
23
+ params.except! :uuid
24
+ params[:order] = params[:order].to_s
25
+ params[:expires_at] ||= (DateTime.now + 1.day).to_s
26
+ json = params.to_json
27
+ http.request(req, json).body
28
+ end
29
+
30
+ private
31
+
32
+ def url
33
+ 'https://api.paybox.money/v4/payments'
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,4 @@
1
+ require 'paybox_api/v4/client'
2
+
3
+ module PayboxApi::V4
4
+ end
@@ -1,3 +1,3 @@
1
1
  module PayboxApi
2
- VERSION = "0.1.0"
2
+ VERSION = '0.1.1'
3
3
  end
data/lib/paybox_api.rb CHANGED
@@ -1,5 +1,12 @@
1
- require "paybox_api/version"
1
+ require 'paybox_api/version'
2
+ require 'paybox_api/v4'
2
3
 
3
4
  module PayboxApi
4
- # Your code goes here...
5
+ class << self
6
+ def init_client(**config)
7
+ unless config[:version]
8
+ V4::Client.new merchant_id: config[:merchant_id], secret_key: config[:secret_key]
9
+ end
10
+ end
11
+ end
5
12
  end
data/paybox_api.gemspec CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.bindir = 'exe'
20
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
21
21
  spec.require_paths = ['lib']
22
- spec.add_development_dependency 'bundler', '~> 1.16'
22
+
23
23
  spec.add_development_dependency 'rake', '~> 10.0'
24
24
  spec.add_development_dependency 'rspec', '~> 3.0'
25
25
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paybox_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mad Devs
@@ -9,22 +9,8 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2019-05-21 00:00:00.000000000 Z
12
+ date: 2019-05-23 00:00:00.000000000 Z
13
13
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: bundler
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - "~>"
19
- - !ruby/object:Gem::Version
20
- version: '1.16'
21
- type: :development
22
- prerelease: false
23
- version_requirements: !ruby/object:Gem::Requirement
24
- requirements:
25
- - - "~>"
26
- - !ruby/object:Gem::Version
27
- version: '1.16'
28
14
  - !ruby/object:Gem::Dependency
29
15
  name: rake
30
16
  requirement: !ruby/object:Gem::Requirement
@@ -72,6 +58,8 @@ files:
72
58
  - bin/console
73
59
  - bin/setup
74
60
  - lib/paybox_api.rb
61
+ - lib/paybox_api/v4.rb
62
+ - lib/paybox_api/v4/client.rb
75
63
  - lib/paybox_api/version.rb
76
64
  - paybox_api.gemspec
77
65
  homepage: https://github.com/maddevsio/paybox_api