vantiv 1.0.0 → 1.0.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 +5 -5
- data/.gitignore +1 -0
- data/.ruby-version +1 -1
- data/.travis.yml +2 -0
- data/CHANGELOG.md +7 -3
- data/README.md +4 -4
- data/bin/generate_sandbox_fixtures +2 -1
- data/exe/vantiv-certify-app +9 -30
- data/lib/vantiv.rb +17 -4
- data/lib/vantiv/api/address.rb +9 -2
- data/lib/vantiv/api/live_transaction_response.rb +4 -0
- data/lib/vantiv/api/request.rb +14 -8
- data/lib/vantiv/api/request_body.rb +6 -3
- data/lib/vantiv/api/response.rb +6 -6
- data/lib/vantiv/api/response_body.rb +13 -4
- data/lib/vantiv/api/transaction.rb +22 -4
- data/lib/vantiv/api/transaction_request_representer_xml.rb +4 -0
- data/lib/vantiv/api/transaction_response.rb +22 -3
- data/lib/vantiv/api/transaction_response_representer.rb +2 -0
- data/lib/vantiv/api/transaction_response_representer_xml.rb +2 -0
- data/lib/vantiv/certification/paypage_driver.rb +7 -1
- data/lib/vantiv/certification/views/index.html.erb +1 -1
- data/lib/vantiv/environment.rb +10 -5
- data/lib/vantiv/mocked_sandbox/api_request.rb +0 -2
- data/lib/vantiv/mocked_sandbox/fixture_generator.rb +11 -0
- data/lib/vantiv/mocked_sandbox/fixtures/auth--4457000300000007.json +8 -11
- data/lib/vantiv/mocked_sandbox/fixtures/auth--4457000301100004.json +8 -11
- data/lib/vantiv/mocked_sandbox/fixtures/auth--4457002100000005.json +7 -10
- data/lib/vantiv/mocked_sandbox/fixtures/auth--4457010000000009.json +7 -10
- data/lib/vantiv/mocked_sandbox/fixtures/auth--5112000101110009.json +8 -11
- data/lib/vantiv/mocked_sandbox/fixtures/auth--5112001600000006.json +7 -10
- data/lib/vantiv/mocked_sandbox/fixtures/auth--5112001900000003.json +7 -10
- data/lib/vantiv/mocked_sandbox/fixtures/auth_capture--4457000300000007.json +8 -11
- data/lib/vantiv/mocked_sandbox/fixtures/auth_capture--4457000301100004.json +8 -11
- data/lib/vantiv/mocked_sandbox/fixtures/auth_capture--4457002100000005.json +7 -10
- data/lib/vantiv/mocked_sandbox/fixtures/auth_capture--4457010000000009.json +7 -10
- data/lib/vantiv/mocked_sandbox/fixtures/auth_capture--5112000101110009.json +8 -11
- data/lib/vantiv/mocked_sandbox/fixtures/auth_capture--5112001600000006.json +7 -10
- data/lib/vantiv/mocked_sandbox/fixtures/auth_capture--5112001900000003.json +7 -10
- data/lib/vantiv/mocked_sandbox/fixtures/auth_reversal.json +6 -9
- data/lib/vantiv/mocked_sandbox/fixtures/capture.json +6 -9
- data/lib/vantiv/mocked_sandbox/fixtures/credit.json +6 -9
- data/lib/vantiv/mocked_sandbox/fixtures/refund--4457000300000007.json +6 -10
- data/lib/vantiv/mocked_sandbox/fixtures/refund--4457000301100004.json +6 -10
- data/lib/vantiv/mocked_sandbox/fixtures/refund--4457002100000005.json +6 -10
- data/lib/vantiv/mocked_sandbox/fixtures/refund--4457010000000009.json +6 -10
- data/lib/vantiv/mocked_sandbox/fixtures/refund--5112000101110009.json +6 -10
- data/lib/vantiv/mocked_sandbox/fixtures/refund--5112001600000006.json +6 -10
- data/lib/vantiv/mocked_sandbox/fixtures/refund--5112001900000003.json +6 -10
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize--RGFQNCt6U1d1M21SeVByVTM4dHlHb1FsVkUrSmpnWXhNY0o5UkMzRlZFanZiUHVnYjN1enJXbG1WSDF4aXlNc.json +5 -4
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize--account-updater-account-closed-token.json +20 -0
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize--account-updater-contact-cardholder-token.json +20 -0
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize--account-updater-token.json +20 -0
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize--expired-card-token.json +20 -0
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize--insufficient-funds-token.json +20 -0
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize--invalid-account-number-token.json +20 -0
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize--mocked-valid-temporary-token.json +6 -9
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize--pDZJcmd1VjNlYXNaSlRMTGpocVZQY1NWVXE4Z W5UTko4NU9KK3p1L1p1Vzg4YzVPQVlSUHNITG1 JN2I0Nzl.json +5 -4
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize--valid-account-token.json +20 -0
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457000300000007.json +6 -9
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457000301100004.json +6 -9
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457002100000005.json +6 -9
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457010000000009.json +6 -9
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457010010900010.json +6 -8
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--5112000101110009.json +6 -9
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--5112001600000006.json +6 -9
- data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--5112001900000003.json +6 -9
- data/lib/vantiv/mocked_sandbox/fixtures/void.json +6 -9
- data/lib/vantiv/mocked_sandbox/mocked_response_representer.rb +1 -0
- data/lib/vantiv/paypage.rb +17 -3
- data/lib/vantiv/response_code_map.rb +960 -0
- data/lib/vantiv/test_card.rb +73 -81
- data/lib/vantiv/version.rb +1 -1
- data/vantiv-ruby.gemspec +3 -2
- metadata +32 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 27ec337c20c24981d68ec39f5db4634e15b1cb62880f53fd167da6d5f86eae6e
|
|
4
|
+
data.tar.gz: 9f91b90c596a142aa211d85092405bf3a2fa3543f5ff95d8ecf538410ee816d8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 00bacdab79c33ef5bd48e8870f101c38c0a129c90e55b4975b16b5b3a8837bb9403fbd9992e89c2f46d13f917a342a02d7112105fb295ede8f942c949b972ddb
|
|
7
|
+
data.tar.gz: cb915f95ae7c5003369d01db7b8a026c614dd887d215b2aed7783b4c6314ebd4f40ec79b22faecfee8868b9c7c1f6bb41c07ffd10acf6842065ba15e59d5cd21
|
data/.gitignore
CHANGED
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.5.0
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
Vantiv Ruby Changes
|
|
2
|
+
|
|
3
|
+
master
|
|
4
|
+
-----------
|
|
5
|
+
- Update Vantiv XML version to 10.5
|
|
6
|
+
- Rename certiciation environment to precertification
|
|
7
|
+
- Add postcertification environment
|
|
8
|
+
|
|
2
9
|
1.0.0
|
|
3
10
|
-----------
|
|
4
11
|
- Breaking changes: replace deprecated DevHub API with XML API
|
|
@@ -8,7 +15,6 @@ Vantiv Ruby Changes
|
|
|
8
15
|
- Implement Apple Pay
|
|
9
16
|
- Implement Security Code (CVV) mismatch filtering
|
|
10
17
|
|
|
11
|
-
|
|
12
18
|
0.3.0
|
|
13
19
|
-----------
|
|
14
20
|
- Bug/fix: adds expiry arguments to the relevant methods when running the fixture generator
|
|
@@ -81,5 +87,3 @@ NOTE: API change occurs in this version bump on:
|
|
|
81
87
|
- Add script to run all Devhub certification environment validation tests
|
|
82
88
|
via script:
|
|
83
89
|
- Allows merchants to install gem and certify quickly, rather than manually
|
|
84
|
-
|
|
85
|
-
|
data/README.md
CHANGED
|
@@ -41,7 +41,7 @@ Vantiv requires merchants to certify their applications for usage with their API
|
|
|
41
41
|
To certify your application, run the following script:
|
|
42
42
|
|
|
43
43
|
```
|
|
44
|
-
$ bundle exec vantiv-certify-app
|
|
44
|
+
$ bundle exec vantiv-certify-app
|
|
45
45
|
```
|
|
46
46
|
|
|
47
47
|
A certs.txt file will be generated in the directory that the script is run, and then opened. It contains a list of XML Certification Order IDs and associated Transaction IDs, like follows:
|
|
@@ -57,7 +57,7 @@ AUTH_CAPTURE_2, transaction-id-for-AUTH_CAPTURE_2-here
|
|
|
57
57
|
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 `ACCOUNT_UPDATER`, you would filter by `ACCOUNT_UPDATER` like follows:
|
|
58
58
|
|
|
59
59
|
```
|
|
60
|
-
$ bundle exec vantiv-certify-app
|
|
60
|
+
$ bundle exec vantiv-certify-app --filter_by=ACCOUNT_UPDATER
|
|
61
61
|
```
|
|
62
62
|
|
|
63
63
|
|
|
@@ -106,7 +106,7 @@ To render the payframe, the merchant must include the payframe js file in the pa
|
|
|
106
106
|
# OR:
|
|
107
107
|
<%= javascript_include_tag Vantiv.payframe_js %>
|
|
108
108
|
# OR it can be hardcoded:
|
|
109
|
-
<script src="https://request
|
|
109
|
+
<script src="https://request.eprotect.vantivprelive.com/LitlePayPage/js/payframe-client.min.js" type="text/javascript"></script>
|
|
110
110
|
```
|
|
111
111
|
|
|
112
112
|
To initialize the payframe:
|
|
@@ -329,7 +329,7 @@ To use the gem in any non-production environment, set the client's environment t
|
|
|
329
329
|
|
|
330
330
|
```ruby
|
|
331
331
|
Vantiv.configure do |config|
|
|
332
|
-
config.environment = Vantiv::Environment::
|
|
332
|
+
config.environment = Vantiv::Environment::PRECERTIFICATION
|
|
333
333
|
end
|
|
334
334
|
```
|
|
335
335
|
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
|
|
3
3
|
require "vantiv"
|
|
4
|
+
require "vantiv/environment"
|
|
4
5
|
require "vantiv/mocked_sandbox/fixture_generator"
|
|
5
6
|
|
|
6
7
|
require "dotenv"
|
|
7
8
|
Dotenv.load
|
|
8
9
|
Vantiv.configure do |config|
|
|
9
|
-
config.environment = Vantiv::Environment::
|
|
10
|
+
config.environment = Vantiv::Environment::PRECERTIFICATION
|
|
10
11
|
config.merchant_id = ENV["MERCHANT_ID"]
|
|
11
12
|
config.default_order_source = "ecommerce"
|
|
12
13
|
config.paypage_id = ENV["PAYPAGE_ID"]
|
data/exe/vantiv-certify-app
CHANGED
|
@@ -6,23 +6,7 @@ require 'optparse'
|
|
|
6
6
|
|
|
7
7
|
options = {}
|
|
8
8
|
parser = OptionParser.new do |opts|
|
|
9
|
-
opts.banner = "Usage: vantiv-certify-app
|
|
10
|
-
|
|
11
|
-
opts.on("-a", "--merchant_id MERCHANT_ID", "Vantiv Merchant ID") do |merchant_id|
|
|
12
|
-
options[:merchant_id] = merchant_id
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
opts.on("-p", "--paypage_id PAYPAGE_ID", "Vantiv Paypage ID") do |paypage_id|
|
|
16
|
-
options[:paypage_id] = paypage_id
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
opts.on("-u", "--user VANTIV_USER", "Vantiv XML User") do |user|
|
|
20
|
-
options[:user] = user
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
opts.on("-w", "--password VANTIV_PASSWORD", "Vantiv XML Password") do |password|
|
|
24
|
-
options[:password] = password
|
|
25
|
-
end
|
|
9
|
+
opts.banner = "Usage: vantiv-certify-app [--filter_by <test_name>]"
|
|
26
10
|
|
|
27
11
|
opts.on("--filter_by [TEST_NAME]", "Filter which certifications to run") do |filter|
|
|
28
12
|
options[:filter_by] = filter
|
|
@@ -31,26 +15,21 @@ end
|
|
|
31
15
|
|
|
32
16
|
parser.parse!
|
|
33
17
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if missing_arguments.any?
|
|
38
|
-
puts "Missing options: #{missing_arguments.join(", ")}"
|
|
39
|
-
puts parser.banner
|
|
40
|
-
exit
|
|
41
|
-
end
|
|
42
|
-
|
|
18
|
+
require "dotenv"
|
|
19
|
+
Dotenv.load
|
|
43
20
|
Vantiv.configure do |config|
|
|
44
|
-
config.merchant_id = options.fetch(:merchant_id)
|
|
45
|
-
config.paypage_id = options.fetch(:paypage_id)
|
|
46
21
|
config.environment = Vantiv::Environment::CERTIFICATION
|
|
22
|
+
config.merchant_id = ENV["MERCHANT_ID"]
|
|
23
|
+
config.default_order_source = "ecommerce"
|
|
24
|
+
config.paypage_id = ENV["PAYPAGE_ID"]
|
|
47
25
|
|
|
48
|
-
config.user =
|
|
49
|
-
config.password =
|
|
26
|
+
config.user = ENV["VANTIV_USER"]
|
|
27
|
+
config.password = ENV["VANTIV_PASSWORD"]
|
|
50
28
|
|
|
51
29
|
config.default_report_group = '1'
|
|
52
30
|
end
|
|
53
31
|
|
|
32
|
+
|
|
54
33
|
Vantiv::Certification::ValidationTestRunner.run(
|
|
55
34
|
save_to: "certs.txt",
|
|
56
35
|
filter_by: options[:filter_by]
|
data/lib/vantiv.rb
CHANGED
|
@@ -7,6 +7,7 @@ require 'vantiv/test_card'
|
|
|
7
7
|
require 'vantiv/test_temporary_token'
|
|
8
8
|
require 'vantiv/environment'
|
|
9
9
|
require 'vantiv/mocked_sandbox'
|
|
10
|
+
require 'vantiv/response_code_map'
|
|
10
11
|
require 'vantiv/paypage'
|
|
11
12
|
|
|
12
13
|
module Vantiv
|
|
@@ -42,7 +43,8 @@ module Vantiv
|
|
|
42
43
|
|
|
43
44
|
def self.auth(amount:, payment_account_id:, customer_id:, order_id:, expiry_month:, expiry_year:,
|
|
44
45
|
order_source: Vantiv.default_order_source, use_temporarily_stored_security_code: false,
|
|
45
|
-
online_payment_cryptogram: nil
|
|
46
|
+
online_payment_cryptogram: nil, original_network_transaction_id: nil, processing_type: nil,
|
|
47
|
+
original_transaction_amount: nil)
|
|
46
48
|
|
|
47
49
|
# RE use_temporarily_stored_security_code
|
|
48
50
|
# From XML Docs:
|
|
@@ -62,7 +64,10 @@ module Vantiv
|
|
|
62
64
|
expiry_year: expiry_year,
|
|
63
65
|
cvv: cvv,
|
|
64
66
|
order_source: order_source,
|
|
65
|
-
online_payment_cryptogram: online_payment_cryptogram
|
|
67
|
+
online_payment_cryptogram: online_payment_cryptogram,
|
|
68
|
+
original_network_transaction_id: original_network_transaction_id,
|
|
69
|
+
original_transaction_amount: original_transaction_amount,
|
|
70
|
+
processing_type: processing_type
|
|
66
71
|
)
|
|
67
72
|
Api::Request.new(
|
|
68
73
|
endpoint: Api::Endpoints::AUTHORIZATION,
|
|
@@ -99,7 +104,8 @@ module Vantiv
|
|
|
99
104
|
|
|
100
105
|
def self.auth_capture(amount:, payment_account_id:, customer_id:, order_id:,
|
|
101
106
|
expiry_month:, expiry_year:, order_source: Vantiv.default_order_source,
|
|
102
|
-
online_payment_cryptogram: nil
|
|
107
|
+
online_payment_cryptogram: nil, original_network_transaction_id: nil, processing_type: nil,
|
|
108
|
+
original_transaction_amount: nil)
|
|
103
109
|
body = Api::RequestBody.for_auth_or_sale(
|
|
104
110
|
amount: amount,
|
|
105
111
|
order_id: order_id,
|
|
@@ -108,7 +114,10 @@ module Vantiv
|
|
|
108
114
|
expiry_month: expiry_month,
|
|
109
115
|
expiry_year: expiry_year,
|
|
110
116
|
order_source: order_source,
|
|
111
|
-
online_payment_cryptogram: online_payment_cryptogram
|
|
117
|
+
online_payment_cryptogram: online_payment_cryptogram,
|
|
118
|
+
original_network_transaction_id: original_network_transaction_id,
|
|
119
|
+
original_transaction_amount: original_transaction_amount,
|
|
120
|
+
processing_type: processing_type
|
|
112
121
|
)
|
|
113
122
|
Api::Request.new(
|
|
114
123
|
endpoint: Api::Endpoints::SALE,
|
|
@@ -158,6 +167,10 @@ module Vantiv
|
|
|
158
167
|
).run
|
|
159
168
|
end
|
|
160
169
|
|
|
170
|
+
def self.get_error_description(code:)
|
|
171
|
+
ResponseCodeMap.get_error_description(code: code)
|
|
172
|
+
end
|
|
173
|
+
|
|
161
174
|
def self.configure
|
|
162
175
|
yield self
|
|
163
176
|
end
|
data/lib/vantiv/api/address.rb
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
module Vantiv
|
|
2
2
|
module Api
|
|
3
3
|
class Address
|
|
4
|
-
attr_accessor
|
|
5
|
-
|
|
4
|
+
attr_accessor *%i(
|
|
5
|
+
billing_address_1
|
|
6
|
+
billing_address_2
|
|
7
|
+
billing_city
|
|
8
|
+
billing_country
|
|
9
|
+
billing_name
|
|
10
|
+
billing_state
|
|
11
|
+
billing_zipcode
|
|
12
|
+
)
|
|
6
13
|
end
|
|
7
14
|
end
|
|
8
15
|
end
|
|
@@ -47,6 +47,10 @@ module Vantiv
|
|
|
47
47
|
litle_transaction_response.account_updater || AccountUpdaterResponse.new
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
+
def network_transaction_id
|
|
51
|
+
litle_transaction_response.network_transaction_id
|
|
52
|
+
end
|
|
53
|
+
|
|
50
54
|
private
|
|
51
55
|
def transaction_approved?
|
|
52
56
|
response_code == RESPONSE_CODES[:approved]
|
data/lib/vantiv/api/request.rb
CHANGED
|
@@ -26,7 +26,7 @@ module Vantiv
|
|
|
26
26
|
end
|
|
27
27
|
|
|
28
28
|
def run_request
|
|
29
|
-
http_response =
|
|
29
|
+
http_response = send_request(build_request)
|
|
30
30
|
populated_response(@response_object, http_response)
|
|
31
31
|
end
|
|
32
32
|
|
|
@@ -47,16 +47,20 @@ module Vantiv
|
|
|
47
47
|
populated_body.transaction.application_id = populated_body.application_id
|
|
48
48
|
|
|
49
49
|
populated_body.xmlns = "http://www.litle.com/schema"
|
|
50
|
-
populated_body.version = "10.
|
|
50
|
+
populated_body.version = "10.5"
|
|
51
51
|
|
|
52
52
|
populated_body
|
|
53
53
|
end
|
|
54
54
|
|
|
55
|
-
def
|
|
56
|
-
http = Net::HTTP.new(uri.host, uri.port)
|
|
57
|
-
http.use_ssl = true
|
|
55
|
+
def build_request
|
|
58
56
|
request = Net::HTTP::Post.new(uri.request_uri, header)
|
|
59
57
|
request.body = body.to_xml
|
|
58
|
+
request
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
def send_request(request)
|
|
62
|
+
http = Net::HTTP.new(uri.host, uri.port)
|
|
63
|
+
http.use_ssl = true
|
|
60
64
|
http.request(request)
|
|
61
65
|
end
|
|
62
66
|
|
|
@@ -72,9 +76,11 @@ module Vantiv
|
|
|
72
76
|
|
|
73
77
|
def root_uri
|
|
74
78
|
if Vantiv::Environment.production?
|
|
75
|
-
"https://transact.
|
|
76
|
-
elsif Vantiv::Environment.
|
|
77
|
-
"https://transact
|
|
79
|
+
"https://transact.vantivcnp.com"
|
|
80
|
+
elsif Vantiv::Environment.postcertification?
|
|
81
|
+
"https://transact.vantivpostlive.com"
|
|
82
|
+
elsif Vantiv::Environment.precertification?
|
|
83
|
+
"https://transact.vantivprelive.com"
|
|
78
84
|
end
|
|
79
85
|
end
|
|
80
86
|
|
|
@@ -40,8 +40,8 @@ module Vantiv
|
|
|
40
40
|
|
|
41
41
|
def self.for_auth_or_sale(amount:, customer_id:, order_id:, payment_account_id:,
|
|
42
42
|
expiry_month:, expiry_year:, cvv: nil, order_source: Vantiv.default_order_source,
|
|
43
|
-
online_payment_cryptogram: nil
|
|
44
|
-
|
|
43
|
+
online_payment_cryptogram: nil, original_network_transaction_id: nil,
|
|
44
|
+
processing_type: nil, original_transaction_amount: nil)
|
|
45
45
|
|
|
46
46
|
if online_payment_cryptogram
|
|
47
47
|
cardholder_authentication = CardholderAuthentication.new(
|
|
@@ -57,7 +57,10 @@ module Vantiv
|
|
|
57
57
|
customer_id: customer_id,
|
|
58
58
|
order_source: order_source,
|
|
59
59
|
partial_approved_flag: false,
|
|
60
|
-
cardholder_authentication: cardholder_authentication
|
|
60
|
+
cardholder_authentication: cardholder_authentication,
|
|
61
|
+
original_network_transaction_id: original_network_transaction_id,
|
|
62
|
+
processing_type: processing_type,
|
|
63
|
+
original_transaction_amount: original_transaction_amount
|
|
61
64
|
)
|
|
62
65
|
card = Card.new(
|
|
63
66
|
expiry_month: expiry_month,
|
data/lib/vantiv/api/response.rb
CHANGED
|
@@ -20,15 +20,15 @@ module Vantiv
|
|
|
20
20
|
private
|
|
21
21
|
|
|
22
22
|
def litle_response_has_error?
|
|
23
|
-
body.response
|
|
24
|
-
# NOTE: this kind of sucks, but at the commit point, the DevHub
|
|
25
|
-
# Api sometimes gives 200OK when litle had a parse issue and returns
|
|
26
|
-
# 'Error validating xml data...' instead of an actual error
|
|
27
|
-
!!body.body_message.match(/error/i)
|
|
23
|
+
body.response != "0" || !!body.body_message.match(/error/i)
|
|
28
24
|
end
|
|
29
25
|
|
|
30
26
|
def api_level_error_message
|
|
31
|
-
"API level error"
|
|
27
|
+
xml_validation_error? ? body.body_message : "API level error"
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def xml_validation_error?
|
|
31
|
+
body.response == "1"
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
attr_reader :transaction_response_name
|
|
@@ -3,10 +3,19 @@ module Vantiv
|
|
|
3
3
|
class ResponseBody
|
|
4
4
|
attr_writer :message, :response_code
|
|
5
5
|
|
|
6
|
-
attr_accessor
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
attr_accessor *%i(
|
|
7
|
+
body_message
|
|
8
|
+
request_id
|
|
9
|
+
response
|
|
10
|
+
version
|
|
11
|
+
auth_reversal_response
|
|
12
|
+
authorization_response
|
|
13
|
+
capture_response
|
|
14
|
+
credit_response
|
|
15
|
+
register_token_response
|
|
16
|
+
sale_response
|
|
17
|
+
void_response
|
|
18
|
+
)
|
|
10
19
|
end
|
|
11
20
|
end
|
|
12
21
|
end
|
|
@@ -1,12 +1,27 @@
|
|
|
1
1
|
module Vantiv
|
|
2
2
|
module Api
|
|
3
3
|
class Transaction
|
|
4
|
-
attr_accessor
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
attr_accessor *%i(
|
|
5
|
+
address
|
|
6
|
+
amount_in_cents
|
|
7
|
+
application_id
|
|
8
|
+
card
|
|
9
|
+
cardholder_authentication
|
|
10
|
+
customer_id
|
|
11
|
+
id
|
|
12
|
+
order_id
|
|
13
|
+
order_source
|
|
14
|
+
original_network_transaction_id
|
|
15
|
+
original_transaction_amount
|
|
16
|
+
partial_approved_flag
|
|
17
|
+
processing_type
|
|
18
|
+
report_group
|
|
19
|
+
type
|
|
20
|
+
)
|
|
7
21
|
|
|
8
22
|
def initialize(id: nil, amount_in_cents: nil, order_id: nil, customer_id: nil,
|
|
9
|
-
partial_approved_flag: nil, order_source: nil, cardholder_authentication: nil
|
|
23
|
+
partial_approved_flag: nil, order_source: nil, cardholder_authentication: nil,
|
|
24
|
+
original_network_transaction_id: nil, processing_type: nil, original_transaction_amount: nil)
|
|
10
25
|
@id = id
|
|
11
26
|
@amount_in_cents = amount_in_cents
|
|
12
27
|
@order_id = order_id
|
|
@@ -14,6 +29,9 @@ module Vantiv
|
|
|
14
29
|
@partial_approved_flag = partial_approved_flag
|
|
15
30
|
@order_source = order_source
|
|
16
31
|
@cardholder_authentication = cardholder_authentication
|
|
32
|
+
@original_network_transaction_id = original_network_transaction_id
|
|
33
|
+
@processing_type = processing_type
|
|
34
|
+
@original_transaction_amount = original_transaction_amount
|
|
17
35
|
end
|
|
18
36
|
|
|
19
37
|
def amount
|
|
@@ -54,4 +54,8 @@ class TransactionRequestRepresenterXml < Representable::Decorator
|
|
|
54
54
|
end
|
|
55
55
|
|
|
56
56
|
property :partial_approved_flag, as: :allowPartialAuth
|
|
57
|
+
|
|
58
|
+
property :processing_type, as: :processingType
|
|
59
|
+
property :original_network_transaction_id, as: :originalNetworkTransactionId
|
|
60
|
+
property :original_transaction_amount, as: :originalTransactionAmount
|
|
57
61
|
end
|
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
module Vantiv
|
|
2
2
|
module Api
|
|
3
3
|
class TransactionResponse
|
|
4
|
-
attr_accessor
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
attr_accessor *%i(
|
|
5
|
+
account_updater
|
|
6
|
+
apple_pay_response
|
|
7
|
+
auth_code
|
|
8
|
+
bin
|
|
9
|
+
customer_id
|
|
10
|
+
fraud_result
|
|
11
|
+
id
|
|
12
|
+
message
|
|
13
|
+
network_transaction_id
|
|
14
|
+
order_id
|
|
15
|
+
payment_account_id
|
|
16
|
+
post_date
|
|
17
|
+
report_group
|
|
18
|
+
response_code
|
|
19
|
+
response_time
|
|
20
|
+
token_message
|
|
21
|
+
token_response
|
|
22
|
+
token_response_code
|
|
23
|
+
transaction_id
|
|
24
|
+
type
|
|
25
|
+
)
|
|
7
26
|
end
|
|
8
27
|
end
|
|
9
28
|
end
|