fortis-apimatic-sdk 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 (738) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +197 -0
  4. data/bin/console +15 -0
  5. data/lib/fortis_api/api_helper.rb +10 -0
  6. data/lib/fortis_api/client.rb +274 -0
  7. data/lib/fortis_api/configuration.rb +192 -0
  8. data/lib/fortis_api/controllers/apple_pay_validate_merchant_controller.rb +35 -0
  9. data/lib/fortis_api/controllers/async_processing_controller.rb +32 -0
  10. data/lib/fortis_api/controllers/base_controller.rb +60 -0
  11. data/lib/fortis_api/controllers/batches_controller.rb +103 -0
  12. data/lib/fortis_api/controllers/contacts_controller.rb +242 -0
  13. data/lib/fortis_api/controllers/declined_recurring_transactions_controller.rb +186 -0
  14. data/lib/fortis_api/controllers/device_terms_controller.rb +141 -0
  15. data/lib/fortis_api/controllers/elements_controller.rb +66 -0
  16. data/lib/fortis_api/controllers/full_boarding_controller.rb +38 -0
  17. data/lib/fortis_api/controllers/level3_data_controller.rb +119 -0
  18. data/lib/fortis_api/controllers/locations_controller.rb +301 -0
  19. data/lib/fortis_api/controllers/m3_ds_authentication_controller.rb +42 -0
  20. data/lib/fortis_api/controllers/m3_ds_transactions_controller.rb +36 -0
  21. data/lib/fortis_api/controllers/merchant_deposits_controller.rb +175 -0
  22. data/lib/fortis_api/controllers/merchant_details_controller.rb +35 -0
  23. data/lib/fortis_api/controllers/on_boarding_controller.rb +53 -0
  24. data/lib/fortis_api/controllers/paylinks_controller.rb +248 -0
  25. data/lib/fortis_api/controllers/payment_card_reader_token_controller.rb +30 -0
  26. data/lib/fortis_api/controllers/quick_invoices_controller.rb +325 -0
  27. data/lib/fortis_api/controllers/recurring_controller.rb +342 -0
  28. data/lib/fortis_api/controllers/signatures_controller.rb +149 -0
  29. data/lib/fortis_api/controllers/tags_controller.rb +200 -0
  30. data/lib/fortis_api/controllers/terminals_controller.rb +187 -0
  31. data/lib/fortis_api/controllers/tickets_controller.rb +150 -0
  32. data/lib/fortis_api/controllers/tokens_controller.rb +446 -0
  33. data/lib/fortis_api/controllers/transaction_ach_retries_controller.rb +150 -0
  34. data/lib/fortis_api/controllers/transactions_ach_controller.rb +253 -0
  35. data/lib/fortis_api/controllers/transactions_cash_controller.rb +61 -0
  36. data/lib/fortis_api/controllers/transactions_credit_card_controller.rb +1473 -0
  37. data/lib/fortis_api/controllers/transactions_ebt_card_controller.rb +77 -0
  38. data/lib/fortis_api/controllers/transactions_read_controller.rb +136 -0
  39. data/lib/fortis_api/controllers/transactions_updates_controller.rb +266 -0
  40. data/lib/fortis_api/controllers/user_verifications_controller.rb +103 -0
  41. data/lib/fortis_api/controllers/users_controller.rb +309 -0
  42. data/lib/fortis_api/controllers/webhooks_controller.rb +246 -0
  43. data/lib/fortis_api/exceptions/api_exception.rb +21 -0
  44. data/lib/fortis_api/exceptions/response401token_exception.rb +57 -0
  45. data/lib/fortis_api/exceptions/response412_exception.rb +74 -0
  46. data/lib/fortis_api/exceptions/response_error_exception.rb +74 -0
  47. data/lib/fortis_api/http/auth/access_token.rb +52 -0
  48. data/lib/fortis_api/http/auth/developer_id.rb +52 -0
  49. data/lib/fortis_api/http/auth/user_api_key.rb +52 -0
  50. data/lib/fortis_api/http/auth/user_id.rb +52 -0
  51. data/lib/fortis_api/http/http_call_back.rb +10 -0
  52. data/lib/fortis_api/http/http_method_enum.rb +10 -0
  53. data/lib/fortis_api/http/http_request.rb +10 -0
  54. data/lib/fortis_api/http/http_response.rb +10 -0
  55. data/lib/fortis_api/http/proxy_settings.rb +22 -0
  56. data/lib/fortis_api/models/account_info.rb +338 -0
  57. data/lib/fortis_api/models/account_type12_enum.rb +36 -0
  58. data/lib/fortis_api/models/account_type13_enum.rb +39 -0
  59. data/lib/fortis_api/models/account_type16_enum.rb +40 -0
  60. data/lib/fortis_api/models/account_type_enum.rb +64 -0
  61. data/lib/fortis_api/models/account_vault.rb +734 -0
  62. data/lib/fortis_api/models/account_vault_cau_log.rb +122 -0
  63. data/lib/fortis_api/models/account_vault_cau_product_transaction.rb +387 -0
  64. data/lib/fortis_api/models/ach_product_transaction.rb +1571 -0
  65. data/lib/fortis_api/models/ach_sec_code1_enum.rb +52 -0
  66. data/lib/fortis_api/models/ach_sec_code31_enum.rb +53 -0
  67. data/lib/fortis_api/models/ach_sec_code3_enum.rb +52 -0
  68. data/lib/fortis_api/models/ach_sec_code_enum.rb +44 -0
  69. data/lib/fortis_api/models/acs_challenge_mandated_enum.rb +38 -0
  70. data/lib/fortis_api/models/action_enum.rb +49 -0
  71. data/lib/fortis_api/models/active_notification_alert.rb +239 -0
  72. data/lib/fortis_api/models/active_recurring.rb +476 -0
  73. data/lib/fortis_api/models/additional_access.rb +74 -0
  74. data/lib/fortis_api/models/additional_amount.rb +119 -0
  75. data/lib/fortis_api/models/addon.rb +130 -0
  76. data/lib/fortis_api/models/address.rb +118 -0
  77. data/lib/fortis_api/models/address1.rb +129 -0
  78. data/lib/fortis_api/models/address2.rb +117 -0
  79. data/lib/fortis_api/models/address81.rb +133 -0
  80. data/lib/fortis_api/models/address_match_enum.rb +40 -0
  81. data/lib/fortis_api/models/address_type_enum.rb +40 -0
  82. data/lib/fortis_api/models/alert_type_enum.rb +58 -0
  83. data/lib/fortis_api/models/alert_type_id_enum.rb +58 -0
  84. data/lib/fortis_api/models/all_tag.rb +113 -0
  85. data/lib/fortis_api/models/alt_bank_account.rb +113 -0
  86. data/lib/fortis_api/models/amount_ind_enum.rb +122 -0
  87. data/lib/fortis_api/models/app_delivery_enum.rb +40 -0
  88. data/lib/fortis_api/models/async.rb +83 -0
  89. data/lib/fortis_api/models/auth_role.rb +140 -0
  90. data/lib/fortis_api/models/avs_enum.rb +48 -0
  91. data/lib/fortis_api/models/balance.rb +97 -0
  92. data/lib/fortis_api/models/bank_account.rb +101 -0
  93. data/lib/fortis_api/models/bank_account1.rb +129 -0
  94. data/lib/fortis_api/models/base_model.rb +122 -0
  95. data/lib/fortis_api/models/batch_risk_config.rb +90 -0
  96. data/lib/fortis_api/models/billing_address.rb +133 -0
  97. data/lib/fortis_api/models/billing_address1.rb +149 -0
  98. data/lib/fortis_api/models/billing_address24.rb +158 -0
  99. data/lib/fortis_api/models/billing_address5.rb +97 -0
  100. data/lib/fortis_api/models/body.rb +91 -0
  101. data/lib/fortis_api/models/branding_domain.rb +474 -0
  102. data/lib/fortis_api/models/branding_domain1.rb +474 -0
  103. data/lib/fortis_api/models/broad_info.rb +171 -0
  104. data/lib/fortis_api/models/browser_information.rb +288 -0
  105. data/lib/fortis_api/models/business_category_enum.rb +74 -0
  106. data/lib/fortis_api/models/business_type_enum.rb +462 -0
  107. data/lib/fortis_api/models/cardholder.rb +185 -0
  108. data/lib/fortis_api/models/cardholder_account.rb +131 -0
  109. data/lib/fortis_api/models/category_enum.rb +135 -0
  110. data/lib/fortis_api/models/cau_subscribe_type_code_enum.rb +46 -0
  111. data/lib/fortis_api/models/cau_subscribe_type_id_enum.rb +46 -0
  112. data/lib/fortis_api/models/cau_summary_status_id_enum.rb +50 -0
  113. data/lib/fortis_api/models/cc_product_transaction.rb +1571 -0
  114. data/lib/fortis_api/models/ch_acc_age_ind_enum.rb +50 -0
  115. data/lib/fortis_api/models/ch_acc_change_ind_enum.rb +47 -0
  116. data/lib/fortis_api/models/ch_acc_pw_change_ind_enum.rb +51 -0
  117. data/lib/fortis_api/models/challenge_message_extension.rb +109 -0
  118. data/lib/fortis_api/models/challenge_window_size_enum.rb +56 -0
  119. data/lib/fortis_api/models/changelog.rb +157 -0
  120. data/lib/fortis_api/models/changelog_detail.rb +107 -0
  121. data/lib/fortis_api/models/children.rb +421 -0
  122. data/lib/fortis_api/models/communication_type_enum.rb +40 -0
  123. data/lib/fortis_api/models/conditions.rb +82 -0
  124. data/lib/fortis_api/models/conditions18.rb +92 -0
  125. data/lib/fortis_api/models/conditions181.rb +92 -0
  126. data/lib/fortis_api/models/conditions191.rb +92 -0
  127. data/lib/fortis_api/models/conditions27.rb +82 -0
  128. data/lib/fortis_api/models/conditions4.rb +92 -0
  129. data/lib/fortis_api/models/conditions41.rb +92 -0
  130. data/lib/fortis_api/models/conditions42.rb +92 -0
  131. data/lib/fortis_api/models/conditions43.rb +92 -0
  132. data/lib/fortis_api/models/contact.rb +106 -0
  133. data/lib/fortis_api/models/contact1.rb +421 -0
  134. data/lib/fortis_api/models/contact11.rb +105 -0
  135. data/lib/fortis_api/models/contact_user_default_entry_page_enum.rb +52 -0
  136. data/lib/fortis_api/models/context.rb +82 -0
  137. data/lib/fortis_api/models/country_enum.rb +36 -0
  138. data/lib/fortis_api/models/created_user.rb +591 -0
  139. data/lib/fortis_api/models/currency_type.rb +84 -0
  140. data/lib/fortis_api/models/data.rb +125 -0
  141. data/lib/fortis_api/models/data1.rb +72 -0
  142. data/lib/fortis_api/models/data10.rb +694 -0
  143. data/lib/fortis_api/models/data11.rb +491 -0
  144. data/lib/fortis_api/models/data12.rb +237 -0
  145. data/lib/fortis_api/models/data13.rb +172 -0
  146. data/lib/fortis_api/models/data14.rb +280 -0
  147. data/lib/fortis_api/models/data15.rb +433 -0
  148. data/lib/fortis_api/models/data16.rb +468 -0
  149. data/lib/fortis_api/models/data17.rb +72 -0
  150. data/lib/fortis_api/models/data18.rb +861 -0
  151. data/lib/fortis_api/models/data19.rb +127 -0
  152. data/lib/fortis_api/models/data2.rb +580 -0
  153. data/lib/fortis_api/models/data20.rb +668 -0
  154. data/lib/fortis_api/models/data21.rb +136 -0
  155. data/lib/fortis_api/models/data22.rb +122 -0
  156. data/lib/fortis_api/models/data23.rb +700 -0
  157. data/lib/fortis_api/models/data24.rb +214 -0
  158. data/lib/fortis_api/models/data25.rb +889 -0
  159. data/lib/fortis_api/models/data26.rb +211 -0
  160. data/lib/fortis_api/models/data27.rb +2577 -0
  161. data/lib/fortis_api/models/data28.rb +256 -0
  162. data/lib/fortis_api/models/data29.rb +94 -0
  163. data/lib/fortis_api/models/data3.rb +168 -0
  164. data/lib/fortis_api/models/data32.rb +101 -0
  165. data/lib/fortis_api/models/data33.rb +73 -0
  166. data/lib/fortis_api/models/data34.rb +815 -0
  167. data/lib/fortis_api/models/data37.rb +75 -0
  168. data/lib/fortis_api/models/data38.rb +150 -0
  169. data/lib/fortis_api/models/data39.rb +285 -0
  170. data/lib/fortis_api/models/data4.rb +254 -0
  171. data/lib/fortis_api/models/data5.rb +102 -0
  172. data/lib/fortis_api/models/data6.rb +244 -0
  173. data/lib/fortis_api/models/data7.rb +135 -0
  174. data/lib/fortis_api/models/data8.rb +345 -0
  175. data/lib/fortis_api/models/data9.rb +82 -0
  176. data/lib/fortis_api/models/debit_credit_enum.rb +37 -0
  177. data/lib/fortis_api/models/declined_recurring_notification.rb +146 -0
  178. data/lib/fortis_api/models/default_transaction_type_enum.rb +40 -0
  179. data/lib/fortis_api/models/delivery_method_enum.rb +54 -0
  180. data/lib/fortis_api/models/delivery_timeframe_enum.rb +46 -0
  181. data/lib/fortis_api/models/deposit_type_enum.rb +40 -0
  182. data/lib/fortis_api/models/detail.rb +102 -0
  183. data/lib/fortis_api/models/detail1.rb +263 -0
  184. data/lib/fortis_api/models/detail2.rb +154 -0
  185. data/lib/fortis_api/models/developer_company.rb +149 -0
  186. data/lib/fortis_api/models/device.rb +111 -0
  187. data/lib/fortis_api/models/device_binding_status_enum.rb +441 -0
  188. data/lib/fortis_api/models/device_channel_enum.rb +37 -0
  189. data/lib/fortis_api/models/document.rb +91 -0
  190. data/lib/fortis_api/models/domain.rb +474 -0
  191. data/lib/fortis_api/models/e_format_enum.rb +56 -0
  192. data/lib/fortis_api/models/ebt_type_enum.rb +36 -0
  193. data/lib/fortis_api/models/email_blacklist.rb +105 -0
  194. data/lib/fortis_api/models/email_enum.rb +42 -0
  195. data/lib/fortis_api/models/emv_receipt_data.rb +141 -0
  196. data/lib/fortis_api/models/entry_mode_id_enum.rb +52 -0
  197. data/lib/fortis_api/models/expand10_enum.rb +26 -0
  198. data/lib/fortis_api/models/expand117_enum.rb +96 -0
  199. data/lib/fortis_api/models/expand11_enum.rb +108 -0
  200. data/lib/fortis_api/models/expand123_enum.rb +40 -0
  201. data/lib/fortis_api/models/expand15_enum.rb +26 -0
  202. data/lib/fortis_api/models/expand17_enum.rb +100 -0
  203. data/lib/fortis_api/models/expand18_enum.rb +88 -0
  204. data/lib/fortis_api/models/expand1_enum.rb +76 -0
  205. data/lib/fortis_api/models/expand26_enum.rb +92 -0
  206. data/lib/fortis_api/models/expand34_enum.rb +26 -0
  207. data/lib/fortis_api/models/expand37_enum.rb +26 -0
  208. data/lib/fortis_api/models/expand40_enum.rb +60 -0
  209. data/lib/fortis_api/models/expand44_enum.rb +40 -0
  210. data/lib/fortis_api/models/expand47_enum.rb +69 -0
  211. data/lib/fortis_api/models/expand57_enum.rb +48 -0
  212. data/lib/fortis_api/models/expand5_enum.rb +40 -0
  213. data/lib/fortis_api/models/expand60_enum.rb +200 -0
  214. data/lib/fortis_api/models/expand8_enum.rb +52 -0
  215. data/lib/fortis_api/models/expand_enum.rb +40 -0
  216. data/lib/fortis_api/models/field.rb +82 -0
  217. data/lib/fortis_api/models/field18.rb +143 -0
  218. data/lib/fortis_api/models/field27_enum.rb +108 -0
  219. data/lib/fortis_api/models/field28_enum.rb +200 -0
  220. data/lib/fortis_api/models/field30_enum.rb +76 -0
  221. data/lib/fortis_api/models/field31_enum.rb +92 -0
  222. data/lib/fortis_api/models/field33_enum.rb +220 -0
  223. data/lib/fortis_api/models/field34_enum.rb +236 -0
  224. data/lib/fortis_api/models/field35_enum.rb +216 -0
  225. data/lib/fortis_api/models/field36_enum.rb +232 -0
  226. data/lib/fortis_api/models/field37_enum.rb +26 -0
  227. data/lib/fortis_api/models/field38_enum.rb +108 -0
  228. data/lib/fortis_api/models/field39_enum.rb +209 -0
  229. data/lib/fortis_api/models/field41_enum.rb +280 -0
  230. data/lib/fortis_api/models/field43_enum.rb +236 -0
  231. data/lib/fortis_api/models/field45_enum.rb +56 -0
  232. data/lib/fortis_api/models/field47_enum.rb +52 -0
  233. data/lib/fortis_api/models/field49_enum.rb +240 -0
  234. data/lib/fortis_api/models/field51_enum.rb +88 -0
  235. data/lib/fortis_api/models/field53_enum.rb +286 -0
  236. data/lib/fortis_api/models/field55_enum.rb +76 -0
  237. data/lib/fortis_api/models/field57_enum.rb +652 -0
  238. data/lib/fortis_api/models/field59_enum.rb +40 -0
  239. data/lib/fortis_api/models/field60_enum.rb +280 -0
  240. data/lib/fortis_api/models/field_configuration.rb +111 -0
  241. data/lib/fortis_api/models/file.rb +223 -0
  242. data/lib/fortis_api/models/file2.rb +82 -0
  243. data/lib/fortis_api/models/file5.rb +85 -0
  244. data/lib/fortis_api/models/filter_by.rb +120 -0
  245. data/lib/fortis_api/models/footer.rb +91 -0
  246. data/lib/fortis_api/models/forecast.rb +139 -0
  247. data/lib/fortis_api/models/format1_enum.rb +36 -0
  248. data/lib/fortis_api/models/format_enum.rb +36 -0
  249. data/lib/fortis_api/models/header.rb +91 -0
  250. data/lib/fortis_api/models/helppage.rb +151 -0
  251. data/lib/fortis_api/models/helppage2.rb +151 -0
  252. data/lib/fortis_api/models/home_phone.rb +84 -0
  253. data/lib/fortis_api/models/hosted_payment_page.rb +298 -0
  254. data/lib/fortis_api/models/identity_verification.rb +112 -0
  255. data/lib/fortis_api/models/identity_verification2.rb +110 -0
  256. data/lib/fortis_api/models/identity_verification27.rb +110 -0
  257. data/lib/fortis_api/models/idtype_enum.rb +36 -0
  258. data/lib/fortis_api/models/iias_ind_enum.rb +46 -0
  259. data/lib/fortis_api/models/industry_type_enum.rb +52 -0
  260. data/lib/fortis_api/models/initiation_type_enum.rb +76 -0
  261. data/lib/fortis_api/models/interval_type_enum.rb +40 -0
  262. data/lib/fortis_api/models/item_list.rb +82 -0
  263. data/lib/fortis_api/models/item_list4.rb +79 -0
  264. data/lib/fortis_api/models/item_list5.rb +85 -0
  265. data/lib/fortis_api/models/joi.rb +73 -0
  266. data/lib/fortis_api/models/joi18.rb +85 -0
  267. data/lib/fortis_api/models/joi19.rb +85 -0
  268. data/lib/fortis_api/models/joi27.rb +73 -0
  269. data/lib/fortis_api/models/joi4.rb +85 -0
  270. data/lib/fortis_api/models/kyc_response_object.rb +79 -0
  271. data/lib/fortis_api/models/level3_data.rb +274 -0
  272. data/lib/fortis_api/models/level3_data5.rb +192 -0
  273. data/lib/fortis_api/models/level3_data6.rb +273 -0
  274. data/lib/fortis_api/models/level3_default.rb +274 -0
  275. data/lib/fortis_api/models/line_item.rb +246 -0
  276. data/lib/fortis_api/models/line_item13.rb +245 -0
  277. data/lib/fortis_api/models/line_item19.rb +215 -0
  278. data/lib/fortis_api/models/line_item20.rb +173 -0
  279. data/lib/fortis_api/models/links.rb +111 -0
  280. data/lib/fortis_api/models/list.rb +326 -0
  281. data/lib/fortis_api/models/list1.rb +580 -0
  282. data/lib/fortis_api/models/list10.rb +861 -0
  283. data/lib/fortis_api/models/list11.rb +668 -0
  284. data/lib/fortis_api/models/list12.rb +136 -0
  285. data/lib/fortis_api/models/list13.rb +122 -0
  286. data/lib/fortis_api/models/list14.rb +700 -0
  287. data/lib/fortis_api/models/list15.rb +214 -0
  288. data/lib/fortis_api/models/list16.rb +889 -0
  289. data/lib/fortis_api/models/list17.rb +211 -0
  290. data/lib/fortis_api/models/list18.rb +2577 -0
  291. data/lib/fortis_api/models/list19.rb +101 -0
  292. data/lib/fortis_api/models/list20.rb +815 -0
  293. data/lib/fortis_api/models/list3.rb +168 -0
  294. data/lib/fortis_api/models/list4.rb +244 -0
  295. data/lib/fortis_api/models/list5.rb +491 -0
  296. data/lib/fortis_api/models/list6.rb +694 -0
  297. data/lib/fortis_api/models/list8.rb +280 -0
  298. data/lib/fortis_api/models/list9.rb +468 -0
  299. data/lib/fortis_api/models/location.rb +387 -0
  300. data/lib/fortis_api/models/location18.rb +387 -0
  301. data/lib/fortis_api/models/location20.rb +131 -0
  302. data/lib/fortis_api/models/location5.rb +132 -0
  303. data/lib/fortis_api/models/location_billing_account.rb +268 -0
  304. data/lib/fortis_api/models/location_type_enum.rb +40 -0
  305. data/lib/fortis_api/models/location_user.rb +149 -0
  306. data/lib/fortis_api/models/locationmarketplace.rb +143 -0
  307. data/lib/fortis_api/models/log_email.rb +192 -0
  308. data/lib/fortis_api/models/log_sms.rb +166 -0
  309. data/lib/fortis_api/models/marketplace.rb +143 -0
  310. data/lib/fortis_api/models/merchant_list.rb +134 -0
  311. data/lib/fortis_api/models/merchant_risk_indicator.rb +237 -0
  312. data/lib/fortis_api/models/message_category_enum.rb +120 -0
  313. data/lib/fortis_api/models/message_extension.rb +109 -0
  314. data/lib/fortis_api/models/meta.rb +81 -0
  315. data/lib/fortis_api/models/method3.rb +97 -0
  316. data/lib/fortis_api/models/method50.rb +106 -0
  317. data/lib/fortis_api/models/method53_enum.rb +26 -0
  318. data/lib/fortis_api/models/method5_enum.rb +26 -0
  319. data/lib/fortis_api/models/method_enum.rb +26 -0
  320. data/lib/fortis_api/models/mobile_phone.rb +85 -0
  321. data/lib/fortis_api/models/modified_user.rb +591 -0
  322. data/lib/fortis_api/models/multi_transaction.rb +103 -0
  323. data/lib/fortis_api/models/operator1_enum.rb +36 -0
  324. data/lib/fortis_api/models/operator_enum.rb +36 -0
  325. data/lib/fortis_api/models/order21.rb +79 -0
  326. data/lib/fortis_api/models/order_enum.rb +36 -0
  327. data/lib/fortis_api/models/owner.rb +233 -0
  328. data/lib/fortis_api/models/ownership_type_enum.rb +68 -0
  329. data/lib/fortis_api/models/page.rb +84 -0
  330. data/lib/fortis_api/models/pagination.rb +113 -0
  331. data/lib/fortis_api/models/parent.rb +421 -0
  332. data/lib/fortis_api/models/parent3.rb +387 -0
  333. data/lib/fortis_api/models/partner_enum.rb +68 -0
  334. data/lib/fortis_api/models/paylink_action_enum.rb +37 -0
  335. data/lib/fortis_api/models/payment_acc_ind_enum.rb +51 -0
  336. data/lib/fortis_api/models/payment_method16_enum.rb +36 -0
  337. data/lib/fortis_api/models/payment_method1_enum.rb +36 -0
  338. data/lib/fortis_api/models/payment_method9_enum.rb +36 -0
  339. data/lib/fortis_api/models/payment_method_enum.rb +40 -0
  340. data/lib/fortis_api/models/payment_recurring_notification.rb +146 -0
  341. data/lib/fortis_api/models/postback_log.rb +162 -0
  342. data/lib/fortis_api/models/postback_status_id_enum.rb +50 -0
  343. data/lib/fortis_api/models/pre_order_purchase_ind_enum.rb +38 -0
  344. data/lib/fortis_api/models/preferred_language_enum.rb +38 -0
  345. data/lib/fortis_api/models/preferred_protocol_version_enum.rb +51 -0
  346. data/lib/fortis_api/models/pricing_element.rb +103 -0
  347. data/lib/fortis_api/models/primary_location.rb +387 -0
  348. data/lib/fortis_api/models/primary_principal.rb +211 -0
  349. data/lib/fortis_api/models/primary_principal1.rb +209 -0
  350. data/lib/fortis_api/models/process_method_enum.rb +36 -0
  351. data/lib/fortis_api/models/processor_enum.rb +52 -0
  352. data/lib/fortis_api/models/product_accountvault.rb +173 -0
  353. data/lib/fortis_api/models/product_file.rb +227 -0
  354. data/lib/fortis_api/models/product_file1.rb +227 -0
  355. data/lib/fortis_api/models/product_invoice.rb +341 -0
  356. data/lib/fortis_api/models/product_recurring.rb +230 -0
  357. data/lib/fortis_api/models/product_token.rb +173 -0
  358. data/lib/fortis_api/models/product_transaction.rb +1571 -0
  359. data/lib/fortis_api/models/product_transaction1.rb +1571 -0
  360. data/lib/fortis_api/models/purchase.rb +327 -0
  361. data/lib/fortis_api/models/quick_invoice.rb +657 -0
  362. data/lib/fortis_api/models/quick_invoice_setting.rb +189 -0
  363. data/lib/fortis_api/models/quick_invoice_view.rb +107 -0
  364. data/lib/fortis_api/models/reason_code.rb +84 -0
  365. data/lib/fortis_api/models/reason_code_id1_enum.rb +912 -0
  366. data/lib/fortis_api/models/reason_code_id_enum.rb +750 -0
  367. data/lib/fortis_api/models/reason_model_enum.rb +72 -0
  368. data/lib/fortis_api/models/received_email.rb +192 -0
  369. data/lib/fortis_api/models/recipients_enum.rb +45 -0
  370. data/lib/fortis_api/models/recurring.rb +476 -0
  371. data/lib/fortis_api/models/recurring3.rb +476 -0
  372. data/lib/fortis_api/models/recurring_flag_enum.rb +40 -0
  373. data/lib/fortis_api/models/recurring_split.rb +118 -0
  374. data/lib/fortis_api/models/recurring_type_id_enum.rb +36 -0
  375. data/lib/fortis_api/models/registration_field_enum.rb +92 -0
  376. data/lib/fortis_api/models/rejected_transaction.rb +2034 -0
  377. data/lib/fortis_api/models/rejected_transaction_ach_retry.rb +146 -0
  378. data/lib/fortis_api/models/relationship_enum.rb +40 -0
  379. data/lib/fortis_api/models/reorder_items_ind_enum.rb +37 -0
  380. data/lib/fortis_api/models/report_export_type_enum.rb +44 -0
  381. data/lib/fortis_api/models/resource12_enum.rb +41 -0
  382. data/lib/fortis_api/models/resource2_enum.rb +40 -0
  383. data/lib/fortis_api/models/resource_enum.rb +44 -0
  384. data/lib/fortis_api/models/resources.rb +138 -0
  385. data/lib/fortis_api/models/response416date_range.rb +92 -0
  386. data/lib/fortis_api/models/response417filter_channels.rb +92 -0
  387. data/lib/fortis_api/models/response_apple_pay_validate_merchant.rb +83 -0
  388. data/lib/fortis_api/models/response_async_status.rb +83 -0
  389. data/lib/fortis_api/models/response_batchs_collection.rb +121 -0
  390. data/lib/fortis_api/models/response_contact.rb +83 -0
  391. data/lib/fortis_api/models/response_contact_searchs_collection.rb +121 -0
  392. data/lib/fortis_api/models/response_contacts_collection.rb +121 -0
  393. data/lib/fortis_api/models/response_declined_recurring_transaction.rb +83 -0
  394. data/lib/fortis_api/models/response_declined_recurring_transaction_payment.rb +83 -0
  395. data/lib/fortis_api/models/response_declined_recurring_transaction_resend.rb +83 -0
  396. data/lib/fortis_api/models/response_declined_recurring_transactions_collection.rb +122 -0
  397. data/lib/fortis_api/models/response_device_term.rb +83 -0
  398. data/lib/fortis_api/models/response_device_terms_collection.rb +121 -0
  399. data/lib/fortis_api/models/response_fullboarding.rb +83 -0
  400. data/lib/fortis_api/models/response_location.rb +83 -0
  401. data/lib/fortis_api/models/response_location_info.rb +83 -0
  402. data/lib/fortis_api/models/response_location_infos_collection.rb +121 -0
  403. data/lib/fortis_api/models/response_location_searchs_collection.rb +121 -0
  404. data/lib/fortis_api/models/response_locations_collection.rb +121 -0
  405. data/lib/fortis_api/models/response_merchant_deposit.rb +83 -0
  406. data/lib/fortis_api/models/response_merchant_deposits_collection.rb +121 -0
  407. data/lib/fortis_api/models/response_merchant_details.rb +83 -0
  408. data/lib/fortis_api/models/response_onboarding.rb +83 -0
  409. data/lib/fortis_api/models/response_paylink.rb +83 -0
  410. data/lib/fortis_api/models/response_paylinks_collection.rb +121 -0
  411. data/lib/fortis_api/models/response_payment_card_reader_token.rb +83 -0
  412. data/lib/fortis_api/models/response_quick_invoice.rb +83 -0
  413. data/lib/fortis_api/models/response_quick_invoice_resend.rb +83 -0
  414. data/lib/fortis_api/models/response_quick_invoices_collection.rb +121 -0
  415. data/lib/fortis_api/models/response_recurring.rb +83 -0
  416. data/lib/fortis_api/models/response_recurrings_collection.rb +121 -0
  417. data/lib/fortis_api/models/response_remove_verification.rb +83 -0
  418. data/lib/fortis_api/models/response_send_verification.rb +83 -0
  419. data/lib/fortis_api/models/response_signature.rb +83 -0
  420. data/lib/fortis_api/models/response_signatures_collection.rb +121 -0
  421. data/lib/fortis_api/models/response_tag.rb +83 -0
  422. data/lib/fortis_api/models/response_tags_collection.rb +120 -0
  423. data/lib/fortis_api/models/response_terminal.rb +83 -0
  424. data/lib/fortis_api/models/response_terminals_collection.rb +121 -0
  425. data/lib/fortis_api/models/response_three_ds_authentication.rb +83 -0
  426. data/lib/fortis_api/models/response_three_ds_transaction.rb +83 -0
  427. data/lib/fortis_api/models/response_ticket.rb +83 -0
  428. data/lib/fortis_api/models/response_ticket_intention.rb +83 -0
  429. data/lib/fortis_api/models/response_tickets_collection.rb +121 -0
  430. data/lib/fortis_api/models/response_token.rb +83 -0
  431. data/lib/fortis_api/models/response_tokens_collection.rb +121 -0
  432. data/lib/fortis_api/models/response_transaction.rb +83 -0
  433. data/lib/fortis_api/models/response_transaction_ach_retry.rb +83 -0
  434. data/lib/fortis_api/models/response_transaction_ach_retrys_collection.rb +121 -0
  435. data/lib/fortis_api/models/response_transaction_bin_info.rb +83 -0
  436. data/lib/fortis_api/models/response_transaction_intention.rb +83 -0
  437. data/lib/fortis_api/models/response_transaction_level3.rb +83 -0
  438. data/lib/fortis_api/models/response_transaction_level3_master.rb +83 -0
  439. data/lib/fortis_api/models/response_transaction_level3_visa.rb +83 -0
  440. data/lib/fortis_api/models/response_transaction_processing.rb +83 -0
  441. data/lib/fortis_api/models/response_transactions_collection.rb +121 -0
  442. data/lib/fortis_api/models/response_user.rb +83 -0
  443. data/lib/fortis_api/models/response_user_api_key.rb +83 -0
  444. data/lib/fortis_api/models/response_user_verification.rb +83 -0
  445. data/lib/fortis_api/models/response_user_verifications_collection.rb +121 -0
  446. data/lib/fortis_api/models/response_users_collection.rb +121 -0
  447. data/lib/fortis_api/models/response_webhook.rb +83 -0
  448. data/lib/fortis_api/models/result.rb +95 -0
  449. data/lib/fortis_api/models/retry_transaction.rb +2034 -0
  450. data/lib/fortis_api/models/retry_transaction_ach_retry.rb +146 -0
  451. data/lib/fortis_api/models/return_fee_transaction.rb +2034 -0
  452. data/lib/fortis_api/models/return_fee_transaction_ach_retry.rb +146 -0
  453. data/lib/fortis_api/models/saved_account.rb +734 -0
  454. data/lib/fortis_api/models/scheme_id_enum.rb +45 -0
  455. data/lib/fortis_api/models/sec_code_enum.rb +44 -0
  456. data/lib/fortis_api/models/settings.rb +92 -0
  457. data/lib/fortis_api/models/severity_enum.rb +48 -0
  458. data/lib/fortis_api/models/ship_address_usage_ind_enum.rb +46 -0
  459. data/lib/fortis_api/models/ship_indicator_enum.rb +83 -0
  460. data/lib/fortis_api/models/ship_name_indicator_enum.rb +38 -0
  461. data/lib/fortis_api/models/shipping_address.rb +161 -0
  462. data/lib/fortis_api/models/signature.rb +125 -0
  463. data/lib/fortis_api/models/sms_blacklist.rb +105 -0
  464. data/lib/fortis_api/models/sms_enum.rb +42 -0
  465. data/lib/fortis_api/models/sort.rb +91 -0
  466. data/lib/fortis_api/models/source_enum.rb +41 -0
  467. data/lib/fortis_api/models/stack_enum.rb +36 -0
  468. data/lib/fortis_api/models/status11.rb +84 -0
  469. data/lib/fortis_api/models/status3_enum.rb +36 -0
  470. data/lib/fortis_api/models/status5.rb +73 -0
  471. data/lib/fortis_api/models/status_code12_enum.rb +42 -0
  472. data/lib/fortis_api/models/status_code14_enum.rb +42 -0
  473. data/lib/fortis_api/models/status_code17_enum.rb +89 -0
  474. data/lib/fortis_api/models/status_code_enum.rb +46 -0
  475. data/lib/fortis_api/models/status_enum.rb +40 -0
  476. data/lib/fortis_api/models/status_id_enum.rb +42 -0
  477. data/lib/fortis_api/models/surcharge.rb +318 -0
  478. data/lib/fortis_api/models/surcharge_transaction.rb +208 -0
  479. data/lib/fortis_api/models/suspicious_acc_activity_enum.rb +38 -0
  480. data/lib/fortis_api/models/tag.rb +113 -0
  481. data/lib/fortis_api/models/tag_transaction.rb +177 -0
  482. data/lib/fortis_api/models/tax_exempt_enum.rb +36 -0
  483. data/lib/fortis_api/models/tax_surcharge_config_enum.rb +42 -0
  484. data/lib/fortis_api/models/terminal.rb +595 -0
  485. data/lib/fortis_api/models/terminal2.rb +595 -0
  486. data/lib/fortis_api/models/terminal_application.rb +212 -0
  487. data/lib/fortis_api/models/terminal_cvm.rb +166 -0
  488. data/lib/fortis_api/models/terminal_manufacturer.rb +140 -0
  489. data/lib/fortis_api/models/terminal_manufacturer_code_enum.rb +44 -0
  490. data/lib/fortis_api/models/terminal_router.rb +139 -0
  491. data/lib/fortis_api/models/terminal_timeouts.rb +204 -0
  492. data/lib/fortis_api/models/terminal_timeouts12.rb +213 -0
  493. data/lib/fortis_api/models/three_ds_req_auth_method_enum.rb +155 -0
  494. data/lib/fortis_api/models/three_ds_req_prior_auth_method_enum.rb +128 -0
  495. data/lib/fortis_api/models/three_ds_requestor.rb +306 -0
  496. data/lib/fortis_api/models/three_ds_requestor_authentication_ind_enum.rb +143 -0
  497. data/lib/fortis_api/models/three_ds_requestor_authentication_info.rb +148 -0
  498. data/lib/fortis_api/models/three_ds_requestor_challenge_ind_enum.rb +144 -0
  499. data/lib/fortis_api/models/three_ds_requestor_dec_req_ind_enum.rb +56 -0
  500. data/lib/fortis_api/models/three_ds_requestor_prior_authentication_info.rb +146 -0
  501. data/lib/fortis_api/models/three_ds_requestor_spc_support_enum.rb +29 -0
  502. data/lib/fortis_api/models/three_ri_ind_enum.rb +180 -0
  503. data/lib/fortis_api/models/tip_percents.rb +100 -0
  504. data/lib/fortis_api/models/trans_char_enum.rb +36 -0
  505. data/lib/fortis_api/models/transaction.rb +2034 -0
  506. data/lib/fortis_api/models/transaction_batch.rb +275 -0
  507. data/lib/fortis_api/models/transaction_history.rb +138 -0
  508. data/lib/fortis_api/models/transaction_level3.rb +94 -0
  509. data/lib/fortis_api/models/transaction_reference.rb +182 -0
  510. data/lib/fortis_api/models/transaction_split.rb +127 -0
  511. data/lib/fortis_api/models/transaction_status_enum.rb +73 -0
  512. data/lib/fortis_api/models/transaction_type_enum.rb +52 -0
  513. data/lib/fortis_api/models/trx_source_code_enum.rb +143 -0
  514. data/lib/fortis_api/models/trx_source_id_enum.rb +143 -0
  515. data/lib/fortis_api/models/type103_enum.rb +26 -0
  516. data/lib/fortis_api/models/type10_enum.rb +26 -0
  517. data/lib/fortis_api/models/type110_enum.rb +26 -0
  518. data/lib/fortis_api/models/type112.rb +84 -0
  519. data/lib/fortis_api/models/type113_enum.rb +26 -0
  520. data/lib/fortis_api/models/type114_enum.rb +26 -0
  521. data/lib/fortis_api/models/type115_enum.rb +26 -0
  522. data/lib/fortis_api/models/type116_enum.rb +26 -0
  523. data/lib/fortis_api/models/type117_enum.rb +26 -0
  524. data/lib/fortis_api/models/type11_enum.rb +26 -0
  525. data/lib/fortis_api/models/type123_enum.rb +26 -0
  526. data/lib/fortis_api/models/type124_enum.rb +26 -0
  527. data/lib/fortis_api/models/type128_enum.rb +26 -0
  528. data/lib/fortis_api/models/type129_enum.rb +26 -0
  529. data/lib/fortis_api/models/type130_enum.rb +26 -0
  530. data/lib/fortis_api/models/type134_enum.rb +26 -0
  531. data/lib/fortis_api/models/type135_enum.rb +26 -0
  532. data/lib/fortis_api/models/type136_enum.rb +26 -0
  533. data/lib/fortis_api/models/type137_enum.rb +26 -0
  534. data/lib/fortis_api/models/type138_enum.rb +26 -0
  535. data/lib/fortis_api/models/type15_enum.rb +26 -0
  536. data/lib/fortis_api/models/type16_enum.rb +27 -0
  537. data/lib/fortis_api/models/type1_enum.rb +26 -0
  538. data/lib/fortis_api/models/type20_enum.rb +26 -0
  539. data/lib/fortis_api/models/type21_enum.rb +26 -0
  540. data/lib/fortis_api/models/type22_enum.rb +26 -0
  541. data/lib/fortis_api/models/type23_enum.rb +26 -0
  542. data/lib/fortis_api/models/type27_enum.rb +26 -0
  543. data/lib/fortis_api/models/type28_enum.rb +26 -0
  544. data/lib/fortis_api/models/type29_enum.rb +36 -0
  545. data/lib/fortis_api/models/type2_enum.rb +26 -0
  546. data/lib/fortis_api/models/type30_enum.rb +26 -0
  547. data/lib/fortis_api/models/type31_enum.rb +26 -0
  548. data/lib/fortis_api/models/type35_enum.rb +26 -0
  549. data/lib/fortis_api/models/type39_enum.rb +26 -0
  550. data/lib/fortis_api/models/type3_enum.rb +26 -0
  551. data/lib/fortis_api/models/type43_enum.rb +26 -0
  552. data/lib/fortis_api/models/type44_enum.rb +26 -0
  553. data/lib/fortis_api/models/type45_enum.rb +26 -0
  554. data/lib/fortis_api/models/type46_enum.rb +26 -0
  555. data/lib/fortis_api/models/type47_enum.rb +26 -0
  556. data/lib/fortis_api/models/type48_enum.rb +26 -0
  557. data/lib/fortis_api/models/type4_enum.rb +26 -0
  558. data/lib/fortis_api/models/type52_enum.rb +26 -0
  559. data/lib/fortis_api/models/type53_enum.rb +26 -0
  560. data/lib/fortis_api/models/type54_enum.rb +26 -0
  561. data/lib/fortis_api/models/type58_enum.rb +26 -0
  562. data/lib/fortis_api/models/type59_enum.rb +26 -0
  563. data/lib/fortis_api/models/type5_enum.rb +26 -0
  564. data/lib/fortis_api/models/type60_enum.rb +74 -0
  565. data/lib/fortis_api/models/type61_enum.rb +26 -0
  566. data/lib/fortis_api/models/type62_enum.rb +26 -0
  567. data/lib/fortis_api/models/type67_enum.rb +26 -0
  568. data/lib/fortis_api/models/type68_enum.rb +26 -0
  569. data/lib/fortis_api/models/type6_enum.rb +26 -0
  570. data/lib/fortis_api/models/type72_enum.rb +26 -0
  571. data/lib/fortis_api/models/type73_enum.rb +26 -0
  572. data/lib/fortis_api/models/type77_enum.rb +26 -0
  573. data/lib/fortis_api/models/type78_enum.rb +26 -0
  574. data/lib/fortis_api/models/type82_enum.rb +26 -0
  575. data/lib/fortis_api/models/type83_enum.rb +26 -0
  576. data/lib/fortis_api/models/type87_enum.rb +26 -0
  577. data/lib/fortis_api/models/type88_enum.rb +26 -0
  578. data/lib/fortis_api/models/type92_enum.rb +26 -0
  579. data/lib/fortis_api/models/type94_enum.rb +26 -0
  580. data/lib/fortis_api/models/type99_enum.rb +26 -0
  581. data/lib/fortis_api/models/type_enum.rb +26 -0
  582. data/lib/fortis_api/models/type_id_enum.rb +58 -0
  583. data/lib/fortis_api/models/ui_prefs.rb +123 -0
  584. data/lib/fortis_api/models/update_if_exists_enum.rb +26 -0
  585. data/lib/fortis_api/models/user.rb +107 -0
  586. data/lib/fortis_api/models/user1.rb +591 -0
  587. data/lib/fortis_api/models/user9.rb +591 -0
  588. data/lib/fortis_api/models/user_type_code_enum.rb +78 -0
  589. data/lib/fortis_api/models/v1_contacts_request.rb +368 -0
  590. data/lib/fortis_api/models/v1_contacts_request1.rb +372 -0
  591. data/lib/fortis_api/models/v1_declined_recurring_transaction_payments_request.rb +214 -0
  592. data/lib/fortis_api/models/v1_device_terms_request.rb +118 -0
  593. data/lib/fortis_api/models/v1_elements_ticket_intention_request.rb +122 -0
  594. data/lib/fortis_api/models/v1_elements_transaction_intention_request.rb +334 -0
  595. data/lib/fortis_api/models/v1_fullboarding_request.rb +489 -0
  596. data/lib/fortis_api/models/v1_merchant_threedsecure_authentication_request.rb +473 -0
  597. data/lib/fortis_api/models/v1_onboarding_request.rb +413 -0
  598. data/lib/fortis_api/models/v1_paylinks_request.rb +380 -0
  599. data/lib/fortis_api/models/v1_paylinks_request1.rb +383 -0
  600. data/lib/fortis_api/models/v1_quick_invoices_request.rb +564 -0
  601. data/lib/fortis_api/models/v1_quick_invoices_request1.rb +570 -0
  602. data/lib/fortis_api/models/v1_quick_invoices_transaction_request.rb +72 -0
  603. data/lib/fortis_api/models/v1_recurrings_defer_payment_request.rb +71 -0
  604. data/lib/fortis_api/models/v1_recurrings_request.rb +387 -0
  605. data/lib/fortis_api/models/v1_recurrings_request1.rb +377 -0
  606. data/lib/fortis_api/models/v1_recurrings_skip_payment_request.rb +71 -0
  607. data/lib/fortis_api/models/v1_signatures_request.rb +91 -0
  608. data/lib/fortis_api/models/v1_tags_request.rb +79 -0
  609. data/lib/fortis_api/models/v1_tags_request1.rb +85 -0
  610. data/lib/fortis_api/models/v1_terminals_request.rb +519 -0
  611. data/lib/fortis_api/models/v1_terminals_request1.rb +536 -0
  612. data/lib/fortis_api/models/v1_tickets_request.rb +193 -0
  613. data/lib/fortis_api/models/v1_tokens_ach_request.rb +525 -0
  614. data/lib/fortis_api/models/v1_tokens_ach_request1.rb +501 -0
  615. data/lib/fortis_api/models/v1_tokens_cc_request.rb +586 -0
  616. data/lib/fortis_api/models/v1_tokens_cc_request1.rb +497 -0
  617. data/lib/fortis_api/models/v1_tokens_previous_transaction_request.rb +483 -0
  618. data/lib/fortis_api/models/v1_tokens_terminal_async_request.rb +501 -0
  619. data/lib/fortis_api/models/v1_tokens_terminal_request.rb +501 -0
  620. data/lib/fortis_api/models/v1_tokens_ticket_request.rb +493 -0
  621. data/lib/fortis_api/models/v1_tokens_wallet_request.rb +515 -0
  622. data/lib/fortis_api/models/v1_transaction_ach_retries_request.rb +85 -0
  623. data/lib/fortis_api/models/v1_transactions_ach_credit_keyed_request.rb +869 -0
  624. data/lib/fortis_api/models/v1_transactions_ach_credit_prev_trxn_request.rb +863 -0
  625. data/lib/fortis_api/models/v1_transactions_ach_credit_token_request.rb +876 -0
  626. data/lib/fortis_api/models/v1_transactions_ach_debit_keyed_request.rb +869 -0
  627. data/lib/fortis_api/models/v1_transactions_ach_debit_prev_trxn_request.rb +863 -0
  628. data/lib/fortis_api/models/v1_transactions_ach_debit_token_request.rb +876 -0
  629. data/lib/fortis_api/models/v1_transactions_ach_refund_prev_trxn_request.rb +863 -0
  630. data/lib/fortis_api/models/v1_transactions_auth_complete_request.rb +785 -0
  631. data/lib/fortis_api/models/v1_transactions_auth_increment_request.rb +783 -0
  632. data/lib/fortis_api/models/v1_transactions_cash_refund_request.rb +807 -0
  633. data/lib/fortis_api/models/v1_transactions_cash_sale_request.rb +794 -0
  634. data/lib/fortis_api/models/v1_transactions_cc_auth_only_keyed_request.rb +1148 -0
  635. data/lib/fortis_api/models/v1_transactions_cc_auth_only_prev_trxn_request.rb +1125 -0
  636. data/lib/fortis_api/models/v1_transactions_cc_auth_only_swiped_request.rb +1102 -0
  637. data/lib/fortis_api/models/v1_transactions_cc_auth_only_taptopay_request.rb +974 -0
  638. data/lib/fortis_api/models/v1_transactions_cc_auth_only_terminal_request.rb +1105 -0
  639. data/lib/fortis_api/models/v1_transactions_cc_auth_only_ticket_request.rb +1089 -0
  640. data/lib/fortis_api/models/v1_transactions_cc_auth_only_token_request.rb +1119 -0
  641. data/lib/fortis_api/models/v1_transactions_cc_auth_only_wallet_request.rb +1099 -0
  642. data/lib/fortis_api/models/v1_transactions_cc_avs_only_keyed_request.rb +1150 -0
  643. data/lib/fortis_api/models/v1_transactions_cc_avs_only_prev_trxn_request.rb +1125 -0
  644. data/lib/fortis_api/models/v1_transactions_cc_avs_only_swiped_request.rb +1103 -0
  645. data/lib/fortis_api/models/v1_transactions_cc_avs_only_terminal_request.rb +1106 -0
  646. data/lib/fortis_api/models/v1_transactions_cc_avs_only_ticket_request.rb +1090 -0
  647. data/lib/fortis_api/models/v1_transactions_cc_avs_only_token_request.rb +1121 -0
  648. data/lib/fortis_api/models/v1_transactions_cc_avs_only_wallet_request.rb +1101 -0
  649. data/lib/fortis_api/models/v1_transactions_cc_balance_inquiry_keyed_request.rb +1150 -0
  650. data/lib/fortis_api/models/v1_transactions_cc_balance_inquiry_prev_trxn_request.rb +1125 -0
  651. data/lib/fortis_api/models/v1_transactions_cc_balance_inquiry_swiped_request.rb +1103 -0
  652. data/lib/fortis_api/models/v1_transactions_cc_balance_inquiry_terminal_request.rb +1106 -0
  653. data/lib/fortis_api/models/v1_transactions_cc_balance_inquiry_ticket_request.rb +1090 -0
  654. data/lib/fortis_api/models/v1_transactions_cc_balance_inquiry_token_request.rb +1121 -0
  655. data/lib/fortis_api/models/v1_transactions_cc_balance_inquiry_wallet_request.rb +1101 -0
  656. data/lib/fortis_api/models/v1_transactions_cc_force_keyed_request.rb +1171 -0
  657. data/lib/fortis_api/models/v1_transactions_cc_force_prev_trxn_request.rb +1146 -0
  658. data/lib/fortis_api/models/v1_transactions_cc_force_swiped_request.rb +1112 -0
  659. data/lib/fortis_api/models/v1_transactions_cc_force_ticket_request.rb +1112 -0
  660. data/lib/fortis_api/models/v1_transactions_cc_force_token_request.rb +1141 -0
  661. data/lib/fortis_api/models/v1_transactions_cc_force_wallet_request.rb +1123 -0
  662. data/lib/fortis_api/models/v1_transactions_cc_refund_keyed_request.rb +1180 -0
  663. data/lib/fortis_api/models/v1_transactions_cc_refund_prev_trxn_request.rb +1125 -0
  664. data/lib/fortis_api/models/v1_transactions_cc_refund_swiped_request.rb +1102 -0
  665. data/lib/fortis_api/models/v1_transactions_cc_refund_taptopay_request.rb +987 -0
  666. data/lib/fortis_api/models/v1_transactions_cc_refund_terminal_request.rb +1105 -0
  667. data/lib/fortis_api/models/v1_transactions_cc_refund_ticket_request.rb +1089 -0
  668. data/lib/fortis_api/models/v1_transactions_cc_refund_token_request.rb +1119 -0
  669. data/lib/fortis_api/models/v1_transactions_cc_refund_wallet_request.rb +1099 -0
  670. data/lib/fortis_api/models/v1_transactions_cc_sale_keyed_request.rb +1148 -0
  671. data/lib/fortis_api/models/v1_transactions_cc_sale_prev_trxn_request.rb +1125 -0
  672. data/lib/fortis_api/models/v1_transactions_cc_sale_swiped_request.rb +1102 -0
  673. data/lib/fortis_api/models/v1_transactions_cc_sale_taptopay_request.rb +974 -0
  674. data/lib/fortis_api/models/v1_transactions_cc_sale_terminal_request.rb +1105 -0
  675. data/lib/fortis_api/models/v1_transactions_cc_sale_ticket_request.rb +1089 -0
  676. data/lib/fortis_api/models/v1_transactions_cc_sale_token_request.rb +1119 -0
  677. data/lib/fortis_api/models/v1_transactions_cc_sale_wallet_request.rb +1099 -0
  678. data/lib/fortis_api/models/v1_transactions_ebt_voucher_clear_refund_keyed_request.rb +1159 -0
  679. data/lib/fortis_api/models/v1_transactions_ebt_voucher_clear_sale_keyed_request.rb +1159 -0
  680. data/lib/fortis_api/models/v1_transactions_level3_master_card_request.rb +71 -0
  681. data/lib/fortis_api/models/v1_transactions_level3_visa_request.rb +71 -0
  682. data/lib/fortis_api/models/v1_transactions_partial_reversal_request.rb +763 -0
  683. data/lib/fortis_api/models/v1_transactions_refund_request.rb +765 -0
  684. data/lib/fortis_api/models/v1_transactions_tip_adjust_request.rb +1049 -0
  685. data/lib/fortis_api/models/v1_transactions_void_request.rb +85 -0
  686. data/lib/fortis_api/models/v1_users_request.rb +430 -0
  687. data/lib/fortis_api/models/v1_users_request1.rb +440 -0
  688. data/lib/fortis_api/models/v1_wallet_provider_apple_pay_validate_merchant_request.rb +98 -0
  689. data/lib/fortis_api/models/v1_wallet_provider_merchant_details_request.rb +73 -0
  690. data/lib/fortis_api/models/v1_webhooks_batch_request.rb +255 -0
  691. data/lib/fortis_api/models/v1_webhooks_batch_request1.rb +267 -0
  692. data/lib/fortis_api/models/v1_webhooks_contact_request.rb +257 -0
  693. data/lib/fortis_api/models/v1_webhooks_contact_request1.rb +267 -0
  694. data/lib/fortis_api/models/v1_webhooks_transaction_request.rb +255 -0
  695. data/lib/fortis_api/models/v1_webhooks_transaction_request1.rb +267 -0
  696. data/lib/fortis_api/models/values4_enum.rb +36 -0
  697. data/lib/fortis_api/models/values50_enum.rb +36 -0
  698. data/lib/fortis_api/models/values51_enum.rb +40 -0
  699. data/lib/fortis_api/models/values58_enum.rb +36 -0
  700. data/lib/fortis_api/models/values5_enum.rb +36 -0
  701. data/lib/fortis_api/models/values6_enum.rb +36 -0
  702. data/lib/fortis_api/models/values7_enum.rb +36 -0
  703. data/lib/fortis_api/models/values99_enum.rb +36 -0
  704. data/lib/fortis_api/models/values_enum.rb +44 -0
  705. data/lib/fortis_api/models/wallet_provider_enum.rb +36 -0
  706. data/lib/fortis_api/models/wallet_type_enum.rb +55 -0
  707. data/lib/fortis_api/models/work_phone.rb +84 -0
  708. data/lib/fortis_api/utilities/date_time_helper.rb +11 -0
  709. data/lib/fortis_api/utilities/file_wrapper.rb +28 -0
  710. data/lib/fortis_api/utilities/union_type_lookup.rb +384 -0
  711. data/lib/fortis_api.rb +755 -0
  712. data/test/controllers/controller_test_base.rb +23 -0
  713. data/test/controllers/test_async_processing_controller.rb +43 -0
  714. data/test/controllers/test_batches_controller.rb +146 -0
  715. data/test/controllers/test_contacts_controller.rb +668 -0
  716. data/test/controllers/test_declined_recurring_transactions_controller.rb +150 -0
  717. data/test/controllers/test_device_terms_controller.rb +261 -0
  718. data/test/controllers/test_level3_data_controller.rb +91 -0
  719. data/test/controllers/test_locations_controller.rb +959 -0
  720. data/test/controllers/test_m3_ds_transactions_controller.rb +47 -0
  721. data/test/controllers/test_merchant_deposits_controller.rb +66 -0
  722. data/test/controllers/test_paylinks_controller.rb +185 -0
  723. data/test/controllers/test_payment_card_reader_token_controller.rb +43 -0
  724. data/test/controllers/test_quick_invoices_controller.rb +1218 -0
  725. data/test/controllers/test_recurring_controller.rb +1046 -0
  726. data/test/controllers/test_signatures_controller.rb +121 -0
  727. data/test/controllers/test_tags_controller.rb +155 -0
  728. data/test/controllers/test_terminals_controller.rb +242 -0
  729. data/test/controllers/test_tickets_controller.rb +94 -0
  730. data/test/controllers/test_tokens_controller.rb +641 -0
  731. data/test/controllers/test_transaction_ach_retries_controller.rb +427 -0
  732. data/test/controllers/test_transactions_read_controller.rb +867 -0
  733. data/test/controllers/test_transactions_updates_controller.rb +419 -0
  734. data/test/controllers/test_user_verifications_controller.rb +86 -0
  735. data/test/controllers/test_users_controller.rb +747 -0
  736. data/test/controllers/test_webhooks_controller.rb +51 -0
  737. data/test/http_response_catcher.rb +19 -0
  738. metadata +849 -0
