bckbn 1.0.0 → 2.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.irbrc +70 -72
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/README.md +14 -4
- data/lib/bckbn/connection.rb +2 -2
- data/lib/bckbn/resources/transaction/api.rb +8 -8
- data/lib/bckbn/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: a998e53954c06ebed88798f74e96ca31f07cc7101d0f6f2ef3977eeb993cbac5
|
4
|
+
data.tar.gz: 4e1650c6ba365f4fcf3f09fec35755593e7ee0c780c433f17495a9d43bf6cc6b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8046e28f4a9793a33049f63964b87afe600cc6e9fcbae5252d99789f00dde42e7a57a3bdea96019a4478ca93d0a0788b1f7e48994394018511f6749db9c81bf9
|
7
|
+
data.tar.gz: 5ceb54a6645ac7d44952b12bb5d5ca6c8d3cb385093666632a315d8d8a77f0370af8173634eb194030a1b45efd25e5a66c58781b90bbcff80c0610bdc639c790
|
data/.irbrc
CHANGED
@@ -4,77 +4,75 @@ Bckbn.api_base = "http://localhost:8080"
|
|
4
4
|
Bckbn.access_token = "foobar"
|
5
5
|
Bckbn.merchant_id = "101"
|
6
6
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
}.freeze
|
7
|
+
@auth_body = {
|
8
|
+
amount: 5000,
|
9
|
+
bill_to_address: {
|
10
|
+
name: "John Doe",
|
11
|
+
address_line_1: "123 Main St",
|
12
|
+
city: "Boston",
|
13
|
+
state: "MA",
|
14
|
+
country: "US",
|
15
|
+
zip: "12345",
|
16
|
+
email: "jsmith@someaddress.com",
|
17
|
+
phone: "555-123-4567"
|
18
|
+
},
|
19
|
+
card: {
|
20
|
+
type: "MC",
|
21
|
+
number: "{{1234567890123456}}",
|
22
|
+
exp_date: "1223"
|
23
|
+
},
|
24
|
+
id: "12345",
|
25
|
+
order_id: "5234234",
|
26
|
+
order_source: "ecommerce",
|
27
|
+
partial: false,
|
28
|
+
report_group: "ABC Division"
|
29
|
+
}.freeze
|
31
30
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
31
|
+
@sale_body = {
|
32
|
+
id: "12345",
|
33
|
+
report_group: "ABC Division",
|
34
|
+
amount: 5000,
|
35
|
+
"card": {
|
36
|
+
"type": "VI",
|
37
|
+
"number": "{{1234567890123456}}",
|
38
|
+
"exp_date": "1223",
|
39
|
+
"card_validation_num": "123"
|
40
|
+
},
|
41
|
+
"bill_to_address": {
|
42
|
+
"name": "John Doe",
|
43
|
+
"address_line_1": "123 Main St",
|
44
|
+
"city": "Boston",
|
45
|
+
"state": "MA",
|
46
|
+
"country": "US",
|
47
|
+
"zip": "12345",
|
48
|
+
"email": "jsmith@someaddress.com",
|
49
|
+
"phone": "555-123-4567"
|
50
|
+
},
|
51
|
+
partial: false,
|
52
|
+
order_id: "5234234",
|
53
|
+
order_source: "ecommerce"
|
54
|
+
}.freeze
|
56
55
|
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
end
|
56
|
+
@echeck_sale_body = {
|
57
|
+
"echeck": {
|
58
|
+
"acc_type": "Checking",
|
59
|
+
"acc_num": "5186005800001012",
|
60
|
+
"routing_num": "000010101",
|
61
|
+
"check_num": nil
|
62
|
+
},
|
63
|
+
"bill_to_address": {
|
64
|
+
"name": "John Doe",
|
65
|
+
"address_line_1": "123 Main St",
|
66
|
+
"city": "Boston",
|
67
|
+
"state": "MA",
|
68
|
+
"country": "US",
|
69
|
+
"zip": "12345",
|
70
|
+
"email": "jsmith@someaddress.com",
|
71
|
+
"phone": "555-123-4567"
|
72
|
+
},
|
73
|
+
"amount": 5000,
|
74
|
+
"id": "12345",
|
75
|
+
"report_group": "ABC Division",
|
76
|
+
"order_id": "5234234",
|
77
|
+
"order_source": "ecommerce"
|
78
|
+
}.freeze
|
data/CHANGELOG.md
CHANGED
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -9,6 +9,9 @@ gem install bckbn
|
|
9
9
|
```
|
10
10
|
|
11
11
|
## Configuration
|
12
|
+
Local configuration will override global configuration where
|
13
|
+
they conflict. Some config can only be set locally, like an
|
14
|
+
`idempotency_key`.
|
12
15
|
|
13
16
|
### Global
|
14
17
|
|
@@ -26,7 +29,7 @@ Bckbn::Transaction.capture({
|
|
26
29
|
})
|
27
30
|
```
|
28
31
|
|
29
|
-
###
|
32
|
+
### Local
|
30
33
|
|
31
34
|
```ruby
|
32
35
|
require "bckbn"
|
@@ -34,6 +37,7 @@ require "bckbn"
|
|
34
37
|
api_base = "..."
|
35
38
|
access_token = "..."
|
36
39
|
merchant_id = "..."
|
40
|
+
idempotency_key = "..."
|
37
41
|
|
38
42
|
Bckbn::Transaction.capture(
|
39
43
|
{
|
@@ -42,13 +46,19 @@ Bckbn::Transaction.capture(
|
|
42
46
|
report_group: "ABC Division"
|
43
47
|
},
|
44
48
|
{
|
45
|
-
api_base
|
46
|
-
access_token
|
47
|
-
merchant_id:
|
49
|
+
api_base: api_base,
|
50
|
+
access_token: access_token,
|
51
|
+
merchant_id: merchant_id,
|
52
|
+
idempotency_key: idempotency_key
|
48
53
|
}
|
49
54
|
)
|
50
55
|
```
|
51
56
|
|
57
|
+
### Idempotency
|
58
|
+
An idempotency key can be added to allow retries without creating duplicate transactions.
|
59
|
+
Successful POST requests will return a cached response. New requests can be issued
|
60
|
+
by changing the request body or the idempotency key.
|
61
|
+
|
52
62
|
## Documentation
|
53
63
|
|
54
64
|
```
|
data/lib/bckbn/connection.rb
CHANGED
@@ -44,7 +44,7 @@ module Bckbn
|
|
44
44
|
response_handler(url, request) do |response, rbody|
|
45
45
|
case response
|
46
46
|
when Net::HTTPSuccess
|
47
|
-
data = rbody.
|
47
|
+
data = rbody.fetch("data")
|
48
48
|
log(:debug, "\nResponse: #{data.to_json}")
|
49
49
|
klass.new(**data, logs: @logs)
|
50
50
|
else
|
@@ -64,7 +64,7 @@ module Bckbn
|
|
64
64
|
|
65
65
|
def response_handler(url, request)
|
66
66
|
http = Net::HTTP.new(url.host, url.port)
|
67
|
-
http.use_ssl =
|
67
|
+
http.use_ssl = url.scheme == "https"
|
68
68
|
|
69
69
|
response, body = begin
|
70
70
|
r = http.request(request)
|
@@ -3,14 +3,14 @@
|
|
3
3
|
module Bckbn
|
4
4
|
module Transaction
|
5
5
|
ENDPOINTS = {
|
6
|
-
authorization: "/
|
7
|
-
capture: "/
|
8
|
-
credit: "/
|
9
|
-
sale: "/
|
10
|
-
void: "/
|
11
|
-
echeck_credit: "/
|
12
|
-
echeck_sale: "/
|
13
|
-
echeck_void: "/
|
6
|
+
authorization: "/transaction/authorization",
|
7
|
+
capture: "/transaction/capture",
|
8
|
+
credit: "/transaction/credit",
|
9
|
+
sale: "/transaction/sale",
|
10
|
+
void: "/transaction/void",
|
11
|
+
echeck_credit: "/transaction/echeck_credit",
|
12
|
+
echeck_sale: "/transaction/echeck_sale",
|
13
|
+
echeck_void: "/transaction/echeck_void"
|
14
14
|
}.freeze
|
15
15
|
private_constant :ENDPOINTS
|
16
16
|
|
data/lib/bckbn/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bckbn
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- nikkypx
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-10-
|
11
|
+
date: 2023-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faker
|