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 +4 -4
- data/.gitignore +2 -0
- data/.travis.yml +10 -2
- data/README.md +1 -5
- data/lib/paybox_api/v4/client.rb +37 -0
- data/lib/paybox_api/v4.rb +4 -0
- data/lib/paybox_api/version.rb +1 -1
- data/lib/paybox_api.rb +9 -2
- data/paybox_api.gemspec +1 -1
- metadata +4 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b2ac9420149893cf4b7b470726b01feb3a3b7e85458b3e03d7b9d5d902fdb1b
|
4
|
+
data.tar.gz: cc273a8c319a107efe945ef74e7ae60aef89fa162b669b0be865a58db937d888
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 739313f955ddaa33c4041f785d15c3e8ba7ae2e331de04bc3603f15003669bc0f239eecd56d55e2969ffe767d76f9e3caed902076e743616b150241951a2cded
|
7
|
+
data.tar.gz: 40450fbf7b38035a0fa1e9988665c7ef52c783f4e9f33054c5f47d3ac0379eed1784670ae75b572cd9447467bff33369dc6ea6d808a66490d6b2318e0299f6b8
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
sudo: false
|
2
2
|
language: ruby
|
3
3
|
rvm:
|
4
|
-
- 2.
|
5
|
-
|
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
|
data/lib/paybox_api/version.rb
CHANGED
data/lib/paybox_api.rb
CHANGED
@@ -1,5 +1,12 @@
|
|
1
|
-
require
|
1
|
+
require 'paybox_api/version'
|
2
|
+
require 'paybox_api/v4'
|
2
3
|
|
3
4
|
module PayboxApi
|
4
|
-
|
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
|
-
|
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.
|
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-
|
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
|