paybox_api 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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