vantiv 0.2.0 → 0.3.0
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 +4 -4
- data/CHANGELOG.md +11 -0
- data/README.md +11 -2
- data/cert_fixtures/L_AU_1.json +19 -0
- data/cert_fixtures/L_AU_2.json +19 -0
- data/cert_fixtures/L_AU_3.json +19 -0
- data/cert_fixtures/L_AU_4.json +19 -0
- data/cert_fixtures/L_AU_5.json +19 -0
- data/cert_fixtures/L_AU_6.json +19 -0
- data/cert_fixtures/L_AU_7.json +19 -0
- data/exe/vantiv-certify-app +35 -6
- data/lib/vantiv/api.rb +1 -0
- data/lib/vantiv/api/account_updater_response.rb +52 -0
- data/lib/vantiv/api/capture_response.rb +3 -3
- data/lib/vantiv/api/live_transaction_response.rb +7 -2
- data/lib/vantiv/api/tied_transaction_response.rb +2 -1
- data/lib/vantiv/api/tokenization_response.rb +11 -11
- data/lib/vantiv/certification/validation_test_runner.rb +5 -0
- data/lib/vantiv/mocked_sandbox/fixture_generator.rb +6 -0
- data/lib/vantiv/mocked_sandbox/fixtures/auth--4457000300000007.json.erb +43 -0
- data/lib/vantiv/mocked_sandbox/fixtures/auth--4457000301100004.json.erb +33 -0
- data/lib/vantiv/mocked_sandbox/fixtures/auth--5112000101110009.json.erb +47 -0
- data/lib/vantiv/mocked_sandbox/fixtures/auth_capture--4457000300000007.json.erb +43 -0
- data/lib/vantiv/mocked_sandbox/fixtures/auth_capture--4457000301100004.json.erb +33 -0
- data/lib/vantiv/mocked_sandbox/fixtures/auth_capture--5112000101110009.json.erb +47 -0
- data/lib/vantiv/mocked_sandbox/fixtures/refund--4457000300000007.json.erb +22 -0
- data/lib/vantiv/mocked_sandbox/fixtures/refund--4457000301100004.json.erb +22 -0
- data/lib/vantiv/mocked_sandbox/fixtures/refund--5112000101110009.json.erb +22 -0
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457000300000007.json.erb +23 -0
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457000301100004.json.erb +23 -0
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--5112000101110009.json.erb +23 -0
- data/lib/vantiv/test_card.rb +34 -1
- data/lib/vantiv/version.rb +1 -1
- data/vantiv-ruby.gemspec +2 -2
- metadata +24 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d1efaaa1e08215d02b11aea82752aeae9b0d29e4
|
4
|
+
data.tar.gz: 1274890cdde19ddaf6d0a877328c08f8b4982f53
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab197a8e6a118a8231877afc1a64d7a48c5369365eeb9d1cbe7a96ce222e304bcc8bb3838199eaa1f01f3b392c72210196a88c0e25063800f91f9926f123fe6a
|
7
|
+
data.tar.gz: dc10d17ba73113c21575e1c93ee4c7d13e9296b8893aab52c580c6d9b6a83a3b612c0a95f48423d32c65ea4162f0a0bcd34c1b0efeb86dedf6da881062b11217
|
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,15 @@
|
|
1
1
|
Vantiv Ruby Changes
|
2
|
+
0.3.0
|
3
|
+
-----------
|
4
|
+
- Bug/fix: adds expiry arguments to the relevant methods when running the fixture generator
|
5
|
+
- Improve certification validation test runner
|
6
|
+
- Raise an exception if there is an api error while running certification
|
7
|
+
- Update the interface to be more user friendly and return more useful errors
|
8
|
+
- Implement account updater response handling
|
9
|
+
- Live transaction response objects now contain account updater response objects
|
10
|
+
- Add certifications for account updater
|
11
|
+
- Add account updater related test cards and test accounts
|
12
|
+
- Add related fixtures for the mocked sandbox
|
2
13
|
|
3
14
|
0.2.0
|
4
15
|
-----------
|
data/README.md
CHANGED
@@ -39,10 +39,10 @@ Vantiv's DevHub requires merchants to certify their applications for usage with
|
|
39
39
|
To certify your application, run the following script:
|
40
40
|
|
41
41
|
```
|
42
|
-
$
|
42
|
+
$ bundle exec vantiv-certify-app -l sub-your-license-id-in-here -a sub-your-acceptor-id-in-here -p your-paypage-id
|
43
43
|
```
|
44
44
|
|
45
|
-
A certs.txt file will be generated in the directory that the script is run, and then opened. It contains a list of DevHub Certification
|
45
|
+
A certs.txt file will be generated in the directory that the script is run, and then opened. It contains a list of DevHub Certification Test IDs and associated Request IDs, like follows:
|
46
46
|
|
47
47
|
```
|
48
48
|
L_AC_1, request-id-for-L_AC_1-here
|
@@ -51,6 +51,15 @@ L_AC_2, request-id-for-L_AC_2-here
|
|
51
51
|
|
52
52
|
Navigate to your application's page in DevHub's developer portal (apideveloper.vantiv.com). Paste the contents of this file into the validation form input field, and then click "Validate".
|
53
53
|
|
54
|
+
### Running a subset of the certifications
|
55
|
+
|
56
|
+
If you want to just run a subset of the certifications you can pass in the Test ID that you want to which match against using the `--filter_by` option. For example, if you only want to run the Account Updater certification, which have Test IDs that are prefixed with `L_AU`, you would filter by `AU` like follows:
|
57
|
+
|
58
|
+
```
|
59
|
+
$ bundle exec vantiv-certify-app -l foo -a bar -p bla --filter_by=AU
|
60
|
+
```
|
61
|
+
|
62
|
+
|
54
63
|
## Usage
|
55
64
|
|
56
65
|
The vantiv gem provides a simple ruby client for interacting with Vantiv's DevHub API. This API wraps their Litle/XML API and provides an API that uses json. This gem provides a way for a merchant to:
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{
|
2
|
+
"endpoint": "AUTHORIZATION",
|
3
|
+
"body": {
|
4
|
+
"Transaction": {
|
5
|
+
"ReferenceNumber": "1",
|
6
|
+
"TransactionAmount": "100.00",
|
7
|
+
"OrderSource": "ecommerce",
|
8
|
+
"CustomerID": "345",
|
9
|
+
"PartialApprovedFlag": "false"
|
10
|
+
},
|
11
|
+
"Card": {
|
12
|
+
"Type": "VI",
|
13
|
+
"CardNumber": "4457000300000007",
|
14
|
+
"ExpirationMonth": "01",
|
15
|
+
"ExpirationYear": "15",
|
16
|
+
"CVV": "349"
|
17
|
+
}
|
18
|
+
}
|
19
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{
|
2
|
+
"endpoint": "AUTHORIZATION",
|
3
|
+
"body": {
|
4
|
+
"Transaction": {
|
5
|
+
"ReferenceNumber": "1",
|
6
|
+
"TransactionAmount": "100.00",
|
7
|
+
"OrderSource": "ecommerce",
|
8
|
+
"CustomerID": "345",
|
9
|
+
"PartialApprovedFlag": "false"
|
10
|
+
},
|
11
|
+
"Card": {
|
12
|
+
"Type": "DI",
|
13
|
+
"CardNumber": "6500102087026221",
|
14
|
+
"ExpirationMonth": "01",
|
15
|
+
"ExpirationYear": "15",
|
16
|
+
"CVV": "349"
|
17
|
+
}
|
18
|
+
}
|
19
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{
|
2
|
+
"endpoint": "SALE",
|
3
|
+
"body": {
|
4
|
+
"Transaction": {
|
5
|
+
"ReferenceNumber": "1",
|
6
|
+
"TransactionAmount": "100.00",
|
7
|
+
"OrderSource": "ecommerce",
|
8
|
+
"CustomerID": "345",
|
9
|
+
"PartialApprovedFlag": "false"
|
10
|
+
},
|
11
|
+
"Card": {
|
12
|
+
"Type": "VI",
|
13
|
+
"CardNumber": "4457000300000007",
|
14
|
+
"ExpirationMonth": "01",
|
15
|
+
"ExpirationYear": "15",
|
16
|
+
"CVV": "349"
|
17
|
+
}
|
18
|
+
}
|
19
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{
|
2
|
+
"endpoint": "SALE",
|
3
|
+
"body": {
|
4
|
+
"Transaction": {
|
5
|
+
"ReferenceNumber": "1",
|
6
|
+
"TransactionAmount": "100.00",
|
7
|
+
"OrderSource": "ecommerce",
|
8
|
+
"CustomerID": "345",
|
9
|
+
"PartialApprovedFlag": "false"
|
10
|
+
},
|
11
|
+
"Card": {
|
12
|
+
"Type": "DI",
|
13
|
+
"CardNumber": "6500102087026221",
|
14
|
+
"ExpirationMonth": "01",
|
15
|
+
"ExpirationYear": "15",
|
16
|
+
"CVV": "349"
|
17
|
+
}
|
18
|
+
}
|
19
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{
|
2
|
+
"endpoint": "AUTHORIZATION",
|
3
|
+
"body": {
|
4
|
+
"Transaction": {
|
5
|
+
"ReferenceNumber": "1",
|
6
|
+
"TransactionAmount": "100.00",
|
7
|
+
"OrderSource": "ecommerce",
|
8
|
+
"CustomerID": "345",
|
9
|
+
"PartialApprovedFlag": "false"
|
10
|
+
},
|
11
|
+
"Card": {
|
12
|
+
"Type": "MC",
|
13
|
+
"CardNumber": "5112000101110009",
|
14
|
+
"ExpirationMonth": "11",
|
15
|
+
"ExpirationYear": "99",
|
16
|
+
"CVV": "349"
|
17
|
+
}
|
18
|
+
}
|
19
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{
|
2
|
+
"endpoint": "AUTHORIZATION",
|
3
|
+
"body": {
|
4
|
+
"Transaction": {
|
5
|
+
"ReferenceNumber": "1",
|
6
|
+
"TransactionAmount": "100.00",
|
7
|
+
"OrderSource": "ecommerce",
|
8
|
+
"CustomerID": "345",
|
9
|
+
"PartialApprovedFlag": "false"
|
10
|
+
},
|
11
|
+
"Card": {
|
12
|
+
"Type": "VI",
|
13
|
+
"CardNumber": "4457000301100004",
|
14
|
+
"ExpirationMonth": "11",
|
15
|
+
"ExpirationYear": "99",
|
16
|
+
"CVV": "349"
|
17
|
+
}
|
18
|
+
}
|
19
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
{
|
2
|
+
"endpoint": "AUTHORIZATION",
|
3
|
+
"body": {
|
4
|
+
"Transaction": {
|
5
|
+
"ReferenceNumber": "1",
|
6
|
+
"TransactionAmount": "100.00",
|
7
|
+
"OrderSource": "ecommerce",
|
8
|
+
"CustomerID": "345",
|
9
|
+
"PartialApprovedFlag": "false"
|
10
|
+
},
|
11
|
+
"PaymentAccount": {
|
12
|
+
"PaymentAccountID": "#{L_AU_3.litleOnlineResponse.saleResponse.tokenResponse.PaymentAccountID}"
|
13
|
+
},
|
14
|
+
"Card": {
|
15
|
+
"ExpirationMonth": "01",
|
16
|
+
"ExpirationYear": "15"
|
17
|
+
}
|
18
|
+
}
|
19
|
+
}
|
data/exe/vantiv-certify-app
CHANGED
@@ -2,22 +2,51 @@
|
|
2
2
|
|
3
3
|
require 'vantiv'
|
4
4
|
require 'vantiv/certification/validation_test_runner'
|
5
|
+
require 'optparse'
|
5
6
|
|
6
|
-
|
7
|
-
|
7
|
+
options = {}
|
8
|
+
parser = OptionParser.new do |opts|
|
9
|
+
opts.banner = "Usage: vantiv-certify-app -a <acceptor_id> -l <license_id> -p <paypage_id> [--filter_by <test_name>]"
|
10
|
+
|
11
|
+
opts.on("-a", "--acceptor_id ACCEPTOR_ID", "Vantiv Acceptor ID") do |acceptor_id|
|
12
|
+
options[:acceptor_id] = acceptor_id
|
13
|
+
end
|
14
|
+
|
15
|
+
opts.on("-l", "--license_id LICENSE_ID", "Vantiv License ID") do |license_id|
|
16
|
+
options[:license_id] = license_id
|
17
|
+
end
|
18
|
+
|
19
|
+
opts.on("-p", "--paypage_id PAYPAGE_ID", "Vantiv Paypage ID") do |paypage_id|
|
20
|
+
options[:paypage_id] = paypage_id
|
21
|
+
end
|
22
|
+
|
23
|
+
opts.on("--filter_by [TEST_NAME]", "Filter which certifications to run") do |filter|
|
24
|
+
options[:filter_by] = filter
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
parser.parse!
|
29
|
+
|
30
|
+
required_arguments = %i[acceptor_id license_id paypage_id]
|
31
|
+
missing_arguments = required_arguments.select{ |required_argument| options[required_argument].nil? }
|
32
|
+
|
33
|
+
if missing_arguments.any?
|
34
|
+
puts "Missing options: #{missing_arguments.join(", ")}"
|
35
|
+
puts parser.banner
|
36
|
+
exit
|
8
37
|
end
|
9
38
|
|
10
39
|
Vantiv.configure do |config|
|
11
|
-
config.license_id =
|
12
|
-
config.acceptor_id =
|
13
|
-
config.paypage_id =
|
40
|
+
config.license_id = options.fetch(:license_id)
|
41
|
+
config.acceptor_id = options.fetch(:acceptor_id)
|
42
|
+
config.paypage_id = options.fetch(:paypage_id)
|
14
43
|
config.environment = Vantiv::Environment::CERTIFICATION
|
15
44
|
|
16
45
|
config.default_report_group = '1'
|
17
46
|
end
|
18
47
|
|
19
48
|
Vantiv::Certification::ValidationTestRunner.run(
|
20
|
-
filter_by:
|
49
|
+
filter_by: options[:filter_by],
|
21
50
|
save_to: "certs.txt"
|
22
51
|
)
|
23
52
|
|
data/lib/vantiv/api.rb
CHANGED
@@ -0,0 +1,52 @@
|
|
1
|
+
module Vantiv
|
2
|
+
module Api
|
3
|
+
class AccountUpdaterResponse
|
4
|
+
def initialize(account_updater)
|
5
|
+
@account_updater_response = account_updater
|
6
|
+
end
|
7
|
+
|
8
|
+
def payment_account_id
|
9
|
+
new_card_token_info["PaymentAccountID"]
|
10
|
+
end
|
11
|
+
|
12
|
+
def card_type
|
13
|
+
new_card_token_info["Type"]
|
14
|
+
end
|
15
|
+
|
16
|
+
def expiry_month
|
17
|
+
new_card_token_info["ExpirationMonth"]
|
18
|
+
end
|
19
|
+
|
20
|
+
def expiry_year
|
21
|
+
new_card_token_info["ExpirationYear"]
|
22
|
+
end
|
23
|
+
|
24
|
+
def extended_card_response_code
|
25
|
+
extended_card_response["code"]
|
26
|
+
end
|
27
|
+
|
28
|
+
def extended_card_response_message
|
29
|
+
extended_card_response["message"]
|
30
|
+
end
|
31
|
+
|
32
|
+
def new_card_token?
|
33
|
+
new_card_token_info.any?
|
34
|
+
end
|
35
|
+
|
36
|
+
def extended_card_response?
|
37
|
+
extended_card_response.any?
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
attr_reader :account_updater_response
|
42
|
+
|
43
|
+
def new_card_token_info
|
44
|
+
account_updater_response.fetch("newCardTokenInfo", {})
|
45
|
+
end
|
46
|
+
|
47
|
+
def extended_card_response
|
48
|
+
account_updater_response.fetch("extendedCardResponse", {})
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -1,15 +1,15 @@
|
|
1
1
|
module Vantiv
|
2
2
|
module Api
|
3
3
|
class CaptureResponse < Api::Response
|
4
|
-
|
4
|
+
RESPONSE_CODES = {
|
5
5
|
transaction_received: '001',
|
6
6
|
# TODO: check this and other possible response codes for this txn,
|
7
7
|
# because currently the API _ONLY_ returns 001... :'(
|
8
8
|
invalid_amount: '209'
|
9
|
-
}
|
9
|
+
}.freeze
|
10
10
|
|
11
11
|
def success?
|
12
|
-
!api_level_failure? && response_code ==
|
12
|
+
!api_level_failure? && response_code == RESPONSE_CODES[:transaction_received]
|
13
13
|
end
|
14
14
|
|
15
15
|
def failure?
|
@@ -9,7 +9,7 @@ module Vantiv
|
|
9
9
|
expired_card: '305',
|
10
10
|
token_not_found: '822',
|
11
11
|
token_invalid: '823'
|
12
|
-
}
|
12
|
+
}.freeze
|
13
13
|
|
14
14
|
LIVE_TRANSACTION_RESPONSE_NAMES = {
|
15
15
|
auth: "authorizationResponse",
|
@@ -42,8 +42,13 @@ module Vantiv
|
|
42
42
|
response_code == RESPONSE_CODES[:expired_card]
|
43
43
|
end
|
44
44
|
|
45
|
-
|
45
|
+
def account_updater
|
46
|
+
@account_updater ||= AccountUpdaterResponse.new(
|
47
|
+
litle_transaction_response.fetch("accountUpdater", {})
|
48
|
+
)
|
49
|
+
end
|
46
50
|
|
51
|
+
private
|
47
52
|
def transaction_approved?
|
48
53
|
response_code == RESPONSE_CODES[:approved]
|
49
54
|
end
|
@@ -2,17 +2,17 @@ module Vantiv
|
|
2
2
|
module Api
|
3
3
|
class TokenizationResponse < Api::Response
|
4
4
|
RESPONSE_CODES = {
|
5
|
-
account_successfully_registered:
|
6
|
-
account_already_registered:
|
7
|
-
credit_card_number_invalid:
|
8
|
-
merchant_not_authorized_for_tokens:
|
9
|
-
token_not_found:
|
10
|
-
token_invalid:
|
11
|
-
invalid_paypage_registration_id:
|
12
|
-
expired_paypage_registration_id:
|
13
|
-
generic_token_registration_error:
|
14
|
-
generic_token_use_error:
|
15
|
-
}
|
5
|
+
account_successfully_registered: '801',
|
6
|
+
account_already_registered: '802',
|
7
|
+
credit_card_number_invalid: '820',
|
8
|
+
merchant_not_authorized_for_tokens: '821',
|
9
|
+
token_not_found: '822',
|
10
|
+
token_invalid: '823',
|
11
|
+
invalid_paypage_registration_id: '877',
|
12
|
+
expired_paypage_registration_id: '878',
|
13
|
+
generic_token_registration_error: '898',
|
14
|
+
generic_token_use_error: '899'
|
15
|
+
}.freeze
|
16
16
|
|
17
17
|
def success?
|
18
18
|
!api_level_failure? && tokenization_successful?
|
@@ -95,6 +95,11 @@ module Vantiv
|
|
95
95
|
response_object: Vantiv::Api::Response.new
|
96
96
|
).run
|
97
97
|
|
98
|
+
if response.api_level_failure?
|
99
|
+
error_message = "CERT FAILED: #{cert_name} \n WITH: #{response.body}"
|
100
|
+
raise StandardError.new(error_message)
|
101
|
+
end
|
102
|
+
|
98
103
|
response_cache.push(cert_name, response)
|
99
104
|
results_file << "#{cert_name},#{response.request_id}\n"
|
100
105
|
end
|
@@ -49,6 +49,8 @@ module Vantiv
|
|
49
49
|
cert_response = Vantiv.auth_capture(
|
50
50
|
amount: 10901,
|
51
51
|
payment_account_id: card.payment_account_id,
|
52
|
+
expiry_month: card.expiry_month,
|
53
|
+
expiry_year: card.expiry_year,
|
52
54
|
customer_id: "not-dynamic-cust-id",
|
53
55
|
order_id: "not-dynamic-order-id"
|
54
56
|
)
|
@@ -63,6 +65,8 @@ module Vantiv
|
|
63
65
|
cert_response = Vantiv.auth(
|
64
66
|
amount: 10901,
|
65
67
|
payment_account_id: card.payment_account_id,
|
68
|
+
expiry_month: card.expiry_month,
|
69
|
+
expiry_year: card.expiry_year,
|
66
70
|
customer_id: "not-dynamic-cust-id",
|
67
71
|
order_id: "not-dynamic-order-id"
|
68
72
|
)
|
@@ -77,6 +81,8 @@ module Vantiv
|
|
77
81
|
cert_response = Vantiv.refund(
|
78
82
|
amount: 10901,
|
79
83
|
payment_account_id: card.payment_account_id,
|
84
|
+
expiry_month: card.expiry_month,
|
85
|
+
expiry_year: card.expiry_year,
|
80
86
|
customer_id: "not-dynamic-cust-id",
|
81
87
|
order_id: "not-dynamic-order-id"
|
82
88
|
)
|
@@ -0,0 +1,43 @@
|
|
1
|
+
{
|
2
|
+
"httpok": true,
|
3
|
+
"http_response_code": "200",
|
4
|
+
"response_body": {
|
5
|
+
"litleOnlineResponse": {
|
6
|
+
"@version": "10.2",
|
7
|
+
"@response": "0",
|
8
|
+
"@message": "Valid Format",
|
9
|
+
"authorizationResponse": {
|
10
|
+
"@id": "0d12e55c8a33073a11d3cee1",
|
11
|
+
"@reportGroup": "<%= Vantiv.default_report_group %>",
|
12
|
+
"@customerId": "not-dynamic-cust-id",
|
13
|
+
"orderId": "not-dynamic-order-id",
|
14
|
+
"response": "000",
|
15
|
+
"responseTime": "<%= Time.now.strftime('%FT%T') %>",
|
16
|
+
"postDate": "<%= Time.now.strftime('%F') %>",
|
17
|
+
"message": "Approved",
|
18
|
+
"authCode": "654321",
|
19
|
+
"accountUpdater": {
|
20
|
+
"originalCardTokenInfo": {
|
21
|
+
"bin": "445700",
|
22
|
+
"PaymentAccountID": "1111000242220007",
|
23
|
+
"Type": "VI",
|
24
|
+
"ExpirationMonth": "01",
|
25
|
+
"ExpirationYear": "15"
|
26
|
+
},
|
27
|
+
"newCardTokenInfo": {
|
28
|
+
"bin": "511200",
|
29
|
+
"PaymentAccountID": "1112000247040003",
|
30
|
+
"Type": "MC",
|
31
|
+
"ExpirationMonth": "01",
|
32
|
+
"ExpirationYear": "15"
|
33
|
+
}
|
34
|
+
},
|
35
|
+
"fraudResult": {
|
36
|
+
"avsResult": "12"
|
37
|
+
},
|
38
|
+
"TransactionID": "<%= rand(10**17) %>"
|
39
|
+
}
|
40
|
+
},
|
41
|
+
"RequestID": "433bb593-fe52-4b6b-ee71-b0c26d38d711"
|
42
|
+
}
|
43
|
+
}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
{
|
2
|
+
"httpok": true,
|
3
|
+
"http_response_code": "200",
|
4
|
+
"response_body": {
|
5
|
+
"litleOnlineResponse": {
|
6
|
+
"@version": "10.2",
|
7
|
+
"@response": "0",
|
8
|
+
"@message": "Valid Format",
|
9
|
+
"authorizationResponse": {
|
10
|
+
"@id": "83cf937a566ae82f88054bf4",
|
11
|
+
"@reportGroup": "<%= Vantiv.default_report_group %>",
|
12
|
+
"@customerId": "not-dynamic-cust-id",
|
13
|
+
"orderId": "not-dynamic-order-id",
|
14
|
+
"response": "000",
|
15
|
+
"responseTime": "<%= Time.now.strftime('%FT%T') %>",
|
16
|
+
"postDate": "<%= Time.now.strftime('%F') %>",
|
17
|
+
"message": "Approved",
|
18
|
+
"authCode": "123457",
|
19
|
+
"accountUpdater": {
|
20
|
+
"extendedCardResponse": {
|
21
|
+
"code": "504",
|
22
|
+
"message": "Contact the cardholder for updated information"
|
23
|
+
}
|
24
|
+
},
|
25
|
+
"fraudResult": {
|
26
|
+
"avsResult": "00"
|
27
|
+
},
|
28
|
+
"TransactionID": "<%= rand(10**17) %>"
|
29
|
+
}
|
30
|
+
},
|
31
|
+
"RequestID": "73268927-b273-4a07-b5cf-bacaafb446c9"
|
32
|
+
}
|
33
|
+
}
|
@@ -0,0 +1,47 @@
|
|
1
|
+
{
|
2
|
+
"httpok": true,
|
3
|
+
"http_response_code": "200",
|
4
|
+
"response_body": {
|
5
|
+
"litleOnlineResponse": {
|
6
|
+
"@version": "10.2",
|
7
|
+
"@response": "0",
|
8
|
+
"@message": "Valid Format",
|
9
|
+
"authorizationResponse": {
|
10
|
+
"@id": "90f46988ecb53684f70ad8ba",
|
11
|
+
"@reportGroup": "<%= Vantiv.default_report_group %>",
|
12
|
+
"@customerId": "not-dynamic-cust-id",
|
13
|
+
"orderId": "not-dynamic-order-id",
|
14
|
+
"response": "000",
|
15
|
+
"responseTime": "<%= Time.now.strftime('%FT%T') %>",
|
16
|
+
"postDate": "<%= Time.now.strftime('%F') %>",
|
17
|
+
"message": "Approved",
|
18
|
+
"authCode": "123457",
|
19
|
+
"accountUpdater": {
|
20
|
+
"originalCardTokenInfo": {
|
21
|
+
"bin": "511200",
|
22
|
+
"PaymentAccountID": "1112000239160009",
|
23
|
+
"Type": "MC",
|
24
|
+
"ExpirationMonth": "11",
|
25
|
+
"ExpirationYear": "99"
|
26
|
+
},
|
27
|
+
"newCardTokenInfo": {
|
28
|
+
"bin": "445700",
|
29
|
+
"PaymentAccountID": "1111000288150001",
|
30
|
+
"Type": "VI",
|
31
|
+
"ExpirationMonth": "11",
|
32
|
+
"ExpirationYear": "99"
|
33
|
+
},
|
34
|
+
"extendedCardResponse": {
|
35
|
+
"code": "501",
|
36
|
+
"message": "The account was closed"
|
37
|
+
}
|
38
|
+
},
|
39
|
+
"fraudResult": {
|
40
|
+
"avsResult": "00"
|
41
|
+
},
|
42
|
+
"TransactionID": "<%= rand(10**17) %>"
|
43
|
+
}
|
44
|
+
},
|
45
|
+
"RequestID": "b0d811ec-f575-4c0b-c316-ef873e92682f"
|
46
|
+
}
|
47
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
{
|
2
|
+
"httpok": true,
|
3
|
+
"http_response_code": "200",
|
4
|
+
"response_body": {
|
5
|
+
"litleOnlineResponse": {
|
6
|
+
"@version": "10.2",
|
7
|
+
"@response": "0",
|
8
|
+
"@message": "Valid Format",
|
9
|
+
"saleResponse": {
|
10
|
+
"@id": "d7f76be2e184f15778a08370",
|
11
|
+
"@reportGroup": "<%= Vantiv.default_report_group %>",
|
12
|
+
"@customerId": "not-dynamic-cust-id",
|
13
|
+
"orderId": "not-dynamic-order-id",
|
14
|
+
"response": "000",
|
15
|
+
"responseTime": "<%= Time.now.strftime('%FT%T') %>",
|
16
|
+
"postDate": "<%= Time.now.strftime('%F') %>",
|
17
|
+
"message": "Approved",
|
18
|
+
"authCode": "654321",
|
19
|
+
"accountUpdater": {
|
20
|
+
"originalCardTokenInfo": {
|
21
|
+
"bin": "445700",
|
22
|
+
"PaymentAccountID": "1111000242220007",
|
23
|
+
"Type": "VI",
|
24
|
+
"ExpirationMonth": "01",
|
25
|
+
"ExpirationYear": "15"
|
26
|
+
},
|
27
|
+
"newCardTokenInfo": {
|
28
|
+
"bin": "511200",
|
29
|
+
"PaymentAccountID": "1112000247040003",
|
30
|
+
"Type": "MC",
|
31
|
+
"ExpirationMonth": "01",
|
32
|
+
"ExpirationYear": "15"
|
33
|
+
}
|
34
|
+
},
|
35
|
+
"fraudResult": {
|
36
|
+
"avsResult": "12"
|
37
|
+
},
|
38
|
+
"TransactionID": "<%= rand(10**17) %>"
|
39
|
+
}
|
40
|
+
},
|
41
|
+
"RequestID": "924ec9ea-2cb5-4960-d487-54e09555ddc4"
|
42
|
+
}
|
43
|
+
}
|
@@ -0,0 +1,33 @@
|
|
1
|
+
{
|
2
|
+
"httpok": true,
|
3
|
+
"http_response_code": "200",
|
4
|
+
"response_body": {
|
5
|
+
"litleOnlineResponse": {
|
6
|
+
"@version": "10.2",
|
7
|
+
"@response": "0",
|
8
|
+
"@message": "Valid Format",
|
9
|
+
"saleResponse": {
|
10
|
+
"@id": "dcfb9b1146c325ae2b81ef8b",
|
11
|
+
"@reportGroup": "<%= Vantiv.default_report_group %>",
|
12
|
+
"@customerId": "not-dynamic-cust-id",
|
13
|
+
"orderId": "not-dynamic-order-id",
|
14
|
+
"response": "000",
|
15
|
+
"responseTime": "<%= Time.now.strftime('%FT%T') %>",
|
16
|
+
"postDate": "<%= Time.now.strftime('%F') %>",
|
17
|
+
"message": "Approved",
|
18
|
+
"authCode": "123457",
|
19
|
+
"accountUpdater": {
|
20
|
+
"extendedCardResponse": {
|
21
|
+
"code": "504",
|
22
|
+
"message": "Contact the cardholder for updated information"
|
23
|
+
}
|
24
|
+
},
|
25
|
+
"fraudResult": {
|
26
|
+
"avsResult": "00"
|
27
|
+
},
|
28
|
+
"TransactionID": "<%= rand(10**17) %>"
|
29
|
+
}
|
30
|
+
},
|
31
|
+
"RequestID": "91fc5e75-8c73-4236-9294-950045eb8e18"
|
32
|
+
}
|
33
|
+
}
|
@@ -0,0 +1,47 @@
|
|
1
|
+
{
|
2
|
+
"httpok": true,
|
3
|
+
"http_response_code": "200",
|
4
|
+
"response_body": {
|
5
|
+
"litleOnlineResponse": {
|
6
|
+
"@version": "10.2",
|
7
|
+
"@response": "0",
|
8
|
+
"@message": "Valid Format",
|
9
|
+
"saleResponse": {
|
10
|
+
"@id": "06d227679a4401ed29f5a8ee",
|
11
|
+
"@reportGroup": "<%= Vantiv.default_report_group %>",
|
12
|
+
"@customerId": "not-dynamic-cust-id",
|
13
|
+
"orderId": "not-dynamic-order-id",
|
14
|
+
"response": "000",
|
15
|
+
"responseTime": "<%= Time.now.strftime('%FT%T') %>",
|
16
|
+
"postDate": "<%= Time.now.strftime('%F') %>",
|
17
|
+
"message": "Approved",
|
18
|
+
"authCode": "123457",
|
19
|
+
"accountUpdater": {
|
20
|
+
"originalCardTokenInfo": {
|
21
|
+
"bin": "511200",
|
22
|
+
"PaymentAccountID": "1112000239160009",
|
23
|
+
"Type": "MC",
|
24
|
+
"ExpirationMonth": "11",
|
25
|
+
"ExpirationYear": "99"
|
26
|
+
},
|
27
|
+
"newCardTokenInfo": {
|
28
|
+
"bin": "445700",
|
29
|
+
"PaymentAccountID": "1111000288150001",
|
30
|
+
"Type": "VI",
|
31
|
+
"ExpirationMonth": "11",
|
32
|
+
"ExpirationYear": "99"
|
33
|
+
},
|
34
|
+
"extendedCardResponse": {
|
35
|
+
"code": "501",
|
36
|
+
"message": "The account was closed"
|
37
|
+
}
|
38
|
+
},
|
39
|
+
"fraudResult": {
|
40
|
+
"avsResult": "00"
|
41
|
+
},
|
42
|
+
"TransactionID": "<%= rand(10**17) %>"
|
43
|
+
}
|
44
|
+
},
|
45
|
+
"RequestID": "1c44b672-56ff-42fd-c877-479365d93d50"
|
46
|
+
}
|
47
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
{
|
2
|
+
"httpok": true,
|
3
|
+
"http_response_code": "200",
|
4
|
+
"response_body": {
|
5
|
+
"litleOnlineResponse": {
|
6
|
+
"@version": "10.2",
|
7
|
+
"@response": "0",
|
8
|
+
"@message": "Valid Format",
|
9
|
+
"creditResponse": {
|
10
|
+
"@id": "55932cc299579b693e377e08",
|
11
|
+
"@reportGroup": "<%= Vantiv.default_report_group %>",
|
12
|
+
"@customerId": "not-dynamic-cust-id",
|
13
|
+
"response": "001",
|
14
|
+
"responseTime": "<%= Time.now.strftime('%FT%T') %>",
|
15
|
+
"postDate": "<%= Time.now.strftime('%F') %>",
|
16
|
+
"message": "Transaction Received",
|
17
|
+
"TransactionID": "<%= rand(10**17) %>"
|
18
|
+
}
|
19
|
+
},
|
20
|
+
"RequestID": "22b06bb5-6ffb-474a-e9e4-2190c5d9a2a1"
|
21
|
+
}
|
22
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
{
|
2
|
+
"httpok": true,
|
3
|
+
"http_response_code": "200",
|
4
|
+
"response_body": {
|
5
|
+
"litleOnlineResponse": {
|
6
|
+
"@version": "10.2",
|
7
|
+
"@response": "0",
|
8
|
+
"@message": "Valid Format",
|
9
|
+
"creditResponse": {
|
10
|
+
"@id": "3f1f4d9dc10a832642d740ef",
|
11
|
+
"@reportGroup": "<%= Vantiv.default_report_group %>",
|
12
|
+
"@customerId": "not-dynamic-cust-id",
|
13
|
+
"response": "001",
|
14
|
+
"responseTime": "<%= Time.now.strftime('%FT%T') %>",
|
15
|
+
"postDate": "<%= Time.now.strftime('%F') %>",
|
16
|
+
"message": "Transaction Received",
|
17
|
+
"TransactionID": "<%= rand(10**17) %>"
|
18
|
+
}
|
19
|
+
},
|
20
|
+
"RequestID": "6b7f3723-22d8-4306-dc17-7e5ef082040a"
|
21
|
+
}
|
22
|
+
}
|
@@ -0,0 +1,22 @@
|
|
1
|
+
{
|
2
|
+
"httpok": true,
|
3
|
+
"http_response_code": "200",
|
4
|
+
"response_body": {
|
5
|
+
"litleOnlineResponse": {
|
6
|
+
"@version": "10.2",
|
7
|
+
"@response": "0",
|
8
|
+
"@message": "Valid Format",
|
9
|
+
"creditResponse": {
|
10
|
+
"@id": "8c7e276a2d1ad091eb3bb229",
|
11
|
+
"@reportGroup": "<%= Vantiv.default_report_group %>",
|
12
|
+
"@customerId": "not-dynamic-cust-id",
|
13
|
+
"response": "001",
|
14
|
+
"responseTime": "<%= Time.now.strftime('%FT%T') %>",
|
15
|
+
"postDate": "<%= Time.now.strftime('%F') %>",
|
16
|
+
"message": "Transaction Received",
|
17
|
+
"TransactionID": "<%= rand(10**17) %>"
|
18
|
+
}
|
19
|
+
},
|
20
|
+
"RequestID": "6cd60cef-3d05-4658-81f3-f9112ce89d03"
|
21
|
+
}
|
22
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{
|
2
|
+
"httpok": true,
|
3
|
+
"http_response_code": "200",
|
4
|
+
"response_body": {
|
5
|
+
"litleOnlineResponse": {
|
6
|
+
"@version": "10.2",
|
7
|
+
"@response": "0",
|
8
|
+
"@message": "Valid Format",
|
9
|
+
"registerTokenResponse": {
|
10
|
+
"@id": "3184cbf03f86c15efb4caad0",
|
11
|
+
"@reportGroup": "<%= Vantiv.default_report_group %>",
|
12
|
+
"response": "802",
|
13
|
+
"responseTime": "<%= Time.now.strftime('%FT%T') %>",
|
14
|
+
"message": "Account number was previously registered",
|
15
|
+
"bin": "445700",
|
16
|
+
"TransactionID": "<%= rand(10**17) %>",
|
17
|
+
"PaymentAccountID": "1111111111120007",
|
18
|
+
"Type": "VI"
|
19
|
+
}
|
20
|
+
},
|
21
|
+
"RequestID": "de076c5d-43d0-43ff-d1a2-65f8103de2c7"
|
22
|
+
}
|
23
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{
|
2
|
+
"httpok": true,
|
3
|
+
"http_response_code": "200",
|
4
|
+
"response_body": {
|
5
|
+
"litleOnlineResponse": {
|
6
|
+
"@version": "10.2",
|
7
|
+
"@response": "0",
|
8
|
+
"@message": "Valid Format",
|
9
|
+
"registerTokenResponse": {
|
10
|
+
"@id": "fcaae319313d48026e691eb9",
|
11
|
+
"@reportGroup": "<%= Vantiv.default_report_group %>",
|
12
|
+
"response": "802",
|
13
|
+
"responseTime": "<%= Time.now.strftime('%FT%T') %>",
|
14
|
+
"message": "Account number was previously registered",
|
15
|
+
"bin": "445700",
|
16
|
+
"TransactionID": "<%= rand(10**17) %>",
|
17
|
+
"PaymentAccountID": "1111111111130004",
|
18
|
+
"Type": "VI"
|
19
|
+
}
|
20
|
+
},
|
21
|
+
"RequestID": "cda65f65-d6be-40da-cd48-e16002073648"
|
22
|
+
}
|
23
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
{
|
2
|
+
"httpok": true,
|
3
|
+
"http_response_code": "200",
|
4
|
+
"response_body": {
|
5
|
+
"litleOnlineResponse": {
|
6
|
+
"@version": "10.2",
|
7
|
+
"@response": "0",
|
8
|
+
"@message": "Valid Format",
|
9
|
+
"registerTokenResponse": {
|
10
|
+
"@id": "c2fe47f62ecc065c290fdc6a",
|
11
|
+
"@reportGroup": "<%= Vantiv.default_report_group %>",
|
12
|
+
"response": "802",
|
13
|
+
"responseTime": "<%= Time.now.strftime('%FT%T') %>",
|
14
|
+
"message": "Account number was previously registered",
|
15
|
+
"bin": "511200",
|
16
|
+
"TransactionID": "<%= rand(10**17) %>",
|
17
|
+
"PaymentAccountID": "1111111111160009",
|
18
|
+
"Type": "MC"
|
19
|
+
}
|
20
|
+
},
|
21
|
+
"RequestID": "9f9a6403-1766-4df5-a34d-e4a10c547cdf"
|
22
|
+
}
|
23
|
+
}
|
data/lib/vantiv/test_card.rb
CHANGED
@@ -56,7 +56,40 @@ module Vantiv
|
|
56
56
|
mocked_sandbox_payment_account_id: "1111111111140003",
|
57
57
|
network: "MC"
|
58
58
|
}
|
59
|
-
}
|
59
|
+
},
|
60
|
+
{
|
61
|
+
access_method_name: "account_updater",
|
62
|
+
attrs: {
|
63
|
+
card_number: "4457000300000007",
|
64
|
+
expiry_month: "01",
|
65
|
+
expiry_year: "15",
|
66
|
+
cvv: "123",
|
67
|
+
mocked_sandbox_payment_account_id: "1111111111120007",
|
68
|
+
network: "VI"
|
69
|
+
}
|
70
|
+
},
|
71
|
+
{
|
72
|
+
access_method_name: "account_updater_account_closed",
|
73
|
+
attrs: {
|
74
|
+
card_number: "5112000101110009",
|
75
|
+
expiry_month: "11",
|
76
|
+
expiry_year: "99",
|
77
|
+
cvv: "123",
|
78
|
+
mocked_sandbox_payment_account_id: "1111111111160009",
|
79
|
+
network: "MC"
|
80
|
+
}
|
81
|
+
},
|
82
|
+
{
|
83
|
+
access_method_name: "account_updater_contact_cardholder",
|
84
|
+
attrs: {
|
85
|
+
card_number: "4457000301100004",
|
86
|
+
expiry_month: "11",
|
87
|
+
expiry_year: "99",
|
88
|
+
cvv: "123",
|
89
|
+
mocked_sandbox_payment_account_id: "1111111111130004",
|
90
|
+
network: "VI"
|
91
|
+
}
|
92
|
+
},
|
60
93
|
]
|
61
94
|
|
62
95
|
def self.all
|
data/lib/vantiv/version.rb
CHANGED
data/vantiv-ruby.gemspec
CHANGED
@@ -6,8 +6,8 @@ require 'vantiv/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "vantiv"
|
8
8
|
spec.version = Vantiv::VERSION
|
9
|
-
spec.authors = ["Joshua Balloch", "Chris Voxland"]
|
10
|
-
spec.email = ["joshuaballoch@gmail.com", "chrisvoxland@gmail.com"]
|
9
|
+
spec.authors = ["Joshua Balloch", "Chris Voxland", "Scott Bartell"]
|
10
|
+
spec.email = ["joshuaballoch@gmail.com", "chrisvoxland@gmail.com", "me@scottbartell.com"]
|
11
11
|
|
12
12
|
spec.summary = %q{A simple ruby client to use Vantiv's DevHub API}
|
13
13
|
spec.homepage = "https://github.com/plated/vantiv-ruby"
|
metadata
CHANGED
@@ -1,15 +1,16 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vantiv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joshua Balloch
|
8
8
|
- Chris Voxland
|
9
|
+
- Scott Bartell
|
9
10
|
autorequire:
|
10
11
|
bindir: exe
|
11
12
|
cert_chain: []
|
12
|
-
date: 2016-
|
13
|
+
date: 2016-06-22 00:00:00.000000000 Z
|
13
14
|
dependencies:
|
14
15
|
- !ruby/object:Gem::Dependency
|
15
16
|
name: selenium-webdriver
|
@@ -113,6 +114,7 @@ description:
|
|
113
114
|
email:
|
114
115
|
- joshuaballoch@gmail.com
|
115
116
|
- chrisvoxland@gmail.com
|
117
|
+
- me@scottbartell.com
|
116
118
|
executables:
|
117
119
|
- vantiv-certify-app
|
118
120
|
extensions: []
|
@@ -158,6 +160,13 @@ files:
|
|
158
160
|
- cert_fixtures/L_AR_4B.json
|
159
161
|
- cert_fixtures/L_AR_5.json
|
160
162
|
- cert_fixtures/L_AR_5A.json
|
163
|
+
- cert_fixtures/L_AU_1.json
|
164
|
+
- cert_fixtures/L_AU_2.json
|
165
|
+
- cert_fixtures/L_AU_3.json
|
166
|
+
- cert_fixtures/L_AU_4.json
|
167
|
+
- cert_fixtures/L_AU_5.json
|
168
|
+
- cert_fixtures/L_AU_6.json
|
169
|
+
- cert_fixtures/L_AU_7.json
|
161
170
|
- cert_fixtures/L_EP_1.json
|
162
171
|
- cert_fixtures/L_EP_2.json
|
163
172
|
- cert_fixtures/L_EP_3.json
|
@@ -217,6 +226,7 @@ files:
|
|
217
226
|
- exe/vantiv-certify-app
|
218
227
|
- lib/vantiv.rb
|
219
228
|
- lib/vantiv/api.rb
|
229
|
+
- lib/vantiv/api/account_updater_response.rb
|
220
230
|
- lib/vantiv/api/capture_response.rb
|
221
231
|
- lib/vantiv/api/endpoints.rb
|
222
232
|
- lib/vantiv/api/live_transaction_response.rb
|
@@ -237,24 +247,36 @@ files:
|
|
237
247
|
- lib/vantiv/mocked_sandbox/api_request.rb
|
238
248
|
- lib/vantiv/mocked_sandbox/dynamic_response_body.rb
|
239
249
|
- lib/vantiv/mocked_sandbox/fixture_generator.rb
|
250
|
+
- lib/vantiv/mocked_sandbox/fixtures/auth--4457000300000007.json.erb
|
251
|
+
- lib/vantiv/mocked_sandbox/fixtures/auth--4457000301100004.json.erb
|
240
252
|
- lib/vantiv/mocked_sandbox/fixtures/auth--4457002100000005.json.erb
|
241
253
|
- lib/vantiv/mocked_sandbox/fixtures/auth--4457010000000009.json.erb
|
254
|
+
- lib/vantiv/mocked_sandbox/fixtures/auth--5112000101110009.json.erb
|
242
255
|
- lib/vantiv/mocked_sandbox/fixtures/auth--5112001600000006.json.erb
|
243
256
|
- lib/vantiv/mocked_sandbox/fixtures/auth--5112001900000003.json.erb
|
257
|
+
- lib/vantiv/mocked_sandbox/fixtures/auth_capture--4457000300000007.json.erb
|
258
|
+
- lib/vantiv/mocked_sandbox/fixtures/auth_capture--4457000301100004.json.erb
|
244
259
|
- lib/vantiv/mocked_sandbox/fixtures/auth_capture--4457002100000005.json.erb
|
245
260
|
- lib/vantiv/mocked_sandbox/fixtures/auth_capture--4457010000000009.json.erb
|
261
|
+
- lib/vantiv/mocked_sandbox/fixtures/auth_capture--5112000101110009.json.erb
|
246
262
|
- lib/vantiv/mocked_sandbox/fixtures/auth_capture--5112001600000006.json.erb
|
247
263
|
- lib/vantiv/mocked_sandbox/fixtures/auth_capture--5112001900000003.json.erb
|
248
264
|
- lib/vantiv/mocked_sandbox/fixtures/auth_reversal.json.erb
|
249
265
|
- lib/vantiv/mocked_sandbox/fixtures/capture.json.erb
|
250
266
|
- lib/vantiv/mocked_sandbox/fixtures/credit.json.erb
|
267
|
+
- lib/vantiv/mocked_sandbox/fixtures/refund--4457000300000007.json.erb
|
268
|
+
- lib/vantiv/mocked_sandbox/fixtures/refund--4457000301100004.json.erb
|
251
269
|
- lib/vantiv/mocked_sandbox/fixtures/refund--4457002100000005.json.erb
|
252
270
|
- lib/vantiv/mocked_sandbox/fixtures/refund--4457010000000009.json.erb
|
271
|
+
- lib/vantiv/mocked_sandbox/fixtures/refund--5112000101110009.json.erb
|
253
272
|
- lib/vantiv/mocked_sandbox/fixtures/refund--5112001600000006.json.erb
|
254
273
|
- lib/vantiv/mocked_sandbox/fixtures/refund--5112001900000003.json.erb
|
274
|
+
- lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457000300000007.json.erb
|
275
|
+
- lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457000301100004.json.erb
|
255
276
|
- lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457002100000005.json.erb
|
256
277
|
- lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457010000000009.json.erb
|
257
278
|
- lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457010010900010.json.erb
|
279
|
+
- lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--5112000101110009.json.erb
|
258
280
|
- lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--5112001600000006.json.erb
|
259
281
|
- lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--5112001900000003.json.erb
|
260
282
|
- lib/vantiv/mocked_sandbox/fixtures/void.json.erb
|