@@ -0,0 +1,1046 @@
1
+ # fortis_api
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ require_relative 'controller_test_base'
7
+
8
+ class RecurringControllerTest < ControllerTestBase
9
+ # Called only once for the class before any test has executed
10
+ def setup
11
+ setup_class
12
+ @controller = @client.recurring
13
+ @response_catcher = @controller.http_call_back
14
+ end
15
+
16
+ # List all recurring record
17
+ def test_list_all_recurring_record
18
+ # Parameters for the API call
19
+ page = nil
20
+ order = nil
21
+ filter_by = nil
22
+ expand = nil
23
+ format = nil
24
+ typeahead = nil
25
+ fields = nil
26
+
27
+ # Perform the API call through the SDK function
28
+ result = @controller.list_all_recurring_record(page: page, order: order,
29
+ filter_by: filter_by,
30
+ expand: expand,
31
+ format: format,
32
+ typeahead: typeahead,
33
+ fields: fields)
34
+
35
+ # Test response code
36
+ assert_equal(200, @response_catcher.response.status_code)
37
+ # Test headers
38
+ expected_headers = {}
39
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
40
+
41
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
42
+
43
+ # Test whether the captured response is as we expected
44
+ refute_nil(result)
45
+ expected_body = JSON.parse(
46
+ '{"type":"RecurringsCollection","list":[{"account_vault_id":"11e95f8ec39'\
47
+ 'de8fbdb0a4f1a","token_id":"11e95f8ec39de8fbdb0a4f1a","contact_id":"11e9'\
48
+ '5f8ec39de8fbdb0a4f1a","account_vault_api_id":"token1234abcd","token_api'\
49
+ '_id":"token1234abcd","_joi":{"conditions":{}},"active":true,"descriptio'\
50
+ 'n":"Description","end_date":"2021-12-01","installment_total_count":20,"'\
51
+ 'interval":1,"interval_type":"d","location_id":"11e95f8ec39de8fbdb0a4f1a'\
52
+ '","notification_days":2,"payment_method":"cc","product_transaction_id":'\
53
+ '"11e95f8ec39de8fbdb0a4f1a","recurring_id":"11e95f8ec39de8fbdb0a4f1a","r'\
54
+ 'ecurring_api_id":"recurring1234abcd","start_date":"2021-12-01","status"'\
55
+ ':"active","transaction_amount":300,"terms_agree":true,"terms_agree_ip":'\
56
+ '"192.168.0.10","recurring_c1":"recurring custom data 1","recurring_c2":'\
57
+ '"recurring custom data 2","recurring_c3":"recurring custom data 3","sen'\
58
+ 'd_to_proc_as_recur":true,"tags":[{"location_id":"11e95f8ec39de8fbdb0a4f'\
59
+ '1a","title":"My terminal","id":"11e95f8ec39de8fbdb0a4f1a","created_ts":'\
60
+ '1422040992,"modified_ts":1422040992}],"secondary_amount":100,"currency"'\
61
+ ':"USD","id":"11e95f8ec39de8fbdb0a4f1a","next_run_date":"2021-12-01","cr'\
62
+ 'eated_ts":1422040992,"modified_ts":1422040992,"recurring_type_id":"i","'\
63
+ 'installment_amount_total":99999999,"created_user_id":"11e95f8ec39de8fbd'\
64
+ 'b0a4f1a","log_emails":[{"subject":"Payment Receipt - 12skiestech","body'\
65
+ '":"This email is being sent from a server.","source_address":"\\"12skie'\
66
+ 'stech A7t3qi\\" <noreply@zeamster.email>","return_path":"\\"12skiestech'\
67
+ ' A7t3qi\\" <noreply@zeamster.email>","provider_id":"0100017e67bcc530-e1'\
68
+ 'dd23b4-8a39-4a5b-8d5d-68d51c4c942f-000000","domain_id":"11e95f8ec39de8f'\
69
+ 'bdb0a4f1a","reason_sent":"Contact Email","reason_model":"Transaction","'\
70
+ 'reason_model_id":"11e95f8ec39de8fbdb0a4f1a","reply_to":"\\"Zeamster\\" '\
71
+ '<emma.p@zeamster.com>","id":"11e95f8ec39de8fbdb0a4f1a","created_ts":142'\
72
+ '2040992}],"contact":{"location_id":"11e95f8ec39de8fbdb0a4f1a","account_'\
73
+ 'number":"54545433332","contact_api_id":"137","first_name":"John","last_'\
74
+ 'name":"Smith","cell_phone":"3339998822","balance":245.36,"address":{"ci'\
75
+ 'ty":"Novi","state":"Michigan","postal_code":"48375","country":"USA"},"c'\
76
+ 'ompany_name":"Fortis Payment Systems, LLC","header_message":"This is a '\
77
+ 'sample message for you","date_of_birth":"2021-12-01","email_trx_receipt'\
78
+ '":true,"home_phone":"3339998822","office_phone":"3339998822","office_ph'\
79
+ 'one_ext":"5","home_phone_country_code":"+1","office_phone_country_code"'\
80
+ ':"+1","cell_phone_country_code":"+1","header_message_type":0,"update_if'\
81
+ '_exists":1,"contact_c1":"any","contact_c2":"anything","contact_c3":"som'\
82
+ 'ething","parent_id":"11e95f8ec39de8fbdb0a4f1a","email":"email@domain.co'\
83
+ 'm","token_import_id":"11e95f8ec39de8fbdb0a4f1a","id":"11e95f8ec39de8fbd'\
84
+ 'b0a4f1a","created_ts":1422040992,"modified_ts":1422040992,"active":true'\
85
+ ',"created_user_id":"11e95f8ec39de8fbdb0a4f1a"},"account_vault":{"accoun'\
86
+ 't_holder_name":"John Smith","account_vault_api_id":"accountvaultabcd","'\
87
+ 'token_api_id":"tokenabcd","accountvault_c1":"accountvault custom 1","ac'\
88
+ 'countvault_c2":"accountvault custom 2","accountvault_c3":"accountvault '\
89
+ 'custom 3","token_c1":"token custom 1","token_c2":"token custom 2","toke'\
90
+ 'n_c3":"token custom 3","ach_sec_code":"WEB","billing_address":{"city":"'\
91
+ 'Novi","state":"Michigan","postal_code":"48375","phone":"3339998822","co'\
92
+ 'untry":"USA"},"contact_id":"11e95f8ec39de8fbdb0a4f1a","customer_id":"12'\
93
+ '3456","identity_verification":{"dl_state":"MI","dl_number":"1235567","s'\
94
+ 'sn4":"8527","dob_year":"1980"},"location_id":"11e95f8ec39de8fbdb0a4f1a"'\
95
+ ',"previous_account_vault_api_id":"previousaccountvault123456","previous'\
96
+ '_token_api_id":"previousaccountvault123456","previous_account_vault_id"'\
97
+ ':"11e95f8ec39de8fbdb0a4f1a","previous_token_id":"11e95f8ec39de8fbdb0a4f'\
98
+ '1a","previous_transaction_id":"11e95f8ec39de8fbdb0a4f1a","account_numbe'\
99
+ 'r":"545454545454545","terms_agree":true,"terms_agree_ip":"192.168.0.10"'\
100
+ ',"title":"Test CC Account","token_import_id":"11e95f8ec39de8fbdb0a4f1a"'\
101
+ ',"secure_directory_server_transaction_id":"d65e93c3-35ab-41ba-b307-767b'\
102
+ 'fc19eae","secure_protocol_version":2,"secure_auth_data":"vVwL7UNHCf8W8M'\
103
+ '2LAfvRChNHN7c%3D","secure_collection_indicator":null,"three_ds_server_t'\
104
+ 'rans_id":"d65e93c3-35ab-41ba-b307-767bfc19eae","acs_transaction_id":"13'\
105
+ 'c701a3-5a88-4c45-89e9-ef65e50a8bf9","_joi":{},"id":"11e95f8ec39de8fbdb0'\
106
+ 'a4f1a","account_type":"checking","active":true,"cau_summary_status_id":'\
107
+ '1,"created_ts":1422040992,"e_serial_number":"1234567890","e_track_data"'\
108
+ ':null,"e_format":null,"e_keyed_data":null,"expiring_in_months":null,"ex'\
109
+ 'p_date":"0722","first_six":"700953","has_recurring":false,"last_four":"'\
110
+ '3657","modified_ts":1422040992,"payment_method":"cc","ticket":null,"tra'\
111
+ 'ck_data":null,"created_user_id":"11e95f8ec39de8fbdb0a4f1a","cau_last_up'\
112
+ 'dated_ts":1422040992,"routing_number":"051904524"},"created_user":{"acc'\
113
+ 'ount_number":"5454545454545454","branding_domain_url":"{branding_domain'\
114
+ '_url}","cell_phone":"3339998822","company_name":"Fortis Payment Systems'\
115
+ ', LLC","contact_id":"11e95f8ec39de8fbdb0a4f1a","date_of_birth":"2021-12'\
116
+ '-01","domain_id":"11e95f8ec39de8fbdb0a4f1a","email":"email@domain.com",'\
117
+ '"email_trx_receipt":true,"home_phone":"3339998822","first_name":"John",'\
118
+ '"last_name":"Smith","locale":"en-US","office_phone":"3339998822","offic'\
119
+ 'e_ext_phone":"5","primary_location_id":"11e95f8ec39de8fbdb0a4f1a","requ'\
120
+ 'ires_new_password":null,"terms_condition_code":"20220308","tz":"America'\
121
+ '/New_York","ui_prefs":{"entry_page":"dashboard","page_size":2,"report_e'\
122
+ 'xport_type":"csv","process_method":"virtual_terminal","default_terminal'\
123
+ '":"11e95f8ec39de8fbdb0a4f1a"},"username":"{user_name}","user_api_key":"'\
124
+ '234bas8dfn8238f923w2","user_hash_key":null,"user_type_code":100,"passwo'\
125
+ 'rd":null,"zip":"48375","location_id":"11e95f8ec39de8fbdb0a4f1a","status'\
126
+ '_code":1,"api_only":false,"is_invitation":false,"address":{"city":"Novi'\
127
+ '","state":"MI","postal_code":"48375","country":"US"},"id":"11e95f8ec39d'\
128
+ 'e8fbdb0a4f1a","status":true,"login_attempts":0,"last_login_ts":14220409'\
129
+ '92,"created_ts":1422040992,"modified_ts":1422040992,"created_user_id":"'\
130
+ '11e95f8ec39de8fbdb0a4f1a","terms_accepted_ts":1422040992,"terms_agree_i'\
131
+ 'p":"192.168.0.10","current_date_time":"2019-03-11T10:38:26-0700","curre'\
132
+ 'nt_login":1422040992,"log_api_response_body_ts":1422040992},"signature"'\
133
+ ':{"signature":"iVBORw0KGgoAAAANSUhEUgAAANwAAAAsCAYAAAAOyNaYAAACvklEQVR4'\
134
+ 'nO3bLZOqUBjA8ScaNxqNRiKRaCQaiXwEG7cRiUajH8FINBqJRCKR+NxyD4OIXtaXw2H3/5s'\
135
+ '5MwZ39rgz/zkvuKKqgar+YTAYnx/y7wUACwgOsIjgAIsIznFlWerlcpl6GngTgnNYVVW6WC'\
136
+ 'xURDTLsqmngzcgOMdtNhsVERURDYJA8zyfekp4AcE5oCgKzfN8cOvYNM1VdCKiURRNMEu8A'\
137
+ '8FNrCzLm5j68Q1Fx2o3TwTngCzLNAiCq6D6UTVNo0mS6NfXF+HNGME5or+KeZ7XxrVcLjWO'\
138
+ 'Y83zXOu6vnqfeQ/bzHkgOIf0VzHP83Sz2eh6vW4D831fy7JsowvDsH1NdO4jOAfVdX0VXhR'\
139
+ 'FWhSFRlHUrmr7/b4NLU3T9jVbTLcRnMO620ezep1Op3bF832/3XIORQr3EJzjumc7E9HQBU'\
140
+ 'oYhjdnPKJzD8E5xjyT647T6aSr1UpFRPf7ffveuq41TdOHZzyicwvBTeBeVGEY3jwaGBrmW'\
141
+ 'V3/Z82K1z/jca5zB8F9wFBQY6JaLBYax7EmSXJ3DD2v624rzUpoVrsgCDjXOWRWwVVVNfUU'\
142
+ 'rvTDGrNK3YsqTdNRn69pGs2y7NshssV0w2yCK4pCRUSPx+Okc/hfWI9WqbFRPaMbYjc+s7p'\
143
+ 'tt1uic8BsgsvzXEVED4fDR3/P2PPVUFifDOo7THxmPiY03/fZXk7s1wR371z1zPnKlbDGuv'\
144
+ 'c9TKKz78cE9yio3W436vbv1fOV6/oPx010/Ee5PbMLbrfbPRWU53kPb/9+SlRj9L8ALcJ/l'\
145
+ 'Nsym+DO5/PTQaVpqnVdT/0RnGLOed0LlikvpH6L2QSnqoPX4QT1mu4FC3/Dz5tVcMDcERxg'\
146
+ 'EcEBFhEcYBHBARYRHGARwQEWERxgEcEBFhEcYBHBARYRHGARwQEWERxgEcEBFhEcYBHBARY'\
147
+ 'RHGDRX+EC0ah++pNrAAAAAElFTkSuQmCC","resource":"Transaction","resource_i'\
148
+ 'd":"11e95f8ec39de8fbdb0a4f1a","id":"11e95f8ec39de8fbdb0a4f1a","created_'\
149
+ 'ts":1422040992,"modified_ts":1422040992},"payment_schedule":["2021-12-0'\
150
+ '1"],"location":{"id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992'\
151
+ ',"modified_ts":1422040992,"account_number":"5454545454545454","address"'\
152
+ ':{"city":"Novi","state":"MI","postal_code":"48375","country":"US"},"bra'\
153
+ 'nding_domain_id":"11e95f8ec39de8fbdb0a4f1a","contact_email_trx_receipt_'\
154
+ 'default":true,"default_ach":"11e608a7d515f1e093242bb2","default_cc":"11'\
155
+ 'e608a442a5f1e092242dda","email_reply_to":"email@domain.com","fax":"3339'\
156
+ '998822","location_api_id":"location-111111","location_api_key":"AE34BBC'\
157
+ 'AADF4AE34BBCAADF4","location_c1":"custom 1","location_c2":"custom 2","l'\
158
+ 'ocation_c3":"custom data 3","name":"Sample Company Headquarters","offic'\
159
+ 'e_phone":"2481234567","office_ext_phone":"1021021209","tz":"America/New'\
160
+ '_York","parent_id":"11e95f8ec39de8fbdb0a4f1a","show_contact_notes":true'\
161
+ ',"show_contact_files":true,"created_user_id":"11e95f8ec39de8fbdb0a4f1a"'\
162
+ ',"location_type":"merchant","ticket_hash_key":"A5F443CADF4AE34BBCAADF4"'\
163
+ ',"additional_access":{}},"product_transaction":{"processor_version":"1_'\
164
+ '0_0","title":"My terminal","payment_method":"cc","processor":"zgate","m'\
165
+ 'cc":"1111","tax_surcharge_config":2,"partner":"standalone","location_id'\
166
+ '":"11e95f8ec39de8fbdb0a4f1a","surcharge":{},"processor_data":{},"vt_cle'\
167
+ 'rk_number":true,"vt_billing_phone":true,"vt_enable_tip":true,"ach_allow'\
168
+ '_debit":true,"ach_allow_credit":true,"ach_allow_refund":true,"vt_cvv":t'\
169
+ 'rue,"vt_street":true,"vt_zip":true,"vt_order_num":true,"vt_enable":true'\
170
+ ',"receipt_show_contact_name":true,"display_avs":true,"card_type_visa":t'\
171
+ 'rue,"card_type_mc":true,"card_type_disc":true,"card_type_amex":true,"ca'\
172
+ 'rd_type_diners":true,"card_type_jcb":true,"card_type_ebt":true,"allow_e'\
173
+ 'bt_cash_benefit":true,"allow_ebt_food_stamp":true,"invoice_location":tr'\
174
+ 'ue,"allow_partial_authorization":true,"allow_recurring_partial_authoriz'\
175
+ 'ation":true,"auto_decline_cvv":true,"auto_decline_street":true,"auto_de'\
176
+ 'cline_zip":true,"split_payments_allow":true,"vt_show_custom_fields":tru'\
177
+ 'e,"receipt_show_custom_fields":true,"vt_override_sales_tax_allowed":tru'\
178
+ 'e,"vt_enable_sales_tax":true,"vt_require_zip":true,"vt_require_street":'\
179
+ 'true,"auto_decline_cavv":true,"current_batch":34,"dup_check_per_batch":'\
180
+ 'null,"paylink_allow":false,"quick_invoice_allow":false,"level3_allow":f'\
181
+ 'alse,"payfac_enable":false,"enable_3ds":false,"sales_office_id":"11e95f'\
182
+ '8ec39de8fbdb0a4f1a","hosted_payment_page_allow":false,"surcharge_id":"1'\
183
+ '1e95f8ec39de8fbdb0a4f1a","allow_big_commerce":false,"level3_default":{"'\
184
+ 'destination_country_code":"840","duty_amount":0,"freight_amount":0,"nat'\
185
+ 'ional_tax":2,"sales_tax":200,"shipfrom_zip_code":"AZ12345","shipto_zip_'\
186
+ 'code":"MI48335","tax_amount":0,"tax_exempt":"0","customer_vat_registrat'\
187
+ 'ion":"12345678","merchant_vat_registration":"123456","order_date":"1710'\
188
+ '06","summary_commodity_code":"C1K2","tax_rate":0,"unique_vat_ref_number'\
189
+ '":"vat1234","line_items":[{"alternate_tax_id":"1234","debit_credit":"C"'\
190
+ ',"description":"cool drink","discount_amount":10,"discount_rate":11,"pr'\
191
+ 'oduct_code":"coke12345678","quantity":5,"tax_amount":3,"tax_rate":0,"ta'\
192
+ 'x_type_applied":"22","tax_type_id":"a1","unit_code":"gll","unit_cost":1'\
193
+ '0,"commodity_code":"cc123456","other_tax_amount":0}]},"cau_subscribe_ty'\
194
+ 'pe_id":0,"location_billing_account_id":"11eb88b873980c64a21e5fd2","prod'\
195
+ 'uct_billing_group_id":"nofees","account_number":"12345678","run_avs_on_'\
196
+ 'accountvault_create":false,"accountvault_expire_notification_email_enab'\
197
+ 'le":false,"debit_allow_void":false,"quick_invoice_text_to_pay":false,"s'\
198
+ 'ms_enable":false,"vt_show_currency":true,"receipt_show_currency":false,'\
199
+ '"allow_blind_refund":false,"vt_show_company_name":false,"receipt_show_c'\
200
+ 'ompany_name":false,"bank_funded_only":false,"require_cvv_on_keyed_cnp":'\
201
+ 'true,"require_cvv_on_tokenized_cnp":true,"show_secondary_amount":false,'\
202
+ '"allow_secondary_amount":false,"show_google_pay":true,"show_apple_pay":'\
203
+ 'true,"batch_risk_config":{},"currency_code":840,"enable_ach_validation"'\
204
+ ':false,"enable_ach_retry":false,"allow_softpos":false,"id":"11e95f8ec39'\
205
+ 'de8fbdb0a4f1a","active":true,"created_ts":1422040992,"modified_ts":1422'\
206
+ '040992,"created_user_id":"11e95f8ec39de8fbdb0a4f1a","modified_user_id":'\
207
+ '"11e95f8ec39de8fbdb0a4f1a","product_transaction_api_id":"11e95f8ec39de8'\
208
+ 'fbdb0a4f1a","is_secondary_amount_allowed":false,"fortis_id":"8149742","'\
209
+ 'product_billing_group_code":"nofees","cau_subscribe_type_code":0},"next'\
210
+ '_run_date_min":"2021-12-01","next_run_date_max":"2021-12-01","all_tags"'\
211
+ ':[{"location_id":"11e95f8ec39de8fbdb0a4f1a","title":"My terminal","id":'\
212
+ '"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992,"modified_ts":142204'\
213
+ '0992}],"changelogs":[{"id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422'\
214
+ '040992,"action":"CREATE","model":"TransactionRequest","model_id":"11ec8'\
215
+ '29598f0d4008be9aba4","user_id":"11e95f8ec39de8fbdb0a4f1a","changelog_de'\
216
+ 'tails":[{"id":"11e95f8ec39de8fbdb0a4f1a","changelog_id":"11e95f8ec39de8'\
217
+ 'fbdb0a4f1a","field":"next_run_ts","old_value":"1643616000"}],"user":{"i'\
218
+ 'd":"11e95f8ec39de8fbdb0a4f1a","username":"email@domain.com","first_name'\
219
+ '":"Bob","last_name":"Fairview"}}],"forecast":{"id":"11e95f8ec39de8fbdb0'\
220
+ 'a4f1a","recurring_id":"Recurring ID","created_ts":1422040992,"modified_'\
221
+ 'ts":1422040992},"recurring_splits":[{"id":"11e95f8ec39de8fbdb0a4f1a","c'\
222
+ 'reated_ts":1422040992,"created_user_id":"11e95f8ec39de8fbdb0a4f1a"}]}],'\
223
+ '"links":{"type":"Links","first":"/v1/endpoint?page[size]=10&page[number'\
224
+ ']=1","previous":"/v1/endpoint?page[size]=10&page[number]=5","next":"/v1'\
225
+ '/endpoint?page[size]=10&page[number]=7","last":"/v1/endpoint?page[size]'\
226
+ '=10&page[number]=42"},"pagination":{"type":"Pagination","total_count":4'\
227
+ '23,"page_count":42,"page_number":6,"page_size":10},"sort":{"type":"Sort'\
228
+ 'ing","fields":[{"field":"last_name","order":"asc"}]}}'
229
+ )
230
+ received_body = JSON.parse(@response_catcher.response.raw_body)
231
+ assert(ComparisonHelper.match_body(expected_body, received_body))
232
+ end
233
+
234
+ # Delete recurring record
235
+ def test_delete_recurring_record
236
+ # Parameters for the API call
237
+ recurring_id = '11e95f8ec39de8fbdb0a4f1a'
238
+
239
+ # Perform the API call through the SDK function
240
+ result = @controller.delete_recurring_record(recurring_id)
241
+
242
+ # Test response code
243
+ assert_equal(204, @response_catcher.response.status_code)
244
+ # Test headers
245
+ expected_headers = {}
246
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
247
+
248
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
249
+
250
+ # Test whether the captured response is as we expected
251
+ refute_nil(result)
252
+ expected_body = JSON.parse(
253
+ '{"type":"Recurring","data":{"account_vault_id":"11e95f8ec39de8fbdb0a4f1'\
254
+ 'a","token_id":"11e95f8ec39de8fbdb0a4f1a","contact_id":"11e95f8ec39de8fb'\
255
+ 'db0a4f1a","account_vault_api_id":"token1234abcd","token_api_id":"token1'\
256
+ '234abcd","_joi":{"conditions":{}},"active":true,"description":"Descript'\
257
+ 'ion","end_date":"2021-12-01","installment_total_count":20,"interval":1,'\
258
+ '"interval_type":"d","location_id":"11e95f8ec39de8fbdb0a4f1a","notificat'\
259
+ 'ion_days":2,"payment_method":"cc","product_transaction_id":"11e95f8ec39'\
260
+ 'de8fbdb0a4f1a","recurring_id":"11e95f8ec39de8fbdb0a4f1a","recurring_api'\
261
+ '_id":"recurring1234abcd","start_date":"2021-12-01","status":"active","t'\
262
+ 'ransaction_amount":300,"terms_agree":true,"terms_agree_ip":"192.168.0.1'\
263
+ '0","recurring_c1":"recurring custom data 1","recurring_c2":"recurring c'\
264
+ 'ustom data 2","recurring_c3":"recurring custom data 3","send_to_proc_as'\
265
+ '_recur":true,"tags":[{"location_id":"11e95f8ec39de8fbdb0a4f1a","title":'\
266
+ '"My terminal","id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992,"'\
267
+ 'modified_ts":1422040992}],"secondary_amount":100,"currency":"USD","id":'\
268
+ '"11e95f8ec39de8fbdb0a4f1a","next_run_date":"2021-12-01","created_ts":14'\
269
+ '22040992,"modified_ts":1422040992,"recurring_type_id":"i","installment_'\
270
+ 'amount_total":99999999,"created_user_id":"11e95f8ec39de8fbdb0a4f1a","lo'\
271
+ 'g_emails":[{"subject":"Payment Receipt - 12skiestech","body":"This emai'\
272
+ 'l is being sent from a server.","source_address":"\\"12skiestech A7t3qi'\
273
+ '\\" <noreply@zeamster.email>","return_path":"\\"12skiestech A7t3qi\\" <'\
274
+ 'noreply@zeamster.email>","provider_id":"0100017e67bcc530-e1dd23b4-8a39-'\
275
+ '4a5b-8d5d-68d51c4c942f-000000","domain_id":"11e95f8ec39de8fbdb0a4f1a","'\
276
+ 'reason_sent":"Contact Email","reason_model":"Transaction","reason_model'\
277
+ '_id":"11e95f8ec39de8fbdb0a4f1a","reply_to":"\\"Zeamster\\" <emma.p@zeam'\
278
+ 'ster.com>","id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992}],"c'\
279
+ 'ontact":{"location_id":"11e95f8ec39de8fbdb0a4f1a","account_number":"545'\
280
+ '45433332","contact_api_id":"137","first_name":"John","last_name":"Smith'\
281
+ '","cell_phone":"3339998822","balance":245.36,"address":{"city":"Novi","'\
282
+ 'state":"Michigan","postal_code":"48375","country":"USA"},"company_name"'\
283
+ ':"Fortis Payment Systems, LLC","header_message":"This is a sample messa'\
284
+ 'ge for you","date_of_birth":"2021-12-01","email_trx_receipt":true,"home'\
285
+ '_phone":"3339998822","office_phone":"3339998822","office_phone_ext":"5"'\
286
+ ',"home_phone_country_code":"+1","office_phone_country_code":"+1","cell_'\
287
+ 'phone_country_code":"+1","header_message_type":0,"update_if_exists":1,"'\
288
+ 'contact_c1":"any","contact_c2":"anything","contact_c3":"something","par'\
289
+ 'ent_id":"11e95f8ec39de8fbdb0a4f1a","email":"email@domain.com","token_im'\
290
+ 'port_id":"11e95f8ec39de8fbdb0a4f1a","id":"11e95f8ec39de8fbdb0a4f1a","cr'\
291
+ 'eated_ts":1422040992,"modified_ts":1422040992,"active":true,"created_us'\
292
+ 'er_id":"11e95f8ec39de8fbdb0a4f1a"},"account_vault":{"account_holder_nam'\
293
+ 'e":"John Smith","account_vault_api_id":"accountvaultabcd","token_api_id'\
294
+ '":"tokenabcd","accountvault_c1":"accountvault custom 1","accountvault_c'\
295
+ '2":"accountvault custom 2","accountvault_c3":"accountvault custom 3","t'\
296
+ 'oken_c1":"token custom 1","token_c2":"token custom 2","token_c3":"token'\
297
+ ' custom 3","ach_sec_code":"WEB","billing_address":{"city":"Novi","state'\
298
+ '":"Michigan","postal_code":"48375","phone":"3339998822","country":"USA"'\
299
+ '},"contact_id":"11e95f8ec39de8fbdb0a4f1a","customer_id":"123456","ident'\
300
+ 'ity_verification":{"dl_state":"MI","dl_number":"1235567","ssn4":"8527",'\
301
+ '"dob_year":"1980"},"location_id":"11e95f8ec39de8fbdb0a4f1a","previous_a'\
302
+ 'ccount_vault_api_id":"previousaccountvault123456","previous_token_api_i'\
303
+ 'd":"previousaccountvault123456","previous_account_vault_id":"11e95f8ec3'\
304
+ '9de8fbdb0a4f1a","previous_token_id":"11e95f8ec39de8fbdb0a4f1a","previou'\
305
+ 's_transaction_id":"11e95f8ec39de8fbdb0a4f1a","account_number":"54545454'\
306
+ '5454545","terms_agree":true,"terms_agree_ip":"192.168.0.10","title":"Te'\
307
+ 'st CC Account","token_import_id":"11e95f8ec39de8fbdb0a4f1a","secure_dir'\
308
+ 'ectory_server_transaction_id":"d65e93c3-35ab-41ba-b307-767bfc19eae","se'\
309
+ 'cure_protocol_version":2,"secure_auth_data":"vVwL7UNHCf8W8M2LAfvRChNHN7'\
310
+ 'c%3D","secure_collection_indicator":null,"three_ds_server_trans_id":"d6'\
311
+ '5e93c3-35ab-41ba-b307-767bfc19eae","acs_transaction_id":"13c701a3-5a88-'\
312
+ '4c45-89e9-ef65e50a8bf9","_joi":{},"id":"11e95f8ec39de8fbdb0a4f1a","acco'\
313
+ 'unt_type":"checking","active":true,"cau_summary_status_id":1,"created_t'\
314
+ 's":1422040992,"e_serial_number":"1234567890","e_track_data":null,"e_for'\
315
+ 'mat":null,"e_keyed_data":null,"expiring_in_months":null,"exp_date":"072'\
316
+ '2","first_six":"700953","has_recurring":false,"last_four":"3657","modif'\
317
+ 'ied_ts":1422040992,"payment_method":"cc","ticket":null,"track_data":nul'\
318
+ 'l,"created_user_id":"11e95f8ec39de8fbdb0a4f1a","cau_last_updated_ts":14'\
319
+ '22040992,"routing_number":"051904524"},"created_user":{"account_number"'\
320
+ ':"5454545454545454","branding_domain_url":"{branding_domain_url}","cell'\
321
+ '_phone":"3339998822","company_name":"Fortis Payment Systems, LLC","cont'\
322
+ 'act_id":"11e95f8ec39de8fbdb0a4f1a","date_of_birth":"2021-12-01","domain'\
323
+ '_id":"11e95f8ec39de8fbdb0a4f1a","email":"email@domain.com","email_trx_r'\
324
+ 'eceipt":true,"home_phone":"3339998822","first_name":"John","last_name":'\
325
+ '"Smith","locale":"en-US","office_phone":"3339998822","office_ext_phone"'\
326
+ ':"5","primary_location_id":"11e95f8ec39de8fbdb0a4f1a","requires_new_pas'\
327
+ 'sword":null,"terms_condition_code":"20220308","tz":"America/New_York","'\
328
+ 'ui_prefs":{"entry_page":"dashboard","page_size":2,"report_export_type":'\
329
+ '"csv","process_method":"virtual_terminal","default_terminal":"11e95f8ec'\
330
+ '39de8fbdb0a4f1a"},"username":"{user_name}","user_api_key":"234bas8dfn82'\
331
+ '38f923w2","user_hash_key":null,"user_type_code":100,"password":null,"zi'\
332
+ 'p":"48375","location_id":"11e95f8ec39de8fbdb0a4f1a","status_code":1,"ap'\
333
+ 'i_only":false,"is_invitation":false,"address":{"city":"Novi","state":"M'\
334
+ 'I","postal_code":"48375","country":"US"},"id":"11e95f8ec39de8fbdb0a4f1a'\
335
+ '","status":true,"login_attempts":0,"last_login_ts":1422040992,"created_'\
336
+ 'ts":1422040992,"modified_ts":1422040992,"created_user_id":"11e95f8ec39d'\
337
+ 'e8fbdb0a4f1a","terms_accepted_ts":1422040992,"terms_agree_ip":"192.168.'\
338
+ '0.10","current_date_time":"2019-03-11T10:38:26-0700","current_login":14'\
339
+ '22040992,"log_api_response_body_ts":1422040992},"signature":{"signature'\
340
+ '":"iVBORw0KGgoAAAANSUhEUgAAANwAAAAsCAYAAAAOyNaYAAACvklEQVR4nO3bLZOqUBjA'\
341
+ '8ScaNxqNRiKRaCQaiXwEG7cRiUajH8FINBqJRCKR+NxyD4OIXtaXw2H3/5s5MwZ39rgz/zk'\
342
+ 'vuKKqgar+YTAYnx/y7wUACwgOsIjgAIsIznFlWerlcpl6GngTgnNYVVW6WCxURDTLsqmngz'\
343
+ 'cgOMdtNhsVERURDYJA8zyfekp4AcE5oCgKzfN8cOvYNM1VdCKiURRNMEu8A8FNrCzLm5j68'\
344
+ 'Q1Fx2o3TwTngCzLNAiCq6D6UTVNo0mS6NfXF+HNGME5or+KeZ7XxrVcLjWOY83zXOu6vnqf'\
345
+ 'eQ/bzHkgOIf0VzHP83Sz2eh6vW4D831fy7JsowvDsH1NdO4jOAfVdX0VXhRFWhSFRlHUrmr'\
346
+ '7/b4NLU3T9jVbTLcRnMO620ezep1Op3bF832/3XIORQr3EJzjumc7E9HQBUoYhjdnPKJzD8'\
347
+ 'E5xjyT647T6aSr1UpFRPf7ffveuq41TdOHZzyicwvBTeBeVGEY3jwaGBrmWV3/Z82K1z/jc'\
348
+ 'a5zB8F9wFBQY6JaLBYax7EmSXJ3DD2v624rzUpoVrsgCDjXOWRWwVVVNfUUrvTDGrNK3Ysq'\
349
+ 'TdNRn69pGs2y7NshssV0w2yCK4pCRUSPx+Okc/hfWI9WqbFRPaMbYjc+s7ptt1uic8Bsgsv'\
350
+ 'zXEVED4fDR3/P2PPVUFifDOo7THxmPiY03/fZXk7s1wR371z1zPnKlbDGuvc9TKKz78cE9y'\
351
+ 'io3W436vbv1fOV6/oPx010/Ee5PbMLbrfbPRWU53kPb/9+SlRj9L8ALcJ/lNsym+DO5/PTQ'\
352
+ 'aVpqnVdT/0RnGLOed0LlikvpH6L2QSnqoPX4QT1mu4FC3/Dz5tVcMDcERxgEcEBFhEcYBHB'\
353
+ 'ARYRHGARwQEWERxgEcEBFhEcYBHBARYRHGARwQEWERxgEcEBFhEcYBHBARYRHGDRX+EC0ah'\
354
+ '++pNrAAAAAElFTkSuQmCC","resource":"Transaction","resource_id":"11e95f8e'\
355
+ 'c39de8fbdb0a4f1a","id":"11e95f8ec39de8fbdb0a4f1a","created_ts":14220409'\
356
+ '92,"modified_ts":1422040992},"payment_schedule":["2021-12-01"],"locatio'\
357
+ 'n":{"id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992,"modified_t'\
358
+ 's":1422040992,"account_number":"5454545454545454","address":{"city":"No'\
359
+ 'vi","state":"MI","postal_code":"48375","country":"US"},"branding_domain'\
360
+ '_id":"11e95f8ec39de8fbdb0a4f1a","contact_email_trx_receipt_default":tru'\
361
+ 'e,"default_ach":"11e608a7d515f1e093242bb2","default_cc":"11e608a442a5f1'\
362
+ 'e092242dda","email_reply_to":"email@domain.com","fax":"3339998822","loc'\
363
+ 'ation_api_id":"location-111111","location_api_key":"AE34BBCAADF4AE34BBC'\
364
+ 'AADF4","location_c1":"custom 1","location_c2":"custom 2","location_c3":'\
365
+ '"custom data 3","name":"Sample Company Headquarters","office_phone":"24'\
366
+ '81234567","office_ext_phone":"1021021209","tz":"America/New_York","pare'\
367
+ 'nt_id":"11e95f8ec39de8fbdb0a4f1a","show_contact_notes":true,"show_conta'\
368
+ 'ct_files":true,"created_user_id":"11e95f8ec39de8fbdb0a4f1a","location_t'\
369
+ 'ype":"merchant","ticket_hash_key":"A5F443CADF4AE34BBCAADF4","additional'\
370
+ '_access":{}},"product_transaction":{"processor_version":"1_0_0","title"'\
371
+ ':"My terminal","payment_method":"cc","processor":"zgate","mcc":"1111","'\
372
+ 'tax_surcharge_config":2,"partner":"standalone","location_id":"11e95f8ec'\
373
+ '39de8fbdb0a4f1a","surcharge":{},"processor_data":{},"vt_clerk_number":t'\
374
+ 'rue,"vt_billing_phone":true,"vt_enable_tip":true,"ach_allow_debit":true'\
375
+ ',"ach_allow_credit":true,"ach_allow_refund":true,"vt_cvv":true,"vt_stre'\
376
+ 'et":true,"vt_zip":true,"vt_order_num":true,"vt_enable":true,"receipt_sh'\
377
+ 'ow_contact_name":true,"display_avs":true,"card_type_visa":true,"card_ty'\
378
+ 'pe_mc":true,"card_type_disc":true,"card_type_amex":true,"card_type_dine'\
379
+ 'rs":true,"card_type_jcb":true,"card_type_ebt":true,"allow_ebt_cash_bene'\
380
+ 'fit":true,"allow_ebt_food_stamp":true,"invoice_location":true,"allow_pa'\
381
+ 'rtial_authorization":true,"allow_recurring_partial_authorization":true,'\
382
+ '"auto_decline_cvv":true,"auto_decline_street":true,"auto_decline_zip":t'\
383
+ 'rue,"split_payments_allow":true,"vt_show_custom_fields":true,"receipt_s'\
384
+ 'how_custom_fields":true,"vt_override_sales_tax_allowed":true,"vt_enable'\
385
+ '_sales_tax":true,"vt_require_zip":true,"vt_require_street":true,"auto_d'\
386
+ 'ecline_cavv":true,"current_batch":34,"dup_check_per_batch":null,"paylin'\
387
+ 'k_allow":false,"quick_invoice_allow":false,"level3_allow":false,"payfac'\
388
+ '_enable":false,"enable_3ds":false,"sales_office_id":"11e95f8ec39de8fbdb'\
389
+ '0a4f1a","hosted_payment_page_allow":false,"surcharge_id":"11e95f8ec39de'\
390
+ '8fbdb0a4f1a","allow_big_commerce":false,"level3_default":{"destination_'\
391
+ 'country_code":"840","duty_amount":0,"freight_amount":0,"national_tax":2'\
392
+ ',"sales_tax":200,"shipfrom_zip_code":"AZ12345","shipto_zip_code":"MI483'\
393
+ '35","tax_amount":0,"tax_exempt":"0","customer_vat_registration":"123456'\
394
+ '78","merchant_vat_registration":"123456","order_date":"171006","summary'\
395
+ '_commodity_code":"C1K2","tax_rate":0,"unique_vat_ref_number":"vat1234",'\
396
+ '"line_items":[{"alternate_tax_id":"1234","debit_credit":"C","descriptio'\
397
+ 'n":"cool drink","discount_amount":10,"discount_rate":11,"product_code":'\
398
+ '"coke12345678","quantity":5,"tax_amount":3,"tax_rate":0,"tax_type_appli'\
399
+ 'ed":"22","tax_type_id":"a1","unit_code":"gll","unit_cost":10,"commodity'\
400
+ '_code":"cc123456","other_tax_amount":0}]},"cau_subscribe_type_id":0,"lo'\
401
+ 'cation_billing_account_id":"11eb88b873980c64a21e5fd2","product_billing_'\
402
+ 'group_id":"nofees","account_number":"12345678","run_avs_on_accountvault'\
403
+ '_create":false,"accountvault_expire_notification_email_enable":false,"d'\
404
+ 'ebit_allow_void":false,"quick_invoice_text_to_pay":false,"sms_enable":f'\
405
+ 'alse,"vt_show_currency":true,"receipt_show_currency":false,"allow_blind'\
406
+ '_refund":false,"vt_show_company_name":false,"receipt_show_company_name"'\
407
+ ':false,"bank_funded_only":false,"require_cvv_on_keyed_cnp":true,"requir'\
408
+ 'e_cvv_on_tokenized_cnp":true,"show_secondary_amount":false,"allow_secon'\
409
+ 'dary_amount":false,"show_google_pay":true,"show_apple_pay":true,"batch_'\
410
+ 'risk_config":{},"currency_code":840,"enable_ach_validation":false,"enab'\
411
+ 'le_ach_retry":false,"allow_softpos":false,"id":"11e95f8ec39de8fbdb0a4f1'\
412
+ 'a","active":true,"created_ts":1422040992,"modified_ts":1422040992,"crea'\
413
+ 'ted_user_id":"11e95f8ec39de8fbdb0a4f1a","modified_user_id":"11e95f8ec39'\
414
+ 'de8fbdb0a4f1a","product_transaction_api_id":"11e95f8ec39de8fbdb0a4f1a",'\
415
+ '"is_secondary_amount_allowed":false,"fortis_id":"8149742","product_bill'\
416
+ 'ing_group_code":"nofees","cau_subscribe_type_code":0},"next_run_date_mi'\
417
+ 'n":"2021-12-01","next_run_date_max":"2021-12-01","all_tags":[{"location'\
418
+ '_id":"11e95f8ec39de8fbdb0a4f1a","title":"My terminal","id":"11e95f8ec39'\
419
+ 'de8fbdb0a4f1a","created_ts":1422040992,"modified_ts":1422040992}],"chan'\
420
+ 'gelogs":[{"id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992,"acti'\
421
+ 'on":"CREATE","model":"TransactionRequest","model_id":"11ec829598f0d4008'\
422
+ 'be9aba4","user_id":"11e95f8ec39de8fbdb0a4f1a","changelog_details":[{"id'\
423
+ '":"11e95f8ec39de8fbdb0a4f1a","changelog_id":"11e95f8ec39de8fbdb0a4f1a",'\
424
+ '"field":"next_run_ts","old_value":"1643616000"}],"user":{"id":"11e95f8e'\
425
+ 'c39de8fbdb0a4f1a","username":"email@domain.com","first_name":"Bob","las'\
426
+ 't_name":"Fairview"}}],"forecast":{"id":"11e95f8ec39de8fbdb0a4f1a","recu'\
427
+ 'rring_id":"Recurring ID","created_ts":1422040992,"modified_ts":14220409'\
428
+ '92},"recurring_splits":[{"id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1'\
429
+ '422040992,"created_user_id":"11e95f8ec39de8fbdb0a4f1a"}]}}'
430
+ )
431
+ received_body = JSON.parse(@response_catcher.response.raw_body)
432
+ assert(ComparisonHelper.match_body(expected_body, received_body))
433
+ end
434
+
435
+ # View single recurring record
436
+ def test_view_single_recurring_record
437
+ # Parameters for the API call
438
+ recurring_id = '11e95f8ec39de8fbdb0a4f1a'
439
+ expand = nil
440
+ fields = nil
441
+
442
+ # Perform the API call through the SDK function
443
+ result = @controller.view_single_recurring_record(recurring_id,
444
+ expand: expand,
445
+ fields: fields)
446
+
447
+ # Test response code
448
+ assert_equal(200, @response_catcher.response.status_code)
449
+ # Test headers
450
+ expected_headers = {}
451
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
452
+
453
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
454
+
455
+ # Test whether the captured response is as we expected
456
+ refute_nil(result)
457
+ expected_body = JSON.parse(
458
+ '{"type":"Recurring","data":{"account_vault_id":"11e95f8ec39de8fbdb0a4f1'\
459
+ 'a","token_id":"11e95f8ec39de8fbdb0a4f1a","contact_id":"11e95f8ec39de8fb'\
460
+ 'db0a4f1a","account_vault_api_id":"token1234abcd","token_api_id":"token1'\
461
+ '234abcd","_joi":{"conditions":{}},"active":true,"description":"Descript'\
462
+ 'ion","end_date":"2021-12-01","installment_total_count":20,"interval":1,'\
463
+ '"interval_type":"d","location_id":"11e95f8ec39de8fbdb0a4f1a","notificat'\
464
+ 'ion_days":2,"payment_method":"cc","product_transaction_id":"11e95f8ec39'\
465
+ 'de8fbdb0a4f1a","recurring_id":"11e95f8ec39de8fbdb0a4f1a","recurring_api'\
466
+ '_id":"recurring1234abcd","start_date":"2021-12-01","status":"active","t'\
467
+ 'ransaction_amount":300,"terms_agree":true,"terms_agree_ip":"192.168.0.1'\
468
+ '0","recurring_c1":"recurring custom data 1","recurring_c2":"recurring c'\
469
+ 'ustom data 2","recurring_c3":"recurring custom data 3","send_to_proc_as'\
470
+ '_recur":true,"tags":[{"location_id":"11e95f8ec39de8fbdb0a4f1a","title":'\
471
+ '"My terminal","id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992,"'\
472
+ 'modified_ts":1422040992}],"secondary_amount":100,"currency":"USD","id":'\
473
+ '"11e95f8ec39de8fbdb0a4f1a","next_run_date":"2021-12-01","created_ts":14'\
474
+ '22040992,"modified_ts":1422040992,"recurring_type_id":"i","installment_'\
475
+ 'amount_total":99999999,"created_user_id":"11e95f8ec39de8fbdb0a4f1a","lo'\
476
+ 'g_emails":[{"subject":"Payment Receipt - 12skiestech","body":"This emai'\
477
+ 'l is being sent from a server.","source_address":"\\"12skiestech A7t3qi'\
478
+ '\\" <noreply@zeamster.email>","return_path":"\\"12skiestech A7t3qi\\" <'\
479
+ 'noreply@zeamster.email>","provider_id":"0100017e67bcc530-e1dd23b4-8a39-'\
480
+ '4a5b-8d5d-68d51c4c942f-000000","domain_id":"11e95f8ec39de8fbdb0a4f1a","'\
481
+ 'reason_sent":"Contact Email","reason_model":"Transaction","reason_model'\
482
+ '_id":"11e95f8ec39de8fbdb0a4f1a","reply_to":"\\"Zeamster\\" <emma.p@zeam'\
483
+ 'ster.com>","id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992}],"c'\
484
+ 'ontact":{"location_id":"11e95f8ec39de8fbdb0a4f1a","account_number":"545'\
485
+ '45433332","contact_api_id":"137","first_name":"John","last_name":"Smith'\
486
+ '","cell_phone":"3339998822","balance":245.36,"address":{"city":"Novi","'\
487
+ 'state":"Michigan","postal_code":"48375","country":"USA"},"company_name"'\
488
+ ':"Fortis Payment Systems, LLC","header_message":"This is a sample messa'\
489
+ 'ge for you","date_of_birth":"2021-12-01","email_trx_receipt":true,"home'\
490
+ '_phone":"3339998822","office_phone":"3339998822","office_phone_ext":"5"'\
491
+ ',"home_phone_country_code":"+1","office_phone_country_code":"+1","cell_'\
492
+ 'phone_country_code":"+1","header_message_type":0,"update_if_exists":1,"'\
493
+ 'contact_c1":"any","contact_c2":"anything","contact_c3":"something","par'\
494
+ 'ent_id":"11e95f8ec39de8fbdb0a4f1a","email":"email@domain.com","token_im'\
495
+ 'port_id":"11e95f8ec39de8fbdb0a4f1a","id":"11e95f8ec39de8fbdb0a4f1a","cr'\
496
+ 'eated_ts":1422040992,"modified_ts":1422040992,"active":true,"created_us'\
497
+ 'er_id":"11e95f8ec39de8fbdb0a4f1a"},"account_vault":{"account_holder_nam'\
498
+ 'e":"John Smith","account_vault_api_id":"accountvaultabcd","token_api_id'\
499
+ '":"tokenabcd","accountvault_c1":"accountvault custom 1","accountvault_c'\
500
+ '2":"accountvault custom 2","accountvault_c3":"accountvault custom 3","t'\
501
+ 'oken_c1":"token custom 1","token_c2":"token custom 2","token_c3":"token'\
502
+ ' custom 3","ach_sec_code":"WEB","billing_address":{"city":"Novi","state'\
503
+ '":"Michigan","postal_code":"48375","phone":"3339998822","country":"USA"'\
504
+ '},"contact_id":"11e95f8ec39de8fbdb0a4f1a","customer_id":"123456","ident'\
505
+ 'ity_verification":{"dl_state":"MI","dl_number":"1235567","ssn4":"8527",'\
506
+ '"dob_year":"1980"},"location_id":"11e95f8ec39de8fbdb0a4f1a","previous_a'\
507
+ 'ccount_vault_api_id":"previousaccountvault123456","previous_token_api_i'\
508
+ 'd":"previousaccountvault123456","previous_account_vault_id":"11e95f8ec3'\
509
+ '9de8fbdb0a4f1a","previous_token_id":"11e95f8ec39de8fbdb0a4f1a","previou'\
510
+ 's_transaction_id":"11e95f8ec39de8fbdb0a4f1a","account_number":"54545454'\
511
+ '5454545","terms_agree":true,"terms_agree_ip":"192.168.0.10","title":"Te'\
512
+ 'st CC Account","token_import_id":"11e95f8ec39de8fbdb0a4f1a","secure_dir'\
513
+ 'ectory_server_transaction_id":"d65e93c3-35ab-41ba-b307-767bfc19eae","se'\
514
+ 'cure_protocol_version":2,"secure_auth_data":"vVwL7UNHCf8W8M2LAfvRChNHN7'\
515
+ 'c%3D","secure_collection_indicator":null,"three_ds_server_trans_id":"d6'\
516
+ '5e93c3-35ab-41ba-b307-767bfc19eae","acs_transaction_id":"13c701a3-5a88-'\
517
+ '4c45-89e9-ef65e50a8bf9","_joi":{},"id":"11e95f8ec39de8fbdb0a4f1a","acco'\
518
+ 'unt_type":"checking","active":true,"cau_summary_status_id":1,"created_t'\
519
+ 's":1422040992,"e_serial_number":"1234567890","e_track_data":null,"e_for'\
520
+ 'mat":null,"e_keyed_data":null,"expiring_in_months":null,"exp_date":"072'\
521
+ '2","first_six":"700953","has_recurring":false,"last_four":"3657","modif'\
522
+ 'ied_ts":1422040992,"payment_method":"cc","ticket":null,"track_data":nul'\
523
+ 'l,"created_user_id":"11e95f8ec39de8fbdb0a4f1a","cau_last_updated_ts":14'\
524
+ '22040992,"routing_number":"051904524"},"created_user":{"account_number"'\
525
+ ':"5454545454545454","branding_domain_url":"{branding_domain_url}","cell'\
526
+ '_phone":"3339998822","company_name":"Fortis Payment Systems, LLC","cont'\
527
+ 'act_id":"11e95f8ec39de8fbdb0a4f1a","date_of_birth":"2021-12-01","domain'\
528
+ '_id":"11e95f8ec39de8fbdb0a4f1a","email":"email@domain.com","email_trx_r'\
529
+ 'eceipt":true,"home_phone":"3339998822","first_name":"John","last_name":'\
530
+ '"Smith","locale":"en-US","office_phone":"3339998822","office_ext_phone"'\
531
+ ':"5","primary_location_id":"11e95f8ec39de8fbdb0a4f1a","requires_new_pas'\
532
+ 'sword":null,"terms_condition_code":"20220308","tz":"America/New_York","'\
533
+ 'ui_prefs":{"entry_page":"dashboard","page_size":2,"report_export_type":'\
534
+ '"csv","process_method":"virtual_terminal","default_terminal":"11e95f8ec'\
535
+ '39de8fbdb0a4f1a"},"username":"{user_name}","user_api_key":"234bas8dfn82'\
536
+ '38f923w2","user_hash_key":null,"user_type_code":100,"password":null,"zi'\
537
+ 'p":"48375","location_id":"11e95f8ec39de8fbdb0a4f1a","status_code":1,"ap'\
538
+ 'i_only":false,"is_invitation":false,"address":{"city":"Novi","state":"M'\
539
+ 'I","postal_code":"48375","country":"US"},"id":"11e95f8ec39de8fbdb0a4f1a'\
540
+ '","status":true,"login_attempts":0,"last_login_ts":1422040992,"created_'\
541
+ 'ts":1422040992,"modified_ts":1422040992,"created_user_id":"11e95f8ec39d'\
542
+ 'e8fbdb0a4f1a","terms_accepted_ts":1422040992,"terms_agree_ip":"192.168.'\
543
+ '0.10","current_date_time":"2019-03-11T10:38:26-0700","current_login":14'\
544
+ '22040992,"log_api_response_body_ts":1422040992},"signature":{"signature'\
545
+ '":"iVBORw0KGgoAAAANSUhEUgAAANwAAAAsCAYAAAAOyNaYAAACvklEQVR4nO3bLZOqUBjA'\
546
+ '8ScaNxqNRiKRaCQaiXwEG7cRiUajH8FINBqJRCKR+NxyD4OIXtaXw2H3/5s5MwZ39rgz/zk'\
547
+ 'vuKKqgar+YTAYnx/y7wUACwgOsIjgAIsIznFlWerlcpl6GngTgnNYVVW6WCxURDTLsqmngz'\
548
+ 'cgOMdtNhsVERURDYJA8zyfekp4AcE5oCgKzfN8cOvYNM1VdCKiURRNMEu8A8FNrCzLm5j68'\
549
+ 'Q1Fx2o3TwTngCzLNAiCq6D6UTVNo0mS6NfXF+HNGME5or+KeZ7XxrVcLjWOY83zXOu6vnqf'\
550
+ 'eQ/bzHkgOIf0VzHP83Sz2eh6vW4D831fy7JsowvDsH1NdO4jOAfVdX0VXhRFWhSFRlHUrmr'\
551
+ '7/b4NLU3T9jVbTLcRnMO620ezep1Op3bF832/3XIORQr3EJzjumc7E9HQBUoYhjdnPKJzD8'\
552
+ 'E5xjyT647T6aSr1UpFRPf7ffveuq41TdOHZzyicwvBTeBeVGEY3jwaGBrmWV3/Z82K1z/jc'\
553
+ 'a5zB8F9wFBQY6JaLBYax7EmSXJ3DD2v624rzUpoVrsgCDjXOWRWwVVVNfUUrvTDGrNK3Ysq'\
554
+ 'TdNRn69pGs2y7NshssV0w2yCK4pCRUSPx+Okc/hfWI9WqbFRPaMbYjc+s7ptt1uic8Bsgsv'\
555
+ 'zXEVED4fDR3/P2PPVUFifDOo7THxmPiY03/fZXk7s1wR371z1zPnKlbDGuvc9TKKz78cE9y'\
556
+ 'io3W436vbv1fOV6/oPx010/Ee5PbMLbrfbPRWU53kPb/9+SlRj9L8ALcJ/lNsym+DO5/PTQ'\
557
+ 'aVpqnVdT/0RnGLOed0LlikvpH6L2QSnqoPX4QT1mu4FC3/Dz5tVcMDcERxgEcEBFhEcYBHB'\
558
+ 'ARYRHGARwQEWERxgEcEBFhEcYBHBARYRHGARwQEWERxgEcEBFhEcYBHBARYRHGDRX+EC0ah'\
559
+ '++pNrAAAAAElFTkSuQmCC","resource":"Transaction","resource_id":"11e95f8e'\
560
+ 'c39de8fbdb0a4f1a","id":"11e95f8ec39de8fbdb0a4f1a","created_ts":14220409'\
561
+ '92,"modified_ts":1422040992},"payment_schedule":["2021-12-01"],"locatio'\
562
+ 'n":{"id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992,"modified_t'\
563
+ 's":1422040992,"account_number":"5454545454545454","address":{"city":"No'\
564
+ 'vi","state":"MI","postal_code":"48375","country":"US"},"branding_domain'\
565
+ '_id":"11e95f8ec39de8fbdb0a4f1a","contact_email_trx_receipt_default":tru'\
566
+ 'e,"default_ach":"11e608a7d515f1e093242bb2","default_cc":"11e608a442a5f1'\
567
+ 'e092242dda","email_reply_to":"email@domain.com","fax":"3339998822","loc'\
568
+ 'ation_api_id":"location-111111","location_api_key":"AE34BBCAADF4AE34BBC'\
569
+ 'AADF4","location_c1":"custom 1","location_c2":"custom 2","location_c3":'\
570
+ '"custom data 3","name":"Sample Company Headquarters","office_phone":"24'\
571
+ '81234567","office_ext_phone":"1021021209","tz":"America/New_York","pare'\
572
+ 'nt_id":"11e95f8ec39de8fbdb0a4f1a","show_contact_notes":true,"show_conta'\
573
+ 'ct_files":true,"created_user_id":"11e95f8ec39de8fbdb0a4f1a","location_t'\
574
+ 'ype":"merchant","ticket_hash_key":"A5F443CADF4AE34BBCAADF4","additional'\
575
+ '_access":{}},"product_transaction":{"processor_version":"1_0_0","title"'\
576
+ ':"My terminal","payment_method":"cc","processor":"zgate","mcc":"1111","'\
577
+ 'tax_surcharge_config":2,"partner":"standalone","location_id":"11e95f8ec'\
578
+ '39de8fbdb0a4f1a","surcharge":{},"processor_data":{},"vt_clerk_number":t'\
579
+ 'rue,"vt_billing_phone":true,"vt_enable_tip":true,"ach_allow_debit":true'\
580
+ ',"ach_allow_credit":true,"ach_allow_refund":true,"vt_cvv":true,"vt_stre'\
581
+ 'et":true,"vt_zip":true,"vt_order_num":true,"vt_enable":true,"receipt_sh'\
582
+ 'ow_contact_name":true,"display_avs":true,"card_type_visa":true,"card_ty'\
583
+ 'pe_mc":true,"card_type_disc":true,"card_type_amex":true,"card_type_dine'\
584
+ 'rs":true,"card_type_jcb":true,"card_type_ebt":true,"allow_ebt_cash_bene'\
585
+ 'fit":true,"allow_ebt_food_stamp":true,"invoice_location":true,"allow_pa'\
586
+ 'rtial_authorization":true,"allow_recurring_partial_authorization":true,'\
587
+ '"auto_decline_cvv":true,"auto_decline_street":true,"auto_decline_zip":t'\
588
+ 'rue,"split_payments_allow":true,"vt_show_custom_fields":true,"receipt_s'\
589
+ 'how_custom_fields":true,"vt_override_sales_tax_allowed":true,"vt_enable'\
590
+ '_sales_tax":true,"vt_require_zip":true,"vt_require_street":true,"auto_d'\
591
+ 'ecline_cavv":true,"current_batch":34,"dup_check_per_batch":null,"paylin'\
592
+ 'k_allow":false,"quick_invoice_allow":false,"level3_allow":false,"payfac'\
593
+ '_enable":false,"enable_3ds":false,"sales_office_id":"11e95f8ec39de8fbdb'\
594
+ '0a4f1a","hosted_payment_page_allow":false,"surcharge_id":"11e95f8ec39de'\
595
+ '8fbdb0a4f1a","allow_big_commerce":false,"level3_default":{"destination_'\
596
+ 'country_code":"840","duty_amount":0,"freight_amount":0,"national_tax":2'\
597
+ ',"sales_tax":200,"shipfrom_zip_code":"AZ12345","shipto_zip_code":"MI483'\
598
+ '35","tax_amount":0,"tax_exempt":"0","customer_vat_registration":"123456'\
599
+ '78","merchant_vat_registration":"123456","order_date":"171006","summary'\
600
+ '_commodity_code":"C1K2","tax_rate":0,"unique_vat_ref_number":"vat1234",'\
601
+ '"line_items":[{"alternate_tax_id":"1234","debit_credit":"C","descriptio'\
602
+ 'n":"cool drink","discount_amount":10,"discount_rate":11,"product_code":'\
603
+ '"coke12345678","quantity":5,"tax_amount":3,"tax_rate":0,"tax_type_appli'\
604
+ 'ed":"22","tax_type_id":"a1","unit_code":"gll","unit_cost":10,"commodity'\
605
+ '_code":"cc123456","other_tax_amount":0}]},"cau_subscribe_type_id":0,"lo'\
606
+ 'cation_billing_account_id":"11eb88b873980c64a21e5fd2","product_billing_'\
607
+ 'group_id":"nofees","account_number":"12345678","run_avs_on_accountvault'\
608
+ '_create":false,"accountvault_expire_notification_email_enable":false,"d'\
609
+ 'ebit_allow_void":false,"quick_invoice_text_to_pay":false,"sms_enable":f'\
610
+ 'alse,"vt_show_currency":true,"receipt_show_currency":false,"allow_blind'\
611
+ '_refund":false,"vt_show_company_name":false,"receipt_show_company_name"'\
612
+ ':false,"bank_funded_only":false,"require_cvv_on_keyed_cnp":true,"requir'\
613
+ 'e_cvv_on_tokenized_cnp":true,"show_secondary_amount":false,"allow_secon'\
614
+ 'dary_amount":false,"show_google_pay":true,"show_apple_pay":true,"batch_'\
615
+ 'risk_config":{},"currency_code":840,"enable_ach_validation":false,"enab'\
616
+ 'le_ach_retry":false,"allow_softpos":false,"id":"11e95f8ec39de8fbdb0a4f1'\
617
+ 'a","active":true,"created_ts":1422040992,"modified_ts":1422040992,"crea'\
618
+ 'ted_user_id":"11e95f8ec39de8fbdb0a4f1a","modified_user_id":"11e95f8ec39'\
619
+ 'de8fbdb0a4f1a","product_transaction_api_id":"11e95f8ec39de8fbdb0a4f1a",'\
620
+ '"is_secondary_amount_allowed":false,"fortis_id":"8149742","product_bill'\
621
+ 'ing_group_code":"nofees","cau_subscribe_type_code":0},"next_run_date_mi'\
622
+ 'n":"2021-12-01","next_run_date_max":"2021-12-01","all_tags":[{"location'\
623
+ '_id":"11e95f8ec39de8fbdb0a4f1a","title":"My terminal","id":"11e95f8ec39'\
624
+ 'de8fbdb0a4f1a","created_ts":1422040992,"modified_ts":1422040992}],"chan'\
625
+ 'gelogs":[{"id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992,"acti'\
626
+ 'on":"CREATE","model":"TransactionRequest","model_id":"11ec829598f0d4008'\
627
+ 'be9aba4","user_id":"11e95f8ec39de8fbdb0a4f1a","changelog_details":[{"id'\
628
+ '":"11e95f8ec39de8fbdb0a4f1a","changelog_id":"11e95f8ec39de8fbdb0a4f1a",'\
629
+ '"field":"next_run_ts","old_value":"1643616000"}],"user":{"id":"11e95f8e'\
630
+ 'c39de8fbdb0a4f1a","username":"email@domain.com","first_name":"Bob","las'\
631
+ 't_name":"Fairview"}}],"forecast":{"id":"11e95f8ec39de8fbdb0a4f1a","recu'\
632
+ 'rring_id":"Recurring ID","created_ts":1422040992,"modified_ts":14220409'\
633
+ '92},"recurring_splits":[{"id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1'\
634
+ '422040992,"created_user_id":"11e95f8ec39de8fbdb0a4f1a"}]}}'
635
+ )
636
+ received_body = JSON.parse(@response_catcher.response.raw_body)
637
+ assert(ComparisonHelper.match_body(expected_body, received_body))
638
+ end
639
+
640
+ # Activate recurring payment
641
+ def test_activate_recurring_payment
642
+ # Parameters for the API call
643
+ recurring_id = '11e95f8ec39de8fbdb0a4f1a'
644
+ expand = nil
645
+
646
+ # Perform the API call through the SDK function
647
+ result = @controller.activate_recurring_payment(recurring_id,
648
+ expand: expand)
649
+
650
+ # Test response code
651
+ assert_equal(200, @response_catcher.response.status_code)
652
+ # Test headers
653
+ expected_headers = {}
654
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
655
+
656
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
657
+
658
+ # Test whether the captured response is as we expected
659
+ refute_nil(result)
660
+ expected_body = JSON.parse(
661
+ '{"type":"Recurring","data":{"account_vault_id":"11e95f8ec39de8fbdb0a4f1'\
662
+ 'a","token_id":"11e95f8ec39de8fbdb0a4f1a","contact_id":"11e95f8ec39de8fb'\
663
+ 'db0a4f1a","account_vault_api_id":"token1234abcd","token_api_id":"token1'\
664
+ '234abcd","_joi":{"conditions":{}},"active":true,"description":"Descript'\
665
+ 'ion","end_date":"2021-12-01","installment_total_count":20,"interval":1,'\
666
+ '"interval_type":"d","location_id":"11e95f8ec39de8fbdb0a4f1a","notificat'\
667
+ 'ion_days":2,"payment_method":"cc","product_transaction_id":"11e95f8ec39'\
668
+ 'de8fbdb0a4f1a","recurring_id":"11e95f8ec39de8fbdb0a4f1a","recurring_api'\
669
+ '_id":"recurring1234abcd","start_date":"2021-12-01","status":"active","t'\
670
+ 'ransaction_amount":300,"terms_agree":true,"terms_agree_ip":"192.168.0.1'\
671
+ '0","recurring_c1":"recurring custom data 1","recurring_c2":"recurring c'\
672
+ 'ustom data 2","recurring_c3":"recurring custom data 3","send_to_proc_as'\
673
+ '_recur":true,"tags":[{"location_id":"11e95f8ec39de8fbdb0a4f1a","title":'\
674
+ '"My terminal","id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992,"'\
675
+ 'modified_ts":1422040992}],"secondary_amount":100,"currency":"USD","id":'\
676
+ '"11e95f8ec39de8fbdb0a4f1a","next_run_date":"2021-12-01","created_ts":14'\
677
+ '22040992,"modified_ts":1422040992,"recurring_type_id":"i","installment_'\
678
+ 'amount_total":99999999,"created_user_id":"11e95f8ec39de8fbdb0a4f1a","lo'\
679
+ 'g_emails":[{"subject":"Payment Receipt - 12skiestech","body":"This emai'\
680
+ 'l is being sent from a server.","source_address":"\\"12skiestech A7t3qi'\
681
+ '\\" <noreply@zeamster.email>","return_path":"\\"12skiestech A7t3qi\\" <'\
682
+ 'noreply@zeamster.email>","provider_id":"0100017e67bcc530-e1dd23b4-8a39-'\
683
+ '4a5b-8d5d-68d51c4c942f-000000","domain_id":"11e95f8ec39de8fbdb0a4f1a","'\
684
+ 'reason_sent":"Contact Email","reason_model":"Transaction","reason_model'\
685
+ '_id":"11e95f8ec39de8fbdb0a4f1a","reply_to":"\\"Zeamster\\" <emma.p@zeam'\
686
+ 'ster.com>","id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992}],"c'\
687
+ 'ontact":{"location_id":"11e95f8ec39de8fbdb0a4f1a","account_number":"545'\
688
+ '45433332","contact_api_id":"137","first_name":"John","last_name":"Smith'\
689
+ '","cell_phone":"3339998822","balance":245.36,"address":{"city":"Novi","'\
690
+ 'state":"Michigan","postal_code":"48375","country":"USA"},"company_name"'\
691
+ ':"Fortis Payment Systems, LLC","header_message":"This is a sample messa'\
692
+ 'ge for you","date_of_birth":"2021-12-01","email_trx_receipt":true,"home'\
693
+ '_phone":"3339998822","office_phone":"3339998822","office_phone_ext":"5"'\
694
+ ',"home_phone_country_code":"+1","office_phone_country_code":"+1","cell_'\
695
+ 'phone_country_code":"+1","header_message_type":0,"update_if_exists":1,"'\
696
+ 'contact_c1":"any","contact_c2":"anything","contact_c3":"something","par'\
697
+ 'ent_id":"11e95f8ec39de8fbdb0a4f1a","email":"email@domain.com","token_im'\
698
+ 'port_id":"11e95f8ec39de8fbdb0a4f1a","id":"11e95f8ec39de8fbdb0a4f1a","cr'\
699
+ 'eated_ts":1422040992,"modified_ts":1422040992,"active":true,"created_us'\
700
+ 'er_id":"11e95f8ec39de8fbdb0a4f1a"},"account_vault":{"account_holder_nam'\
701
+ 'e":"John Smith","account_vault_api_id":"accountvaultabcd","token_api_id'\
702
+ '":"tokenabcd","accountvault_c1":"accountvault custom 1","accountvault_c'\
703
+ '2":"accountvault custom 2","accountvault_c3":"accountvault custom 3","t'\
704
+ 'oken_c1":"token custom 1","token_c2":"token custom 2","token_c3":"token'\
705
+ ' custom 3","ach_sec_code":"WEB","billing_address":{"city":"Novi","state'\
706
+ '":"Michigan","postal_code":"48375","phone":"3339998822","country":"USA"'\
707
+ '},"contact_id":"11e95f8ec39de8fbdb0a4f1a","customer_id":"123456","ident'\
708
+ 'ity_verification":{"dl_state":"MI","dl_number":"1235567","ssn4":"8527",'\
709
+ '"dob_year":"1980"},"location_id":"11e95f8ec39de8fbdb0a4f1a","previous_a'\
710
+ 'ccount_vault_api_id":"previousaccountvault123456","previous_token_api_i'\
711
+ 'd":"previousaccountvault123456","previous_account_vault_id":"11e95f8ec3'\
712
+ '9de8fbdb0a4f1a","previous_token_id":"11e95f8ec39de8fbdb0a4f1a","previou'\
713
+ 's_transaction_id":"11e95f8ec39de8fbdb0a4f1a","account_number":"54545454'\
714
+ '5454545","terms_agree":true,"terms_agree_ip":"192.168.0.10","title":"Te'\
715
+ 'st CC Account","token_import_id":"11e95f8ec39de8fbdb0a4f1a","secure_dir'\
716
+ 'ectory_server_transaction_id":"d65e93c3-35ab-41ba-b307-767bfc19eae","se'\
717
+ 'cure_protocol_version":2,"secure_auth_data":"vVwL7UNHCf8W8M2LAfvRChNHN7'\
718
+ 'c%3D","secure_collection_indicator":null,"three_ds_server_trans_id":"d6'\
719
+ '5e93c3-35ab-41ba-b307-767bfc19eae","acs_transaction_id":"13c701a3-5a88-'\
720
+ '4c45-89e9-ef65e50a8bf9","_joi":{},"id":"11e95f8ec39de8fbdb0a4f1a","acco'\
721
+ 'unt_type":"checking","active":true,"cau_summary_status_id":1,"created_t'\
722
+ 's":1422040992,"e_serial_number":"1234567890","e_track_data":null,"e_for'\
723
+ 'mat":null,"e_keyed_data":null,"expiring_in_months":null,"exp_date":"072'\
724
+ '2","first_six":"700953","has_recurring":false,"last_four":"3657","modif'\
725
+ 'ied_ts":1422040992,"payment_method":"cc","ticket":null,"track_data":nul'\
726
+ 'l,"created_user_id":"11e95f8ec39de8fbdb0a4f1a","cau_last_updated_ts":14'\
727
+ '22040992,"routing_number":"051904524"},"created_user":{"account_number"'\
728
+ ':"5454545454545454","branding_domain_url":"{branding_domain_url}","cell'\
729
+ '_phone":"3339998822","company_name":"Fortis Payment Systems, LLC","cont'\
730
+ 'act_id":"11e95f8ec39de8fbdb0a4f1a","date_of_birth":"2021-12-01","domain'\
731
+ '_id":"11e95f8ec39de8fbdb0a4f1a","email":"email@domain.com","email_trx_r'\
732
+ 'eceipt":true,"home_phone":"3339998822","first_name":"John","last_name":'\
733
+ '"Smith","locale":"en-US","office_phone":"3339998822","office_ext_phone"'\
734
+ ':"5","primary_location_id":"11e95f8ec39de8fbdb0a4f1a","requires_new_pas'\
735
+ 'sword":null,"terms_condition_code":"20220308","tz":"America/New_York","'\
736
+ 'ui_prefs":{"entry_page":"dashboard","page_size":2,"report_export_type":'\
737
+ '"csv","process_method":"virtual_terminal","default_terminal":"11e95f8ec'\
738
+ '39de8fbdb0a4f1a"},"username":"{user_name}","user_api_key":"234bas8dfn82'\
739
+ '38f923w2","user_hash_key":null,"user_type_code":100,"password":null,"zi'\
740
+ 'p":"48375","location_id":"11e95f8ec39de8fbdb0a4f1a","status_code":1,"ap'\
741
+ 'i_only":false,"is_invitation":false,"address":{"city":"Novi","state":"M'\
742
+ 'I","postal_code":"48375","country":"US"},"id":"11e95f8ec39de8fbdb0a4f1a'\
743
+ '","status":true,"login_attempts":0,"last_login_ts":1422040992,"created_'\
744
+ 'ts":1422040992,"modified_ts":1422040992,"created_user_id":"11e95f8ec39d'\
745
+ 'e8fbdb0a4f1a","terms_accepted_ts":1422040992,"terms_agree_ip":"192.168.'\
746
+ '0.10","current_date_time":"2019-03-11T10:38:26-0700","current_login":14'\
747
+ '22040992,"log_api_response_body_ts":1422040992},"signature":{"signature'\
748
+ '":"iVBORw0KGgoAAAANSUhEUgAAANwAAAAsCAYAAAAOyNaYAAACvklEQVR4nO3bLZOqUBjA'\
749
+ '8ScaNxqNRiKRaCQaiXwEG7cRiUajH8FINBqJRCKR+NxyD4OIXtaXw2H3/5s5MwZ39rgz/zk'\
750
+ 'vuKKqgar+YTAYnx/y7wUACwgOsIjgAIsIznFlWerlcpl6GngTgnNYVVW6WCxURDTLsqmngz'\
751
+ 'cgOMdtNhsVERURDYJA8zyfekp4AcE5oCgKzfN8cOvYNM1VdCKiURRNMEu8A8FNrCzLm5j68'\
752
+ 'Q1Fx2o3TwTngCzLNAiCq6D6UTVNo0mS6NfXF+HNGME5or+KeZ7XxrVcLjWOY83zXOu6vnqf'\
753
+ 'eQ/bzHkgOIf0VzHP83Sz2eh6vW4D831fy7JsowvDsH1NdO4jOAfVdX0VXhRFWhSFRlHUrmr'\
754
+ '7/b4NLU3T9jVbTLcRnMO620ezep1Op3bF832/3XIORQr3EJzjumc7E9HQBUoYhjdnPKJzD8'\
755
+ 'E5xjyT647T6aSr1UpFRPf7ffveuq41TdOHZzyicwvBTeBeVGEY3jwaGBrmWV3/Z82K1z/jc'\
756
+ 'a5zB8F9wFBQY6JaLBYax7EmSXJ3DD2v624rzUpoVrsgCDjXOWRWwVVVNfUUrvTDGrNK3Ysq'\
757
+ 'TdNRn69pGs2y7NshssV0w2yCK4pCRUSPx+Okc/hfWI9WqbFRPaMbYjc+s7ptt1uic8Bsgsv'\
758
+ 'zXEVED4fDR3/P2PPVUFifDOo7THxmPiY03/fZXk7s1wR371z1zPnKlbDGuvc9TKKz78cE9y'\
759
+ 'io3W436vbv1fOV6/oPx010/Ee5PbMLbrfbPRWU53kPb/9+SlRj9L8ALcJ/lNsym+DO5/PTQ'\
760
+ 'aVpqnVdT/0RnGLOed0LlikvpH6L2QSnqoPX4QT1mu4FC3/Dz5tVcMDcERxgEcEBFhEcYBHB'\
761
+ 'ARYRHGARwQEWERxgEcEBFhEcYBHBARYRHGARwQEWERxgEcEBFhEcYBHBARYRHGDRX+EC0ah'\
762
+ '++pNrAAAAAElFTkSuQmCC","resource":"Transaction","resource_id":"11e95f8e'\
763
+ 'c39de8fbdb0a4f1a","id":"11e95f8ec39de8fbdb0a4f1a","created_ts":14220409'\
764
+ '92,"modified_ts":1422040992},"payment_schedule":["2021-12-01"],"locatio'\
765
+ 'n":{"id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992,"modified_t'\
766
+ 's":1422040992,"account_number":"5454545454545454","address":{"city":"No'\
767
+ 'vi","state":"MI","postal_code":"48375","country":"US"},"branding_domain'\
768
+ '_id":"11e95f8ec39de8fbdb0a4f1a","contact_email_trx_receipt_default":tru'\
769
+ 'e,"default_ach":"11e608a7d515f1e093242bb2","default_cc":"11e608a442a5f1'\
770
+ 'e092242dda","email_reply_to":"email@domain.com","fax":"3339998822","loc'\
771
+ 'ation_api_id":"location-111111","location_api_key":"AE34BBCAADF4AE34BBC'\
772
+ 'AADF4","location_c1":"custom 1","location_c2":"custom 2","location_c3":'\
773
+ '"custom data 3","name":"Sample Company Headquarters","office_phone":"24'\
774
+ '81234567","office_ext_phone":"1021021209","tz":"America/New_York","pare'\
775
+ 'nt_id":"11e95f8ec39de8fbdb0a4f1a","show_contact_notes":true,"show_conta'\
776
+ 'ct_files":true,"created_user_id":"11e95f8ec39de8fbdb0a4f1a","location_t'\
777
+ 'ype":"merchant","ticket_hash_key":"A5F443CADF4AE34BBCAADF4","additional'\
778
+ '_access":{}},"product_transaction":{"processor_version":"1_0_0","title"'\
779
+ ':"My terminal","payment_method":"cc","processor":"zgate","mcc":"1111","'\
780
+ 'tax_surcharge_config":2,"partner":"standalone","location_id":"11e95f8ec'\
781
+ '39de8fbdb0a4f1a","surcharge":{},"processor_data":{},"vt_clerk_number":t'\
782
+ 'rue,"vt_billing_phone":true,"vt_enable_tip":true,"ach_allow_debit":true'\
783
+ ',"ach_allow_credit":true,"ach_allow_refund":true,"vt_cvv":true,"vt_stre'\
784
+ 'et":true,"vt_zip":true,"vt_order_num":true,"vt_enable":true,"receipt_sh'\
785
+ 'ow_contact_name":true,"display_avs":true,"card_type_visa":true,"card_ty'\
786
+ 'pe_mc":true,"card_type_disc":true,"card_type_amex":true,"card_type_dine'\
787
+ 'rs":true,"card_type_jcb":true,"card_type_ebt":true,"allow_ebt_cash_bene'\
788
+ 'fit":true,"allow_ebt_food_stamp":true,"invoice_location":true,"allow_pa'\
789
+ 'rtial_authorization":true,"allow_recurring_partial_authorization":true,'\
790
+ '"auto_decline_cvv":true,"auto_decline_street":true,"auto_decline_zip":t'\
791
+ 'rue,"split_payments_allow":true,"vt_show_custom_fields":true,"receipt_s'\
792
+ 'how_custom_fields":true,"vt_override_sales_tax_allowed":true,"vt_enable'\
793
+ '_sales_tax":true,"vt_require_zip":true,"vt_require_street":true,"auto_d'\
794
+ 'ecline_cavv":true,"current_batch":34,"dup_check_per_batch":null,"paylin'\
795
+ 'k_allow":false,"quick_invoice_allow":false,"level3_allow":false,"payfac'\
796
+ '_enable":false,"enable_3ds":false,"sales_office_id":"11e95f8ec39de8fbdb'\
797
+ '0a4f1a","hosted_payment_page_allow":false,"surcharge_id":"11e95f8ec39de'\
798
+ '8fbdb0a4f1a","allow_big_commerce":false,"level3_default":{"destination_'\
799
+ 'country_code":"840","duty_amount":0,"freight_amount":0,"national_tax":2'\
800
+ ',"sales_tax":200,"shipfrom_zip_code":"AZ12345","shipto_zip_code":"MI483'\
801
+ '35","tax_amount":0,"tax_exempt":"0","customer_vat_registration":"123456'\
802
+ '78","merchant_vat_registration":"123456","order_date":"171006","summary'\
803
+ '_commodity_code":"C1K2","tax_rate":0,"unique_vat_ref_number":"vat1234",'\
804
+ '"line_items":[{"alternate_tax_id":"1234","debit_credit":"C","descriptio'\
805
+ 'n":"cool drink","discount_amount":10,"discount_rate":11,"product_code":'\
806
+ '"coke12345678","quantity":5,"tax_amount":3,"tax_rate":0,"tax_type_appli'\
807
+ 'ed":"22","tax_type_id":"a1","unit_code":"gll","unit_cost":10,"commodity'\
808
+ '_code":"cc123456","other_tax_amount":0}]},"cau_subscribe_type_id":0,"lo'\
809
+ 'cation_billing_account_id":"11eb88b873980c64a21e5fd2","product_billing_'\
810
+ 'group_id":"nofees","account_number":"12345678","run_avs_on_accountvault'\
811
+ '_create":false,"accountvault_expire_notification_email_enable":false,"d'\
812
+ 'ebit_allow_void":false,"quick_invoice_text_to_pay":false,"sms_enable":f'\
813
+ 'alse,"vt_show_currency":true,"receipt_show_currency":false,"allow_blind'\
814
+ '_refund":false,"vt_show_company_name":false,"receipt_show_company_name"'\
815
+ ':false,"bank_funded_only":false,"require_cvv_on_keyed_cnp":true,"requir'\
816
+ 'e_cvv_on_tokenized_cnp":true,"show_secondary_amount":false,"allow_secon'\
817
+ 'dary_amount":false,"show_google_pay":true,"show_apple_pay":true,"batch_'\
818
+ 'risk_config":{},"currency_code":840,"enable_ach_validation":false,"enab'\
819
+ 'le_ach_retry":false,"allow_softpos":false,"id":"11e95f8ec39de8fbdb0a4f1'\
820
+ 'a","active":true,"created_ts":1422040992,"modified_ts":1422040992,"crea'\
821
+ 'ted_user_id":"11e95f8ec39de8fbdb0a4f1a","modified_user_id":"11e95f8ec39'\
822
+ 'de8fbdb0a4f1a","product_transaction_api_id":"11e95f8ec39de8fbdb0a4f1a",'\
823
+ '"is_secondary_amount_allowed":false,"fortis_id":"8149742","product_bill'\
824
+ 'ing_group_code":"nofees","cau_subscribe_type_code":0},"next_run_date_mi'\
825
+ 'n":"2021-12-01","next_run_date_max":"2021-12-01","all_tags":[{"location'\
826
+ '_id":"11e95f8ec39de8fbdb0a4f1a","title":"My terminal","id":"11e95f8ec39'\
827
+ 'de8fbdb0a4f1a","created_ts":1422040992,"modified_ts":1422040992}],"chan'\
828
+ 'gelogs":[{"id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992,"acti'\
829
+ 'on":"CREATE","model":"TransactionRequest","model_id":"11ec829598f0d4008'\
830
+ 'be9aba4","user_id":"11e95f8ec39de8fbdb0a4f1a","changelog_details":[{"id'\
831
+ '":"11e95f8ec39de8fbdb0a4f1a","changelog_id":"11e95f8ec39de8fbdb0a4f1a",'\
832
+ '"field":"next_run_ts","old_value":"1643616000"}],"user":{"id":"11e95f8e'\
833
+ 'c39de8fbdb0a4f1a","username":"email@domain.com","first_name":"Bob","las'\
834
+ 't_name":"Fairview"}}],"forecast":{"id":"11e95f8ec39de8fbdb0a4f1a","recu'\
835
+ 'rring_id":"Recurring ID","created_ts":1422040992,"modified_ts":14220409'\
836
+ '92},"recurring_splits":[{"id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1'\
837
+ '422040992,"created_user_id":"11e95f8ec39de8fbdb0a4f1a"}]}}'
838
+ )
839
+ received_body = JSON.parse(@response_catcher.response.raw_body)
840
+ assert(ComparisonHelper.match_body(expected_body, received_body))
841
+ end
842
+
843
+ # Place on hold recurring payment
844
+ def test_place_on_hold_recurring_payment
845
+ # Parameters for the API call
846
+ recurring_id = '11e95f8ec39de8fbdb0a4f1a'
847
+ expand = nil
848
+
849
+ # Perform the API call through the SDK function
850
+ result = @controller.place_on_hold_recurring_payment(recurring_id,
851
+ expand: expand)
852
+
853
+ # Test response code
854
+ assert_equal(200, @response_catcher.response.status_code)
855
+ # Test headers
856
+ expected_headers = {}
857
+ expected_headers['content-type'] = 'application/json; charset=utf-8'
858
+
859
+ assert(ComparisonHelper.match_headers(expected_headers, @response_catcher.response.headers))
860
+
861
+ # Test whether the captured response is as we expected
862
+ refute_nil(result)
863
+ expected_body = JSON.parse(
864
+ '{"type":"Recurring","data":{"account_vault_id":"11e95f8ec39de8fbdb0a4f1'\
865
+ 'a","token_id":"11e95f8ec39de8fbdb0a4f1a","contact_id":"11e95f8ec39de8fb'\
866
+ 'db0a4f1a","account_vault_api_id":"token1234abcd","token_api_id":"token1'\
867
+ '234abcd","_joi":{"conditions":{}},"active":true,"description":"Descript'\
868
+ 'ion","end_date":"2021-12-01","installment_total_count":20,"interval":1,'\
869
+ '"interval_type":"d","location_id":"11e95f8ec39de8fbdb0a4f1a","notificat'\
870
+ 'ion_days":2,"payment_method":"cc","product_transaction_id":"11e95f8ec39'\
871
+ 'de8fbdb0a4f1a","recurring_id":"11e95f8ec39de8fbdb0a4f1a","recurring_api'\
872
+ '_id":"recurring1234abcd","start_date":"2021-12-01","status":"active","t'\
873
+ 'ransaction_amount":300,"terms_agree":true,"terms_agree_ip":"192.168.0.1'\
874
+ '0","recurring_c1":"recurring custom data 1","recurring_c2":"recurring c'\
875
+ 'ustom data 2","recurring_c3":"recurring custom data 3","send_to_proc_as'\
876
+ '_recur":true,"tags":[{"location_id":"11e95f8ec39de8fbdb0a4f1a","title":'\
877
+ '"My terminal","id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992,"'\
878
+ 'modified_ts":1422040992}],"secondary_amount":100,"currency":"USD","id":'\
879
+ '"11e95f8ec39de8fbdb0a4f1a","next_run_date":"2021-12-01","created_ts":14'\
880
+ '22040992,"modified_ts":1422040992,"recurring_type_id":"i","installment_'\
881
+ 'amount_total":99999999,"created_user_id":"11e95f8ec39de8fbdb0a4f1a","lo'\
882
+ 'g_emails":[{"subject":"Payment Receipt - 12skiestech","body":"This emai'\
883
+ 'l is being sent from a server.","source_address":"\\"12skiestech A7t3qi'\
884
+ '\\" <noreply@zeamster.email>","return_path":"\\"12skiestech A7t3qi\\" <'\
885
+ 'noreply@zeamster.email>","provider_id":"0100017e67bcc530-e1dd23b4-8a39-'\
886
+ '4a5b-8d5d-68d51c4c942f-000000","domain_id":"11e95f8ec39de8fbdb0a4f1a","'\
887
+ 'reason_sent":"Contact Email","reason_model":"Transaction","reason_model'\
888
+ '_id":"11e95f8ec39de8fbdb0a4f1a","reply_to":"\\"Zeamster\\" <emma.p@zeam'\
889
+ 'ster.com>","id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992}],"c'\
890
+ 'ontact":{"location_id":"11e95f8ec39de8fbdb0a4f1a","account_number":"545'\
891
+ '45433332","contact_api_id":"137","first_name":"John","last_name":"Smith'\
892
+ '","cell_phone":"3339998822","balance":245.36,"address":{"city":"Novi","'\
893
+ 'state":"Michigan","postal_code":"48375","country":"USA"},"company_name"'\
894
+ ':"Fortis Payment Systems, LLC","header_message":"This is a sample messa'\
895
+ 'ge for you","date_of_birth":"2021-12-01","email_trx_receipt":true,"home'\
896
+ '_phone":"3339998822","office_phone":"3339998822","office_phone_ext":"5"'\
897
+ ',"home_phone_country_code":"+1","office_phone_country_code":"+1","cell_'\
898
+ 'phone_country_code":"+1","header_message_type":0,"update_if_exists":1,"'\
899
+ 'contact_c1":"any","contact_c2":"anything","contact_c3":"something","par'\
900
+ 'ent_id":"11e95f8ec39de8fbdb0a4f1a","email":"email@domain.com","token_im'\
901
+ 'port_id":"11e95f8ec39de8fbdb0a4f1a","id":"11e95f8ec39de8fbdb0a4f1a","cr'\
902
+ 'eated_ts":1422040992,"modified_ts":1422040992,"active":true,"created_us'\
903
+ 'er_id":"11e95f8ec39de8fbdb0a4f1a"},"account_vault":{"account_holder_nam'\
904
+ 'e":"John Smith","account_vault_api_id":"accountvaultabcd","token_api_id'\
905
+ '":"tokenabcd","accountvault_c1":"accountvault custom 1","accountvault_c'\
906
+ '2":"accountvault custom 2","accountvault_c3":"accountvault custom 3","t'\
907
+ 'oken_c1":"token custom 1","token_c2":"token custom 2","token_c3":"token'\
908
+ ' custom 3","ach_sec_code":"WEB","billing_address":{"city":"Novi","state'\
909
+ '":"Michigan","postal_code":"48375","phone":"3339998822","country":"USA"'\
910
+ '},"contact_id":"11e95f8ec39de8fbdb0a4f1a","customer_id":"123456","ident'\
911
+ 'ity_verification":{"dl_state":"MI","dl_number":"1235567","ssn4":"8527",'\
912
+ '"dob_year":"1980"},"location_id":"11e95f8ec39de8fbdb0a4f1a","previous_a'\
913
+ 'ccount_vault_api_id":"previousaccountvault123456","previous_token_api_i'\
914
+ 'd":"previousaccountvault123456","previous_account_vault_id":"11e95f8ec3'\
915
+ '9de8fbdb0a4f1a","previous_token_id":"11e95f8ec39de8fbdb0a4f1a","previou'\
916
+ 's_transaction_id":"11e95f8ec39de8fbdb0a4f1a","account_number":"54545454'\
917
+ '5454545","terms_agree":true,"terms_agree_ip":"192.168.0.10","title":"Te'\
918
+ 'st CC Account","token_import_id":"11e95f8ec39de8fbdb0a4f1a","secure_dir'\
919
+ 'ectory_server_transaction_id":"d65e93c3-35ab-41ba-b307-767bfc19eae","se'\
920
+ 'cure_protocol_version":2,"secure_auth_data":"vVwL7UNHCf8W8M2LAfvRChNHN7'\
921
+ 'c%3D","secure_collection_indicator":null,"three_ds_server_trans_id":"d6'\
922
+ '5e93c3-35ab-41ba-b307-767bfc19eae","acs_transaction_id":"13c701a3-5a88-'\
923
+ '4c45-89e9-ef65e50a8bf9","_joi":{},"id":"11e95f8ec39de8fbdb0a4f1a","acco'\
924
+ 'unt_type":"checking","active":true,"cau_summary_status_id":1,"created_t'\
925
+ 's":1422040992,"e_serial_number":"1234567890","e_track_data":null,"e_for'\
926
+ 'mat":null,"e_keyed_data":null,"expiring_in_months":null,"exp_date":"072'\
927
+ '2","first_six":"700953","has_recurring":false,"last_four":"3657","modif'\
928
+ 'ied_ts":1422040992,"payment_method":"cc","ticket":null,"track_data":nul'\
929
+ 'l,"created_user_id":"11e95f8ec39de8fbdb0a4f1a","cau_last_updated_ts":14'\
930
+ '22040992,"routing_number":"051904524"},"created_user":{"account_number"'\
931
+ ':"5454545454545454","branding_domain_url":"{branding_domain_url}","cell'\
932
+ '_phone":"3339998822","company_name":"Fortis Payment Systems, LLC","cont'\
933
+ 'act_id":"11e95f8ec39de8fbdb0a4f1a","date_of_birth":"2021-12-01","domain'\
934
+ '_id":"11e95f8ec39de8fbdb0a4f1a","email":"email@domain.com","email_trx_r'\
935
+ 'eceipt":true,"home_phone":"3339998822","first_name":"John","last_name":'\
936
+ '"Smith","locale":"en-US","office_phone":"3339998822","office_ext_phone"'\
937
+ ':"5","primary_location_id":"11e95f8ec39de8fbdb0a4f1a","requires_new_pas'\
938
+ 'sword":null,"terms_condition_code":"20220308","tz":"America/New_York","'\
939
+ 'ui_prefs":{"entry_page":"dashboard","page_size":2,"report_export_type":'\
940
+ '"csv","process_method":"virtual_terminal","default_terminal":"11e95f8ec'\
941
+ '39de8fbdb0a4f1a"},"username":"{user_name}","user_api_key":"234bas8dfn82'\
942
+ '38f923w2","user_hash_key":null,"user_type_code":100,"password":null,"zi'\
943
+ 'p":"48375","location_id":"11e95f8ec39de8fbdb0a4f1a","status_code":1,"ap'\
944
+ 'i_only":false,"is_invitation":false,"address":{"city":"Novi","state":"M'\
945
+ 'I","postal_code":"48375","country":"US"},"id":"11e95f8ec39de8fbdb0a4f1a'\
946
+ '","status":true,"login_attempts":0,"last_login_ts":1422040992,"created_'\
947
+ 'ts":1422040992,"modified_ts":1422040992,"created_user_id":"11e95f8ec39d'\
948
+ 'e8fbdb0a4f1a","terms_accepted_ts":1422040992,"terms_agree_ip":"192.168.'\
949
+ '0.10","current_date_time":"2019-03-11T10:38:26-0700","current_login":14'\
950
+ '22040992,"log_api_response_body_ts":1422040992},"signature":{"signature'\
951
+ '":"iVBORw0KGgoAAAANSUhEUgAAANwAAAAsCAYAAAAOyNaYAAACvklEQVR4nO3bLZOqUBjA'\
952
+ '8ScaNxqNRiKRaCQaiXwEG7cRiUajH8FINBqJRCKR+NxyD4OIXtaXw2H3/5s5MwZ39rgz/zk'\
953
+ 'vuKKqgar+YTAYnx/y7wUACwgOsIjgAIsIznFlWerlcpl6GngTgnNYVVW6WCxURDTLsqmngz'\
954
+ 'cgOMdtNhsVERURDYJA8zyfekp4AcE5oCgKzfN8cOvYNM1VdCKiURRNMEu8A8FNrCzLm5j68'\
955
+ 'Q1Fx2o3TwTngCzLNAiCq6D6UTVNo0mS6NfXF+HNGME5or+KeZ7XxrVcLjWOY83zXOu6vnqf'\
956
+ 'eQ/bzHkgOIf0VzHP83Sz2eh6vW4D831fy7JsowvDsH1NdO4jOAfVdX0VXhRFWhSFRlHUrmr'\
957
+ '7/b4NLU3T9jVbTLcRnMO620ezep1Op3bF832/3XIORQr3EJzjumc7E9HQBUoYhjdnPKJzD8'\
958
+ 'E5xjyT647T6aSr1UpFRPf7ffveuq41TdOHZzyicwvBTeBeVGEY3jwaGBrmWV3/Z82K1z/jc'\
959
+ 'a5zB8F9wFBQY6JaLBYax7EmSXJ3DD2v624rzUpoVrsgCDjXOWRWwVVVNfUUrvTDGrNK3Ysq'\
960
+ 'TdNRn69pGs2y7NshssV0w2yCK4pCRUSPx+Okc/hfWI9WqbFRPaMbYjc+s7ptt1uic8Bsgsv'\
961
+ 'zXEVED4fDR3/P2PPVUFifDOo7THxmPiY03/fZXk7s1wR371z1zPnKlbDGuvc9TKKz78cE9y'\
962
+ 'io3W436vbv1fOV6/oPx010/Ee5PbMLbrfbPRWU53kPb/9+SlRj9L8ALcJ/lNsym+DO5/PTQ'\
963
+ 'aVpqnVdT/0RnGLOed0LlikvpH6L2QSnqoPX4QT1mu4FC3/Dz5tVcMDcERxgEcEBFhEcYBHB'\
964
+ 'ARYRHGARwQEWERxgEcEBFhEcYBHBARYRHGARwQEWERxgEcEBFhEcYBHBARYRHGDRX+EC0ah'\
965
+ '++pNrAAAAAElFTkSuQmCC","resource":"Transaction","resource_id":"11e95f8e'\
966
+ 'c39de8fbdb0a4f1a","id":"11e95f8ec39de8fbdb0a4f1a","created_ts":14220409'\
967
+ '92,"modified_ts":1422040992},"payment_schedule":["2021-12-01"],"locatio'\
968
+ 'n":{"id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992,"modified_t'\
969
+ 's":1422040992,"account_number":"5454545454545454","address":{"city":"No'\
970
+ 'vi","state":"MI","postal_code":"48375","country":"US"},"branding_domain'\
971
+ '_id":"11e95f8ec39de8fbdb0a4f1a","contact_email_trx_receipt_default":tru'\
972
+ 'e,"default_ach":"11e608a7d515f1e093242bb2","default_cc":"11e608a442a5f1'\
973
+ 'e092242dda","email_reply_to":"email@domain.com","fax":"3339998822","loc'\
974
+ 'ation_api_id":"location-111111","location_api_key":"AE34BBCAADF4AE34BBC'\
975
+ 'AADF4","location_c1":"custom 1","location_c2":"custom 2","location_c3":'\
976
+ '"custom data 3","name":"Sample Company Headquarters","office_phone":"24'\
977
+ '81234567","office_ext_phone":"1021021209","tz":"America/New_York","pare'\
978
+ 'nt_id":"11e95f8ec39de8fbdb0a4f1a","show_contact_notes":true,"show_conta'\
979
+ 'ct_files":true,"created_user_id":"11e95f8ec39de8fbdb0a4f1a","location_t'\
980
+ 'ype":"merchant","ticket_hash_key":"A5F443CADF4AE34BBCAADF4","additional'\
981
+ '_access":{}},"product_transaction":{"processor_version":"1_0_0","title"'\
982
+ ':"My terminal","payment_method":"cc","processor":"zgate","mcc":"1111","'\
983
+ 'tax_surcharge_config":2,"partner":"standalone","location_id":"11e95f8ec'\
984
+ '39de8fbdb0a4f1a","surcharge":{},"processor_data":{},"vt_clerk_number":t'\
985
+ 'rue,"vt_billing_phone":true,"vt_enable_tip":true,"ach_allow_debit":true'\
986
+ ',"ach_allow_credit":true,"ach_allow_refund":true,"vt_cvv":true,"vt_stre'\
987
+ 'et":true,"vt_zip":true,"vt_order_num":true,"vt_enable":true,"receipt_sh'\
988
+ 'ow_contact_name":true,"display_avs":true,"card_type_visa":true,"card_ty'\
989
+ 'pe_mc":true,"card_type_disc":true,"card_type_amex":true,"card_type_dine'\
990
+ 'rs":true,"card_type_jcb":true,"card_type_ebt":true,"allow_ebt_cash_bene'\
991
+ 'fit":true,"allow_ebt_food_stamp":true,"invoice_location":true,"allow_pa'\
992
+ 'rtial_authorization":true,"allow_recurring_partial_authorization":true,'\
993
+ '"auto_decline_cvv":true,"auto_decline_street":true,"auto_decline_zip":t'\
994
+ 'rue,"split_payments_allow":true,"vt_show_custom_fields":true,"receipt_s'\
995
+ 'how_custom_fields":true,"vt_override_sales_tax_allowed":true,"vt_enable'\
996
+ '_sales_tax":true,"vt_require_zip":true,"vt_require_street":true,"auto_d'\
997
+ 'ecline_cavv":true,"current_batch":34,"dup_check_per_batch":null,"paylin'\
998
+ 'k_allow":false,"quick_invoice_allow":false,"level3_allow":false,"payfac'\
999
+ '_enable":false,"enable_3ds":false,"sales_office_id":"11e95f8ec39de8fbdb'\
1000
+ '0a4f1a","hosted_payment_page_allow":false,"surcharge_id":"11e95f8ec39de'\
1001
+ '8fbdb0a4f1a","allow_big_commerce":false,"level3_default":{"destination_'\
1002
+ 'country_code":"840","duty_amount":0,"freight_amount":0,"national_tax":2'\
1003
+ ',"sales_tax":200,"shipfrom_zip_code":"AZ12345","shipto_zip_code":"MI483'\
1004
+ '35","tax_amount":0,"tax_exempt":"0","customer_vat_registration":"123456'\
1005
+ '78","merchant_vat_registration":"123456","order_date":"171006","summary'\
1006
+ '_commodity_code":"C1K2","tax_rate":0,"unique_vat_ref_number":"vat1234",'\
1007
+ '"line_items":[{"alternate_tax_id":"1234","debit_credit":"C","descriptio'\
1008
+ 'n":"cool drink","discount_amount":10,"discount_rate":11,"product_code":'\
1009
+ '"coke12345678","quantity":5,"tax_amount":3,"tax_rate":0,"tax_type_appli'\
1010
+ 'ed":"22","tax_type_id":"a1","unit_code":"gll","unit_cost":10,"commodity'\
1011
+ '_code":"cc123456","other_tax_amount":0}]},"cau_subscribe_type_id":0,"lo'\
1012
+ 'cation_billing_account_id":"11eb88b873980c64a21e5fd2","product_billing_'\
1013
+ 'group_id":"nofees","account_number":"12345678","run_avs_on_accountvault'\
1014
+ '_create":false,"accountvault_expire_notification_email_enable":false,"d'\
1015
+ 'ebit_allow_void":false,"quick_invoice_text_to_pay":false,"sms_enable":f'\
1016
+ 'alse,"vt_show_currency":true,"receipt_show_currency":false,"allow_blind'\
1017
+ '_refund":false,"vt_show_company_name":false,"receipt_show_company_name"'\
1018
+ ':false,"bank_funded_only":false,"require_cvv_on_keyed_cnp":true,"requir'\
1019
+ 'e_cvv_on_tokenized_cnp":true,"show_secondary_amount":false,"allow_secon'\
1020
+ 'dary_amount":false,"show_google_pay":true,"show_apple_pay":true,"batch_'\
1021
+ 'risk_config":{},"currency_code":840,"enable_ach_validation":false,"enab'\
1022
+ 'le_ach_retry":false,"allow_softpos":false,"id":"11e95f8ec39de8fbdb0a4f1'\
1023
+ 'a","active":true,"created_ts":1422040992,"modified_ts":1422040992,"crea'\
1024
+ 'ted_user_id":"11e95f8ec39de8fbdb0a4f1a","modified_user_id":"11e95f8ec39'\
1025
+ 'de8fbdb0a4f1a","product_transaction_api_id":"11e95f8ec39de8fbdb0a4f1a",'\
1026
+ '"is_secondary_amount_allowed":false,"fortis_id":"8149742","product_bill'\
1027
+ 'ing_group_code":"nofees","cau_subscribe_type_code":0},"next_run_date_mi'\
1028
+ 'n":"2021-12-01","next_run_date_max":"2021-12-01","all_tags":[{"location'\
1029
+ '_id":"11e95f8ec39de8fbdb0a4f1a","title":"My terminal","id":"11e95f8ec39'\
1030
+ 'de8fbdb0a4f1a","created_ts":1422040992,"modified_ts":1422040992}],"chan'\
1031
+ 'gelogs":[{"id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1422040992,"acti'\
1032
+ 'on":"CREATE","model":"TransactionRequest","model_id":"11ec829598f0d4008'\
1033
+ 'be9aba4","user_id":"11e95f8ec39de8fbdb0a4f1a","changelog_details":[{"id'\
1034
+ '":"11e95f8ec39de8fbdb0a4f1a","changelog_id":"11e95f8ec39de8fbdb0a4f1a",'\
1035
+ '"field":"next_run_ts","old_value":"1643616000"}],"user":{"id":"11e95f8e'\
1036
+ 'c39de8fbdb0a4f1a","username":"email@domain.com","first_name":"Bob","las'\
1037
+ 't_name":"Fairview"}}],"forecast":{"id":"11e95f8ec39de8fbdb0a4f1a","recu'\
1038
+ 'rring_id":"Recurring ID","created_ts":1422040992,"modified_ts":14220409'\
1039
+ '92},"recurring_splits":[{"id":"11e95f8ec39de8fbdb0a4f1a","created_ts":1'\
1040
+ '422040992,"created_user_id":"11e95f8ec39de8fbdb0a4f1a"}]}}'
1041
+ )
1042
+ received_body = JSON.parse(@response_catcher.response.raw_body)
1043
+ assert(ComparisonHelper.match_body(expected_body, received_body))
1044
+ end
1045
+
1046
+ end