vantiv 0.3.0 → 1.0.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.
Files changed (220) hide show
  1. checksums.yaml +4 -4
  2. data/.codeclimate.yml +16 -0
  3. data/.env.example +4 -2
  4. data/.rubocop.yml +1157 -0
  5. data/.ruby-version +1 -1
  6. data/CHANGELOG.md +10 -0
  7. data/README.md +42 -29
  8. data/bin/console +5 -3
  9. data/bin/generate_sandbox_fixtures +5 -3
  10. data/bin/paypage_server +5 -3
  11. data/cert_fixtures/{L_AU_1.json → ACCOUNT_UPDATER_100.json} +0 -0
  12. data/cert_fixtures/{L_AU_3.json → ACCOUNT_UPDATER_100A.json} +0 -0
  13. data/cert_fixtures/{L_AU_7.json → ACCOUNT_UPDATER_100B.json} +1 -1
  14. data/cert_fixtures/{L_AU_2.json → ACCOUNT_UPDATER_101.json} +0 -0
  15. data/cert_fixtures/{L_AU_4.json → ACCOUNT_UPDATER_101A.json} +0 -0
  16. data/cert_fixtures/{L_AU_5.json → ACCOUNT_UPDATER_102.json} +0 -0
  17. data/cert_fixtures/{L_AU_6.json → ACCOUNT_UPDATER_103.json} +0 -0
  18. data/cert_fixtures/{L_AC_1.json → AUTH_CAPTURE_1.json} +0 -0
  19. data/cert_fixtures/AUTH_CAPTURE_1A.json +8 -0
  20. data/cert_fixtures/{L_AC_2.json → AUTH_CAPTURE_2.json} +0 -0
  21. data/cert_fixtures/AUTH_CAPTURE_2A.json +8 -0
  22. data/cert_fixtures/{L_AC_3.json → AUTH_CAPTURE_3.json} +0 -0
  23. data/cert_fixtures/AUTH_CAPTURE_3A.json +8 -0
  24. data/cert_fixtures/{L_AC_4.json → AUTH_CAPTURE_4.json} +0 -0
  25. data/cert_fixtures/AUTH_CAPTURE_4A.json +8 -0
  26. data/cert_fixtures/{L_AC_5.json → AUTH_CAPTURE_5.json} +0 -0
  27. data/cert_fixtures/AUTH_CAPTURE_5A.json +8 -0
  28. data/cert_fixtures/{L_AC_6.json → AUTH_CAPTURE_6.json} +0 -0
  29. data/cert_fixtures/{L_AC_7.json → AUTH_CAPTURE_7.json} +0 -0
  30. data/cert_fixtures/{L_AC_8.json → AUTH_CAPTURE_8.json} +0 -0
  31. data/cert_fixtures/{L_AC_9.json → AUTH_CAPTURE_9.json} +0 -0
  32. data/cert_fixtures/{L_AR_1.json → AUTH_REVERSAL_32.json} +0 -0
  33. data/cert_fixtures/{L_AR_1A.json → AUTH_REVERSAL_32A.json} +1 -1
  34. data/cert_fixtures/AUTH_REVERSAL_32B.json +8 -0
  35. data/cert_fixtures/{L_AR_2.json → AUTH_REVERSAL_33.json} +0 -0
  36. data/cert_fixtures/AUTH_REVERSAL_33A.json +8 -0
  37. data/cert_fixtures/{L_AR_3.json → AUTH_REVERSAL_34.json} +0 -0
  38. data/cert_fixtures/AUTH_REVERSAL_34A.json +8 -0
  39. data/cert_fixtures/{L_AR_4.json → AUTH_REVERSAL_35.json} +0 -0
  40. data/cert_fixtures/{L_AR_4A.json → AUTH_REVERSAL_35A.json} +1 -1
  41. data/cert_fixtures/{L_AR_4B.json → AUTH_REVERSAL_35B.json} +1 -1
  42. data/cert_fixtures/{L_AR_5.json → AUTH_REVERSAL_36.json} +0 -0
  43. data/cert_fixtures/{L_AR_5A.json → AUTH_REVERSAL_36A.json} +1 -1
  44. data/cert_fixtures/{L_RC_1.json → CREDIT_1.json} +0 -0
  45. data/cert_fixtures/CREDIT_1A.json +8 -0
  46. data/cert_fixtures/CREDIT_1B.json +8 -0
  47. data/cert_fixtures/{L_RC_2.json → CREDIT_2.json} +0 -0
  48. data/cert_fixtures/CREDIT_2A.json +8 -0
  49. data/cert_fixtures/CREDIT_2B.json +8 -0
  50. data/cert_fixtures/{L_RC_3.json → CREDIT_3.json} +0 -0
  51. data/cert_fixtures/CREDIT_3A.json +8 -0
  52. data/cert_fixtures/CREDIT_3B.json +8 -0
  53. data/cert_fixtures/{L_RC_4.json → CREDIT_4.json} +0 -0
  54. data/cert_fixtures/CREDIT_4A.json +8 -0
  55. data/cert_fixtures/CREDIT_4B.json +8 -0
  56. data/cert_fixtures/{L_RC_5.json → CREDIT_5.json} +0 -0
  57. data/cert_fixtures/CREDIT_5A.json +8 -0
  58. data/cert_fixtures/CREDIT_5B.json +8 -0
  59. data/cert_fixtures/{L_RC_6.json → SALE_1.json} +0 -0
  60. data/cert_fixtures/{L_S_2.json → SALE_2.json} +0 -0
  61. data/cert_fixtures/{L_S_3.json → SALE_3.json} +0 -0
  62. data/cert_fixtures/{L_S_4.json → SALE_4.json} +0 -0
  63. data/cert_fixtures/{L_S_5.json → SALE_5.json} +0 -0
  64. data/cert_fixtures/{L_S_6.json → SALE_6.json} +0 -0
  65. data/cert_fixtures/{L_S_7.json → SALE_7.json} +0 -0
  66. data/cert_fixtures/{L_S_8.json → SALE_8.json} +0 -0
  67. data/cert_fixtures/{L_S_9.json → SALE_9.json} +0 -0
  68. data/cert_fixtures/{L_S_1.json → SECURITY_CODE_FILTER_R1.json} +9 -9
  69. data/cert_fixtures/SECURITY_CODE_FILTER_R2.json +27 -0
  70. data/cert_fixtures/{L_T_1.json → TOKENIZATION_1.json} +0 -0
  71. data/cert_fixtures/{L_T_10.json → TOKENIZATION_10.json} +0 -0
  72. data/cert_fixtures/{L_T_11.json → TOKENIZATION_11.json} +0 -0
  73. data/cert_fixtures/{L_T_2.json → TOKENIZATION_2.json} +0 -0
  74. data/cert_fixtures/{L_T_3.json → TOKENIZATION_3.json} +0 -0
  75. data/cert_fixtures/{L_T_4.json → TOKENIZATION_4.json} +0 -0
  76. data/cert_fixtures/{L_T_6.json → TOKENIZATION_6.json} +0 -0
  77. data/cert_fixtures/{L_T_7.json → TOKENIZATION_7.json} +0 -0
  78. data/cert_fixtures/{L_T_8.json → TOKENIZATION_8.json} +0 -0
  79. data/cert_fixtures/{L_T_9.json → TOKENIZATION_9.json} +1 -1
  80. data/cert_fixtures/{L_V_1.json → VOID_1.json} +0 -0
  81. data/cert_fixtures/VOID_1A.json +8 -0
  82. data/cert_fixtures/VOID_1B.json +8 -0
  83. data/cert_fixtures/VOID_1C.json +8 -0
  84. data/cert_fixtures/{L_V_2.json → VOID_2.json} +0 -0
  85. data/cert_fixtures/VOID_2A.json +8 -0
  86. data/cert_fixtures/{L_V_3.json → VOID_3.json} +0 -0
  87. data/cert_fixtures/VOID_3A.json +8 -0
  88. data/cert_fixtures/{L_V_4.json → VOID_4.json} +0 -0
  89. data/cert_fixtures/VOID_4A.json +8 -0
  90. data/cert_fixtures/{L_EP_1.json → ePROTECT_1.json} +0 -0
  91. data/cert_fixtures/{L_EP_2.json → ePROTECT_2.json} +0 -0
  92. data/cert_fixtures/{L_EP_3.json → ePROTECT_3.json} +0 -0
  93. data/cert_fixtures/{L_EP_4.json → ePROTECT_4.json} +1 -1
  94. data/cert_fixtures/{L_EP_5.json → ePROTECT_5.json} +1 -1
  95. data/cert_fixtures/{L_EP_6.json → ePROTECT_6.json} +0 -0
  96. data/cert_fixtures/{L_EP_7.json → ePROTECT_7.json} +0 -0
  97. data/exe/vantiv-certify-app +18 -12
  98. data/lib/monkey_patches/representable/xml.rb +12 -0
  99. data/lib/vantiv.rb +39 -14
  100. data/lib/vantiv/api.rb +13 -1
  101. data/lib/vantiv/api/account_updater_response.rb +24 -29
  102. data/lib/vantiv/api/address.rb +8 -0
  103. data/lib/vantiv/api/apple_pay_response.rb +9 -0
  104. data/lib/vantiv/api/capture_response.rb +1 -1
  105. data/lib/vantiv/api/card.rb +47 -0
  106. data/lib/vantiv/api/cardholder_authentication.rb +11 -0
  107. data/lib/vantiv/api/fraud_result.rb +7 -0
  108. data/lib/vantiv/api/live_transaction_response.rb +4 -5
  109. data/lib/vantiv/api/payment_account.rb +11 -0
  110. data/lib/vantiv/api/request.rb +72 -33
  111. data/lib/vantiv/api/request_body.rb +100 -97
  112. data/lib/vantiv/api/request_body_representer.rb +54 -0
  113. data/lib/vantiv/api/request_body_representer_xml.rb +19 -0
  114. data/lib/vantiv/api/response.rb +9 -29
  115. data/lib/vantiv/api/response_body.rb +12 -0
  116. data/lib/vantiv/api/response_body_representer.rb +23 -0
  117. data/lib/vantiv/api/response_body_representer_xml.rb +25 -0
  118. data/lib/vantiv/api/tied_transaction_response.rb +5 -5
  119. data/lib/vantiv/api/tokenization_response.rb +15 -9
  120. data/lib/vantiv/api/transaction.rb +42 -0
  121. data/lib/vantiv/api/transaction_request_representer_xml.rb +57 -0
  122. data/lib/vantiv/api/transaction_response.rb +9 -0
  123. data/lib/vantiv/api/transaction_response_representer.rb +64 -0
  124. data/lib/vantiv/api/transaction_response_representer_xml.rb +54 -0
  125. data/lib/vantiv/certification/paypage_server.rb +13 -2
  126. data/lib/vantiv/certification/response_cache.rb +4 -12
  127. data/lib/vantiv/certification/validation_test_runner.rb +29 -10
  128. data/lib/vantiv/mocked_sandbox.rb +3 -2
  129. data/lib/vantiv/mocked_sandbox/api_request.rb +56 -27
  130. data/lib/vantiv/mocked_sandbox/fixture_generator.rb +56 -50
  131. data/lib/vantiv/mocked_sandbox/fixtures/{auth--4457000300000007.json.erb → auth--4457000300000007.json} +18 -16
  132. data/lib/vantiv/mocked_sandbox/fixtures/{auth--4457000301100004.json.erb → auth--4457000301100004.json} +16 -14
  133. data/lib/vantiv/mocked_sandbox/fixtures/{auth--4457002100000005.json.erb → auth--4457002100000005.json} +10 -10
  134. data/lib/vantiv/mocked_sandbox/fixtures/{auth--4457010000000009.json.erb → auth--4457010000000009.json} +11 -11
  135. data/lib/vantiv/mocked_sandbox/fixtures/{auth--5112000101110009.json.erb → auth--5112000101110009.json} +16 -16
  136. data/lib/vantiv/mocked_sandbox/fixtures/{auth--5112001600000006.json.erb → auth--5112001600000006.json} +10 -10
  137. data/lib/vantiv/mocked_sandbox/fixtures/{auth--5112001900000003.json.erb → auth--5112001900000003.json} +10 -10
  138. data/lib/vantiv/mocked_sandbox/fixtures/{auth_capture--4457000300000007.json.erb → auth_capture--4457000300000007.json} +18 -16
  139. data/lib/vantiv/mocked_sandbox/fixtures/{auth_capture--4457000301100004.json.erb → auth_capture--4457000301100004.json} +16 -14
  140. data/lib/vantiv/mocked_sandbox/fixtures/{auth_capture--4457002100000005.json.erb → auth_capture--4457002100000005.json} +10 -10
  141. data/lib/vantiv/mocked_sandbox/fixtures/{auth_capture--4457010000000009.json.erb → auth_capture--4457010000000009.json} +11 -11
  142. data/lib/vantiv/mocked_sandbox/fixtures/{auth_capture--5112000101110009.json.erb → auth_capture--5112000101110009.json} +16 -16
  143. data/lib/vantiv/mocked_sandbox/fixtures/{auth_capture--5112001600000006.json.erb → auth_capture--5112001600000006.json} +10 -10
  144. data/lib/vantiv/mocked_sandbox/fixtures/{auth_capture--5112001900000003.json.erb → auth_capture--5112001900000003.json} +10 -10
  145. data/lib/vantiv/mocked_sandbox/fixtures/auth_reversal.json +21 -0
  146. data/lib/vantiv/mocked_sandbox/fixtures/capture.json +21 -0
  147. data/lib/vantiv/mocked_sandbox/fixtures/credit.json +21 -0
  148. data/lib/vantiv/mocked_sandbox/fixtures/refund--4457000300000007.json +22 -0
  149. data/lib/vantiv/mocked_sandbox/fixtures/refund--4457000301100004.json +22 -0
  150. data/lib/vantiv/mocked_sandbox/fixtures/refund--4457002100000005.json +22 -0
  151. data/lib/vantiv/mocked_sandbox/fixtures/refund--4457010000000009.json +22 -0
  152. data/lib/vantiv/mocked_sandbox/fixtures/refund--5112000101110009.json +22 -0
  153. data/lib/vantiv/mocked_sandbox/fixtures/refund--5112001600000006.json +22 -0
  154. data/lib/vantiv/mocked_sandbox/fixtures/refund--5112001900000003.json +22 -0
  155. data/lib/vantiv/mocked_sandbox/fixtures/tokenize--RGFQNCt6U1d1M21SeVByVTM4dHlHb1FsVkUrSmpnWXhNY0o5UkMzRlZFanZiUHVnYjN1enJXbG1WSDF4aXlNc.json +17 -0
  156. data/lib/vantiv/mocked_sandbox/fixtures/tokenize--mocked-valid-temporary-token.json +23 -0
  157. data/lib/vantiv/mocked_sandbox/fixtures/tokenize--pDZJcmd1VjNlYXNaSlRMTGpocVZQY1NWVXE4Z W5UTko4NU9KK3p1L1p1Vzg4YzVPQVlSUHNITG1 JN2I0Nzl.json +17 -0
  158. data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457000300000007.json +23 -0
  159. data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457000301100004.json +23 -0
  160. data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457002100000005.json +23 -0
  161. data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457010000000009.json +23 -0
  162. data/lib/vantiv/mocked_sandbox/fixtures/{tokenize_by_direct_post--4457010010900010.json.erb → tokenize_by_direct_post--4457010010900010.json} +8 -8
  163. data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--5112000101110009.json +23 -0
  164. data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--5112001600000006.json +23 -0
  165. data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--5112001900000003.json +23 -0
  166. data/lib/vantiv/mocked_sandbox/fixtures/void.json +21 -0
  167. data/lib/vantiv/mocked_sandbox/mocked_response_representer.rb +11 -0
  168. data/lib/vantiv/paypage.rb +5 -1
  169. data/lib/vantiv/test_temporary_token.rb +20 -0
  170. data/lib/vantiv/version.rb +1 -1
  171. data/vantiv-ruby.gemspec +5 -1
  172. metadata +191 -129
  173. data/cert_fixtures/L_AC_1A.json +0 -8
  174. data/cert_fixtures/L_AC_2A.json +0 -8
  175. data/cert_fixtures/L_AC_3A.json +0 -8
  176. data/cert_fixtures/L_AC_4A.json +0 -8
  177. data/cert_fixtures/L_AC_5A.json +0 -8
  178. data/cert_fixtures/L_AR_1B.json +0 -8
  179. data/cert_fixtures/L_AR_2A.json +0 -8
  180. data/cert_fixtures/L_AR_3A.json +0 -8
  181. data/cert_fixtures/L_RC_1A.json +0 -8
  182. data/cert_fixtures/L_RC_1B.json +0 -8
  183. data/cert_fixtures/L_RC_2A.json +0 -8
  184. data/cert_fixtures/L_RC_2B.json +0 -8
  185. data/cert_fixtures/L_RC_3A.json +0 -8
  186. data/cert_fixtures/L_RC_3B.json +0 -8
  187. data/cert_fixtures/L_RC_4A.json +0 -8
  188. data/cert_fixtures/L_RC_4B.json +0 -8
  189. data/cert_fixtures/L_RC_5A.json +0 -8
  190. data/cert_fixtures/L_RC_5B.json +0 -8
  191. data/cert_fixtures/L_RC_6A.json +0 -8
  192. data/cert_fixtures/L_RC_7.json +0 -26
  193. data/cert_fixtures/L_RC_7A.json +0 -8
  194. data/cert_fixtures/L_RC_8.json +0 -18
  195. data/cert_fixtures/L_V_1A.json +0 -8
  196. data/cert_fixtures/L_V_1B.json +0 -8
  197. data/cert_fixtures/L_V_1C.json +0 -8
  198. data/cert_fixtures/L_V_2A.json +0 -8
  199. data/cert_fixtures/L_V_3A.json +0 -8
  200. data/cert_fixtures/L_V_4A.json +0 -8
  201. data/lib/vantiv/api/request_body_generator.rb +0 -43
  202. data/lib/vantiv/mocked_sandbox/dynamic_response_body.rb +0 -40
  203. data/lib/vantiv/mocked_sandbox/fixtures/auth_reversal.json.erb +0 -21
  204. data/lib/vantiv/mocked_sandbox/fixtures/capture.json.erb +0 -21
  205. data/lib/vantiv/mocked_sandbox/fixtures/credit.json.erb +0 -21
  206. data/lib/vantiv/mocked_sandbox/fixtures/refund--4457000300000007.json.erb +0 -22
  207. data/lib/vantiv/mocked_sandbox/fixtures/refund--4457000301100004.json.erb +0 -22
  208. data/lib/vantiv/mocked_sandbox/fixtures/refund--4457002100000005.json.erb +0 -22
  209. data/lib/vantiv/mocked_sandbox/fixtures/refund--4457010000000009.json.erb +0 -22
  210. data/lib/vantiv/mocked_sandbox/fixtures/refund--5112000101110009.json.erb +0 -22
  211. data/lib/vantiv/mocked_sandbox/fixtures/refund--5112001600000006.json.erb +0 -22
  212. data/lib/vantiv/mocked_sandbox/fixtures/refund--5112001900000003.json.erb +0 -22
  213. data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457000300000007.json.erb +0 -23
  214. data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457000301100004.json.erb +0 -23
  215. data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457002100000005.json.erb +0 -23
  216. data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--4457010000000009.json.erb +0 -23
  217. data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--5112000101110009.json.erb +0 -23
  218. data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--5112001600000006.json.erb +0 -23
  219. data/lib/vantiv/mocked_sandbox/fixtures/tokenize_by_direct_post--5112001900000003.json.erb +0 -23
  220. data/lib/vantiv/mocked_sandbox/fixtures/void.json.erb +0 -21
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CAPTURE",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_AC_1.litleOnlineResponse.authorizationResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CAPTURE",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_AC_2.litleOnlineResponse.authorizationResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CAPTURE",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_AC_3.litleOnlineResponse.authorizationResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CAPTURE",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_AC_4.litleOnlineResponse.authorizationResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CAPTURE",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_AC_5.litleOnlineResponse.authorizationResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "AUTH_REVERSAL",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_AR_1.litleOnlineResponse.authorizationResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "AUTH_REVERSAL",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_AR_2.litleOnlineResponse.authorizationResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "AUTH_REVERSAL",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_AR_3.litleOnlineResponse.authorizationResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CAPTURE",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_RC_1.litleOnlineResponse.authorizationResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CREDIT",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_RC_1A.litleOnlineResponse.captureResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CAPTURE",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_RC_2.litleOnlineResponse.authorizationResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CREDIT",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_RC_2A.litleOnlineResponse.captureResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CAPTURE",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_RC_3.litleOnlineResponse.authorizationResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CREDIT",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_RC_3A.litleOnlineResponse.captureResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CAPTURE",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_RC_4.litleOnlineResponse.authorizationResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CREDIT",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_RC_4A.litleOnlineResponse.captureResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CAPTURE",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_RC_5.litleOnlineResponse.authorizationResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CREDIT",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_RC_5A.litleOnlineResponse.captureResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CREDIT",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_RC_6.litleOnlineResponse.saleResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,26 +0,0 @@
1
- {
2
- "endpoint": "SALE",
3
- "body": {
4
- "Transaction": {
5
- "ReferenceNumber": "1",
6
- "TransactionAmount": "101.00",
7
- "OrderSource": "ecommerce",
8
- "CustomerID": "345"
9
- },
10
- "Card": {
11
- "Type": "MC",
12
- "CardNumber": "5112010000000003",
13
- "ExpirationMonth": "01",
14
- "ExpirationYear": "16",
15
- "CVV": "349"
16
- },
17
- "Address": {
18
- "BillingName": "John & Mary Smith",
19
- "BillingAddress1": "1 Main St.",
20
- "BillingCity": "Burlington",
21
- "BillingState": "MA",
22
- "BillingZipcode": "01803-3747",
23
- "BillingCountry": "US"
24
- }
25
- }
26
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CREDIT",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_RC_7.litleOnlineResponse.saleResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,18 +0,0 @@
1
- {
2
- "endpoint": "RETURN",
3
- "body": {
4
- "Transaction": {
5
- "TransactionAmount": "101.00",
6
- "ReferenceNumber": "12345",
7
- "OrderSource": "ecommerce",
8
- "CustomerID": "123"
9
- },
10
- "Card": {
11
- "CardNumber": "4457010000000009",
12
- "CVV": "349",
13
- "ExpirationMonth": "01",
14
- "ExpirationYear": "16",
15
- "Type": "VI"
16
- }
17
- }
18
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CAPTURE",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_V_1.litleOnlineResponse.authorizationResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "CREDIT",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_V_1A.litleOnlineResponse.captureResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "VOID",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_V_1B.litleOnlineResponse.creditResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "VOID",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_V_2.litleOnlineResponse.saleResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "VOID",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_V_3.litleOnlineResponse.creditResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,8 +0,0 @@
1
- {
2
- "endpoint": "VOID",
3
- "body": {
4
- "Transaction": {
5
- "TransactionID": "#{L_V_4.litleOnlineResponse.saleResponse.TransactionID}"
6
- }
7
- }
8
- }
@@ -1,43 +0,0 @@
1
- require 'securerandom'
2
-
3
- module Vantiv
4
- module Api
5
- class RequestBodyGenerator
6
- def self.run(*args)
7
- new(*args).run
8
- end
9
-
10
- def initialize(*args)
11
- @body_parts = args
12
- end
13
-
14
- def run
15
- body = request_body_base
16
- body_parts.each do |body_part|
17
- body.merge!(body_part)
18
- end
19
- body
20
- end
21
-
22
- private
23
-
24
- attr_accessor :body_parts
25
-
26
- def request_body_base
27
- {
28
- "Credentials" => {
29
- "AcceptorID" => Vantiv.acceptor_id
30
- },
31
- "Reports" => {
32
- # NOTE: this is required by vantiv, so a default is left here.
33
- # If a user wants to use this Vantiv feature, it can be made dynamic.
34
- "ReportGroup" => Vantiv.default_report_group
35
- },
36
- "Application" => {
37
- "ApplicationID" => SecureRandom.hex(12)
38
- }
39
- }
40
- end
41
- end
42
- end
43
- end
@@ -1,40 +0,0 @@
1
- module Vantiv
2
- module MockedSandbox
3
- class DynamicResponseBody
4
- def self.generate(body:, litle_txn_name:, mocked_payment_account_id: nil)
5
- new(body, litle_txn_name, mocked_payment_account_id).run
6
- end
7
-
8
- def initialize(body, litle_txn_name, mocked_payment_account_id)
9
- @body = body
10
- @litle_txn_name = litle_txn_name
11
- @mocked_payment_account_id = mocked_payment_account_id
12
- end
13
-
14
- def run
15
- litle_transaction_response["@reportGroup"] = "<%= Vantiv.default_report_group %>"
16
- litle_transaction_response["responseTime"] = "<%= Time.now.strftime('%FT%T') %>"
17
- litle_transaction_response["TransactionID"] = "<%= rand(10**17) %>"
18
- if litle_transaction_response["PaymentAccountID"]
19
- litle_transaction_response["PaymentAccountID"] = mocked_payment_account_id
20
- end
21
- if litle_transaction_response["postDate"]
22
- litle_transaction_response["postDate"] = "<%= Time.now.strftime('%F') %>"
23
- end
24
- dynamic_body
25
- end
26
-
27
- private
28
-
29
- attr_reader :body, :litle_txn_name, :mocked_payment_account_id
30
-
31
- def litle_transaction_response
32
- dynamic_body["litleOnlineResponse"][litle_txn_name]
33
- end
34
-
35
- def dynamic_body
36
- @dynamic_body ||= body.dup
37
- end
38
- end
39
- end
40
- end
@@ -1,21 +0,0 @@
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
- "authReversalResponse": {
10
- "@id": "4fbee5b88cb1671134f9c9a2",
11
- "@reportGroup": "<%= Vantiv.default_report_group %>",
12
- "response": "001",
13
- "responseTime": "<%= Time.now.strftime('%FT%T') %>",
14
- "postDate": "<%= Time.now.strftime('%F') %>",
15
- "message": "Transaction Received",
16
- "TransactionID": "<%= rand(10**17) %>"
17
- }
18
- },
19
- "RequestID": "5c3a93a0-885d-4388-ac12-cb40464e7ba8"
20
- }
21
- }
@@ -1,21 +0,0 @@
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
- "captureResponse": {
10
- "@id": "2a265fdb9a2b821d62ad4265",
11
- "@reportGroup": "<%= Vantiv.default_report_group %>",
12
- "response": "001",
13
- "responseTime": "<%= Time.now.strftime('%FT%T') %>",
14
- "postDate": "<%= Time.now.strftime('%F') %>",
15
- "message": "Transaction Received",
16
- "TransactionID": "<%= rand(10**17) %>"
17
- }
18
- },
19
- "RequestID": "4112af2e-320c-4f6d-e193-dfa733b329e8"
20
- }
21
- }
@@ -1,21 +0,0 @@
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": "f7a0e51169ee434d38320e03",
11
- "@reportGroup": "<%= Vantiv.default_report_group %>",
12
- "response": "001",
13
- "responseTime": "<%= Time.now.strftime('%FT%T') %>",
14
- "postDate": "<%= Time.now.strftime('%F') %>",
15
- "message": "Transaction Received",
16
- "TransactionID": "<%= rand(10**17) %>"
17
- }
18
- },
19
- "RequestID": "eb495ea5-b0aa-41bb-d936-52aa46306024"
20
- }
21
- }