bank_of_baku 0.1.0 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +13 -6
- data/lib/bank_of_baku/configuration.rb +1 -3
- data/lib/bank_of_baku/error.rb +2 -0
- data/lib/bank_of_baku/request.rb +19 -0
- data/lib/bank_of_baku/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 83a5f7352ab43dc47bec81e000717c06391c8f8917eb0ad9375a2f9924836ccb
|
4
|
+
data.tar.gz: 1f74a8e059f80ba2ba0f36c2e663dd259ca7eda6253655f12b08a4f43a520933
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4f831e425e57550978e4f966065a342acb943c3a0cf036ceb39cf8081724a51273c7c9f4e312daa82677f9b3be7288dae53ac88dbf278bca1dd8bff0cefaf1c
|
7
|
+
data.tar.gz: d06389c205927f37f32f549607cc765ce339d4bce1581a7eed884d61a89f3fd9b603bedd34b3e8c1a710048aea74c543640337502ec9750f4fa11e27ca07d286
|
data/README.md
CHANGED
@@ -17,11 +17,9 @@ And then execute: `bundle`
|
|
17
17
|
|
18
18
|
```ruby
|
19
19
|
BankOfBaku.configure do |config|
|
20
|
-
config.endpoint
|
21
|
-
config.username
|
22
|
-
config.password
|
23
|
-
config.success_url = 'https://merchant.example.net/success'
|
24
|
-
config.failure_url = 'https://merchant.example.net/fail'
|
20
|
+
config.endpoint = 'https://api.example.com/rest'
|
21
|
+
config.username = 'test-user'
|
22
|
+
config.password = 'secret'
|
25
23
|
end
|
26
24
|
```
|
27
25
|
|
@@ -34,7 +32,9 @@ request_options = {
|
|
34
32
|
amount: 5 * 100,
|
35
33
|
currency: 944,
|
36
34
|
description: 'Lorem ipsum dolor sit amet',
|
37
|
-
pageView: %w[DESKTOP MOBILE].sample
|
35
|
+
pageView: %w[DESKTOP MOBILE].sample,
|
36
|
+
returnUrl: 'https://merchant.example.net/success',
|
37
|
+
failUrl: 'https://merchant.example.net/fail'
|
38
38
|
}
|
39
39
|
|
40
40
|
begin
|
@@ -42,6 +42,13 @@ begin
|
|
42
42
|
rescue BankOfBaku::Error => e
|
43
43
|
e.message
|
44
44
|
end
|
45
|
+
|
46
|
+
# Order status
|
47
|
+
begin
|
48
|
+
BankOfBaku::Request.order_status(orderId: '40f1f684-029f-4d51-910e-cdb8f6453fb1')
|
49
|
+
rescue BankOfBaku::Error => e
|
50
|
+
e.message
|
51
|
+
end
|
45
52
|
```
|
46
53
|
|
47
54
|
## Development
|
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
module BankOfBaku
|
4
4
|
module Configuration
|
5
|
-
VALID_OPTIONS_KEYS = %i[endpoint username password user_agent
|
5
|
+
VALID_OPTIONS_KEYS = %i[endpoint username password user_agent].freeze
|
6
6
|
DEFAULT_USER_AGENT = "BankOfBaku Ruby Gem #{BankOfBaku::VERSION}"
|
7
7
|
|
8
8
|
attr_accessor(*VALID_OPTIONS_KEYS)
|
@@ -26,8 +26,6 @@ module BankOfBaku
|
|
26
26
|
{
|
27
27
|
userName: username,
|
28
28
|
password: password,
|
29
|
-
returnUrl: success_url,
|
30
|
-
failUrl: failure_url,
|
31
29
|
language: 'en'
|
32
30
|
}
|
33
31
|
end
|
data/lib/bank_of_baku/error.rb
CHANGED
data/lib/bank_of_baku/request.rb
CHANGED
@@ -24,6 +24,23 @@ module BankOfBaku
|
|
24
24
|
handle_response(request.run)
|
25
25
|
end
|
26
26
|
|
27
|
+
# @param [Hash] request_options
|
28
|
+
# @return [Hash]
|
29
|
+
# @raise [BankOfBaku::HTTPResponseError]
|
30
|
+
# @raise [BankOfBaku::DeclinedOrder]
|
31
|
+
# @raise [BankOfBaku::InvalidParameterValue]
|
32
|
+
# @raise [BankOfBaku::UnregisteredOrder]
|
33
|
+
def self.order_status(request_options)
|
34
|
+
request = Typhoeus::Request.new(
|
35
|
+
"#{BankOfBaku.endpoint}/getOrderStatus.do",
|
36
|
+
method: :post,
|
37
|
+
followlocation: true,
|
38
|
+
headers: { 'User-Agent' => BankOfBaku.user_agent },
|
39
|
+
body: BankOfBaku.default_options.merge(request_options)
|
40
|
+
)
|
41
|
+
handle_response(request.run)
|
42
|
+
end
|
43
|
+
|
27
44
|
# @private
|
28
45
|
def self.handle_response(response)
|
29
46
|
raise HTTPResponseError, "Gateway request failed: #{response.code}" unless response.success?
|
@@ -31,9 +48,11 @@ module BankOfBaku
|
|
31
48
|
response = JSON.parse response.body
|
32
49
|
error_klass = case response['errorCode']
|
33
50
|
when '1' then RegisteredOrder
|
51
|
+
when '2' then DeclinedOrder
|
34
52
|
when '3' then InvalidCurrency
|
35
53
|
when '4' then MissingParameter
|
36
54
|
when '5' then InvalidParameterValue
|
55
|
+
when '6' then UnregisteredOrder
|
37
56
|
when '7' then GatewayError
|
38
57
|
end
|
39
58
|
|
data/lib/bank_of_baku/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bank_of_baku
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nihad Abbasov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-01-
|
11
|
+
date: 2019-01-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: typhoeus
|