fat_zebra 3.0.10 → 3.2.2

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 (215) hide show
  1. checksums.yaml +5 -5
  2. data/.gitignore +2 -0
  3. data/.rubocop.yml +3 -5
  4. data/.travis.yml +3 -3
  5. data/README.md +5 -5
  6. data/fat_zebra.gemspec +5 -5
  7. data/lib/fat_zebra.rb +8 -0
  8. data/lib/fat_zebra/api_operation/search.rb +1 -1
  9. data/lib/fat_zebra/authenticate.rb +64 -0
  10. data/lib/fat_zebra/batch.rb +3 -1
  11. data/lib/fat_zebra/card.rb +1 -0
  12. data/lib/fat_zebra/direct_credit.rb +1 -1
  13. data/lib/fat_zebra/direct_debit.rb +1 -1
  14. data/lib/fat_zebra/paypal/authorization.rb +49 -0
  15. data/lib/fat_zebra/paypal/billing_agreement.rb +56 -0
  16. data/lib/fat_zebra/paypal/capture.rb +36 -0
  17. data/lib/fat_zebra/paypal/order.rb +22 -0
  18. data/lib/fat_zebra/paypal/refund.rb +22 -0
  19. data/lib/fat_zebra/refund.rb +4 -0
  20. data/lib/fat_zebra/validation.rb +4 -0
  21. data/lib/fat_zebra/version.rb +1 -1
  22. data/spec/cassettes/FatZebra_Authenticate/_authenticate/validations/1_3_5_1.yml +46 -0
  23. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_challenge_response/1_3_3_1.yml +90 -0
  24. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_challenge_response/1_3_3_2.yml +90 -0
  25. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_1.yml +90 -0
  26. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_2.yml +90 -0
  27. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_1.yml +90 -0
  28. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_2.yml +87 -0
  29. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_3.yml +92 -0
  30. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_4.yml +91 -0
  31. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_type_validation/1_3_4_1.yml +46 -0
  32. data/spec/cassettes/FatZebra_Authenticate/_decode_session/when_token_is_invalid/returns_error_when_invalid_token.yml +47 -0
  33. data/spec/cassettes/FatZebra_Authenticate/_decode_session/when_token_is_valid/decodes_JWT.yml +87 -0
  34. data/spec/cassettes/FatZebra_Authenticate/_session/returns_JWT_with_given_params.yml +44 -0
  35. data/spec/cassettes/FatZebra_Authenticate/_session/returns_JWT_with_no_amount.yml +44 -0
  36. data/spec/cassettes/FatZebra_Authenticate/_session/returns_error_when_amount_is_invalid.yml +44 -0
  37. data/spec/cassettes/FatZebra_Authenticate/_session/returns_error_when_currency_is_invalid.yml +46 -0
  38. data/spec/cassettes/FatZebra_BankAccount/_create/1_1_1.yml +7 -9
  39. data/spec/cassettes/FatZebra_BankAccount/_create/1_1_2.yml +7 -9
  40. data/spec/cassettes/FatZebra_BankAccount/_search/1_2_1.yml +32 -38
  41. data/spec/cassettes/FatZebra_BankAccount/_search/1_2_2.yml +32 -38
  42. data/spec/cassettes/FatZebra_BankAccount/_search/1_2_3.yml +32 -38
  43. data/spec/cassettes/FatZebra_Batch/_create/with_file/1_1_1_1.yml +10 -14
  44. data/spec/cassettes/FatZebra_Batch/_create/with_file/1_1_1_2.yml +10 -14
  45. data/spec/cassettes/FatZebra_Batch/_create/with_path/1_1_2_1.yml +10 -14
  46. data/spec/cassettes/FatZebra_Batch/_create/with_path/1_1_2_2.yml +10 -14
  47. data/spec/cassettes/FatZebra_Batch/_find/1_2_1.yml +18 -24
  48. data/spec/cassettes/FatZebra_Batch/_find/1_2_2.yml +18 -24
  49. data/spec/cassettes/FatZebra_Batch/_result/1_4_1.yml +26 -34
  50. data/spec/cassettes/FatZebra_Batch/_search/1_3_1.yml +8 -10
  51. data/spec/cassettes/FatZebra_Batch/_search/1_3_2.yml +8 -10
  52. data/spec/cassettes/FatZebra_Batch/_search/1_3_3.yml +8 -10
  53. data/spec/cassettes/FatZebra_Card/_create/1_1_1.yml +7 -9
  54. data/spec/cassettes/FatZebra_Card/_create/1_1_2.yml +7 -9
  55. data/spec/cassettes/FatZebra_Card/_create/1_1_3.yml +7 -9
  56. data/spec/cassettes/FatZebra_Card/_create/1_1_4.yml +7 -9
  57. data/spec/cassettes/FatZebra_Card/_create/1_1_5.yml +7 -9
  58. data/spec/cassettes/FatZebra_Card/_create/1_1_6.yml +7 -9
  59. data/spec/cassettes/FatZebra_Card/_find/1_3_1.yml +111 -0
  60. data/spec/cassettes/FatZebra_Card/_find/1_3_2.yml +111 -0
  61. data/spec/cassettes/FatZebra_Card/_update/1_2_1.yml +14 -18
  62. data/spec/cassettes/FatZebra_Card/_update/1_2_2.yml +14 -18
  63. data/spec/cassettes/FatZebra_Card/_update/1_2_3.yml +14 -18
  64. data/spec/cassettes/FatZebra_Card/_update/validations/1_2_4_1.yml +7 -9
  65. data/spec/cassettes/FatZebra_Customer/_create/1_1_1.yml +8 -10
  66. data/spec/cassettes/FatZebra_Customer/_create/1_1_2.yml +8 -10
  67. data/spec/cassettes/FatZebra_Customer/_create/1_1_3.yml +8 -10
  68. data/spec/cassettes/FatZebra_Customer/_create/1_1_4.yml +8 -10
  69. data/spec/cassettes/FatZebra_Customer/_create/1_1_5.yml +8 -10
  70. data/spec/cassettes/FatZebra_Customer/_create/1_1_6.yml +8 -10
  71. data/spec/cassettes/FatZebra_Customer/_delete/1_5_1.yml +16 -20
  72. data/spec/cassettes/FatZebra_Customer/_find/1_3_1.yml +17 -21
  73. data/spec/cassettes/FatZebra_Customer/_find/1_3_2.yml +17 -21
  74. data/spec/cassettes/FatZebra_Customer/_search/1_2_1.yml +14 -20
  75. data/spec/cassettes/FatZebra_Customer/_search/1_2_2.yml +14 -20
  76. data/spec/cassettes/FatZebra_Customer/_search/1_2_3.yml +14 -20
  77. data/spec/cassettes/FatZebra_Customer/_update/1_4_1.yml +17 -21
  78. data/spec/cassettes/FatZebra_Customer/_update/1_4_2.yml +17 -21
  79. data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_1.yml +7 -9
  80. data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_2.yml +7 -9
  81. data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_3.yml +7 -9
  82. data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_4.yml +7 -9
  83. data/spec/cassettes/FatZebra_DirectCredit/_create/validations/valid/1_1_5_1_1.yml +6 -8
  84. data/spec/cassettes/FatZebra_DirectCredit/_delete/1_4_1.yml +14 -18
  85. data/spec/cassettes/FatZebra_DirectCredit/_find/1_2_1.yml +15 -19
  86. data/spec/cassettes/FatZebra_DirectCredit/_find/1_2_2.yml +15 -19
  87. data/spec/cassettes/FatZebra_DirectCredit/_find/1_2_3.yml +103 -0
  88. data/spec/cassettes/FatZebra_DirectCredit/_search/1_3_1.yml +22 -28
  89. data/spec/cassettes/FatZebra_DirectCredit/_search/1_3_2.yml +22 -28
  90. data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_1.yml +7 -9
  91. data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_2.yml +7 -9
  92. data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_3.yml +7 -9
  93. data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_4.yml +7 -9
  94. data/spec/cassettes/FatZebra_DirectDebit/_create/validations/valid/1_1_5_1_1.yml +6 -8
  95. data/spec/cassettes/FatZebra_DirectDebit/_delete/1_4_1.yml +14 -18
  96. data/spec/cassettes/FatZebra_DirectDebit/_find/1_2_1.yml +15 -19
  97. data/spec/cassettes/FatZebra_DirectDebit/_find/1_2_2.yml +15 -19
  98. data/spec/cassettes/FatZebra_DirectDebit/_find/1_2_3.yml +103 -0
  99. data/spec/cassettes/FatZebra_DirectDebit/_search/1_3_1.yml +22 -28
  100. data/spec/cassettes/FatZebra_DirectDebit/_search/1_3_2.yml +22 -28
  101. data/spec/cassettes/FatZebra_Information/_ping/1_1_1.yml +7 -9
  102. data/spec/cassettes/FatZebra_Information/_ping/1_1_2.yml +7 -9
  103. data/spec/cassettes/FatZebra_PaymentPlan/_active_/1_8_1.yml +48 -56
  104. data/spec/cassettes/FatZebra_PaymentPlan/_active_/1_8_2.yml +48 -56
  105. data/spec/cassettes/FatZebra_PaymentPlan/_create/1_1_1.yml +20 -24
  106. data/spec/cassettes/FatZebra_PaymentPlan/_create/1_1_2.yml +20 -24
  107. data/spec/cassettes/FatZebra_PaymentPlan/_create/1_1_3.yml +20 -24
  108. data/spec/cassettes/FatZebra_PaymentPlan/_delete/1_5_1.yml +28 -34
  109. data/spec/cassettes/FatZebra_PaymentPlan/_destroy/1_6_1.yml +28 -34
  110. data/spec/cassettes/FatZebra_PaymentPlan/_find/1_2_1.yml +33 -39
  111. data/spec/cassettes/FatZebra_PaymentPlan/_find/1_2_2.yml +33 -39
  112. data/spec/cassettes/FatZebra_PaymentPlan/_find/1_2_3.yml +33 -39
  113. data/spec/cassettes/FatZebra_PaymentPlan/_suspend_/1_7_1.yml +34 -40
  114. data/spec/cassettes/FatZebra_PaymentPlan/_suspend_/1_7_2.yml +34 -40
  115. data/spec/cassettes/FatZebra_PaymentPlan/_update/1_3_1.yml +28 -34
  116. data/spec/cassettes/FatZebra_PaymentPlan/_update/1_3_2.yml +28 -34
  117. data/spec/cassettes/FatZebra_PaymentPlan/_update/1_3_3.yml +28 -34
  118. data/spec/cassettes/FatZebra_PaymentPlan/_update/1_4_1.yml +34 -40
  119. data/spec/cassettes/FatZebra_PaymentPlan/_update/1_4_2.yml +34 -40
  120. data/spec/cassettes/FatZebra_Paypal_Authorization/_capture/returns_a_new_capture_record.yml +45 -0
  121. data/spec/cassettes/FatZebra_Paypal_Authorization/_find/when_found/returns_authorization.yml +46 -0
  122. data/spec/cassettes/FatZebra_Paypal_Authorization/_search/with_date_filter/returns_records_created_after_start_date.yml +46 -0
  123. data/spec/cassettes/FatZebra_Paypal_Authorization/_void/returns_a_voided_capture_record.yml +44 -0
  124. data/spec/cassettes/FatZebra_Paypal_BillingAgreement/_charge/Valid_payload/returns_a_new_order_record.yml +48 -0
  125. data/spec/cassettes/FatZebra_Paypal_BillingAgreement/_find/when_found/returns_billing_agreement.yml +48 -0
  126. data/spec/cassettes/FatZebra_Paypal_BillingAgreement/_search/with_date_filter/returns_records_created_after_start_date.yml +48 -0
  127. data/spec/cassettes/FatZebra_Paypal_Capture/_find/when_found/returns_capture.yml +47 -0
  128. data/spec/cassettes/FatZebra_Paypal_Capture/_refund/returns_a_new_refund_record.yml +45 -0
  129. data/spec/cassettes/FatZebra_Paypal_Capture/_search/with_date_filter/returns_records_created_after_start_date.yml +49 -0
  130. data/spec/cassettes/FatZebra_Paypal_Order/_find/when_found/returns_order.yml +48 -0
  131. data/spec/cassettes/FatZebra_Paypal_Order/_search/with_date_filter/returns_orders_created_after_start_date.yml +55 -0
  132. data/spec/cassettes/FatZebra_Paypal_Refund/_find/when_found/returns_refund.yml +47 -0
  133. data/spec/cassettes/FatZebra_Paypal_Refund/_search/with_date_filter/returns_all_refund_records_created_after_start_date.yml +50 -0
  134. data/spec/cassettes/FatZebra_Purchase/_capture/1_5_1.yml +30 -22
  135. data/spec/cassettes/FatZebra_Purchase/_capture/1_5_2.yml +30 -22
  136. data/spec/cassettes/FatZebra_Purchase/_capture/1_5_3.yml +30 -22
  137. data/spec/cassettes/FatZebra_Purchase/_create/1_1_1.yml +8 -10
  138. data/spec/cassettes/FatZebra_Purchase/_create/1_1_10.yml +8 -10
  139. data/spec/cassettes/FatZebra_Purchase/_create/1_1_11.yml +8 -10
  140. data/spec/cassettes/FatZebra_Purchase/_create/1_1_12.yml +8 -10
  141. data/spec/cassettes/FatZebra_Purchase/_create/1_1_13.yml +8 -10
  142. data/spec/cassettes/FatZebra_Purchase/_create/1_1_2.yml +8 -10
  143. data/spec/cassettes/FatZebra_Purchase/_create/1_1_3.yml +8 -10
  144. data/spec/cassettes/FatZebra_Purchase/_create/1_1_4.yml +8 -10
  145. data/spec/cassettes/FatZebra_Purchase/_create/1_1_5.yml +8 -10
  146. data/spec/cassettes/FatZebra_Purchase/_create/1_1_6.yml +8 -10
  147. data/spec/cassettes/FatZebra_Purchase/_create/1_1_7.yml +8 -10
  148. data/spec/cassettes/FatZebra_Purchase/_create/1_1_8.yml +8 -10
  149. data/spec/cassettes/FatZebra_Purchase/_create/1_1_9.yml +8 -10
  150. data/spec/cassettes/FatZebra_Purchase/_create/bad_request/1_1_14_1.yml +10 -12
  151. data/spec/cassettes/FatZebra_Purchase/_create/bad_request/1_1_14_2.yml +10 -12
  152. data/spec/cassettes/FatZebra_Purchase/_find/1_2_1.yml +31 -23
  153. data/spec/cassettes/FatZebra_Purchase/_find/1_2_2.yml +31 -23
  154. data/spec/cassettes/FatZebra_Purchase/_find/1_2_3.yml +31 -23
  155. data/spec/cassettes/FatZebra_Purchase/_find/1_2_4.yml +31 -23
  156. data/spec/cassettes/FatZebra_Purchase/_refund/1_4_1.yml +30 -22
  157. data/spec/cassettes/FatZebra_Purchase/_refund/1_4_2.yml +30 -22
  158. data/spec/cassettes/FatZebra_Purchase/_refund/1_4_3.yml +30 -22
  159. data/spec/cassettes/FatZebra_Purchase/_search/1_3_1.yml +34 -40
  160. data/spec/cassettes/FatZebra_Purchase/_search/1_3_2.yml +34 -40
  161. data/spec/cassettes/FatZebra_Purchase/_search/1_3_3.yml +34 -40
  162. data/spec/cassettes/FatZebra_Purchase/_settlement/1_8_1.yml +523 -511
  163. data/spec/cassettes/FatZebra_Purchase/_settlement/1_8_2.yml +523 -511
  164. data/spec/cassettes/FatZebra_Purchase/_settlement/1_8_3.yml +523 -511
  165. data/spec/cassettes/FatZebra_Purchase/_void/1_6_1.yml +16 -20
  166. data/spec/cassettes/FatZebra_Purchase/_void/1_6_2.yml +16 -20
  167. data/spec/cassettes/FatZebra_Purchase/_void/1_6_3.yml +16 -20
  168. data/spec/cassettes/FatZebra_Purchase/_void/1_6_4.yml +16 -20
  169. data/spec/cassettes/FatZebra_Purchase/_void/1_7_1.yml +16 -20
  170. data/spec/cassettes/FatZebra_Purchase/_void/1_7_2.yml +16 -20
  171. data/spec/cassettes/FatZebra_Purchase/_void/1_7_3.yml +16 -20
  172. data/spec/cassettes/FatZebra_Purchase/_void/1_7_4.yml +16 -20
  173. data/spec/cassettes/FatZebra_Refund/_create/1_1_1.yml +16 -20
  174. data/spec/cassettes/FatZebra_Refund/_create/1_1_10.yml +16 -20
  175. data/spec/cassettes/FatZebra_Refund/_create/1_1_2.yml +16 -20
  176. data/spec/cassettes/FatZebra_Refund/_create/1_1_3.yml +16 -20
  177. data/spec/cassettes/FatZebra_Refund/_create/1_1_4.yml +16 -20
  178. data/spec/cassettes/FatZebra_Refund/_create/1_1_5.yml +16 -20
  179. data/spec/cassettes/FatZebra_Refund/_create/1_1_6.yml +16 -20
  180. data/spec/cassettes/FatZebra_Refund/_create/1_1_7.yml +16 -20
  181. data/spec/cassettes/FatZebra_Refund/_create/1_1_8.yml +16 -20
  182. data/spec/cassettes/FatZebra_Refund/_create/1_1_9.yml +16 -20
  183. data/spec/cassettes/FatZebra_Refund/_find/1_2_1.yml +25 -31
  184. data/spec/cassettes/FatZebra_Refund/_find/1_2_2.yml +25 -31
  185. data/spec/cassettes/FatZebra_Refund/_find/1_2_3.yml +25 -31
  186. data/spec/cassettes/FatZebra_Refund/_search/responds_with_the_newly-created_refunds.yml +214 -0
  187. data/spec/cassettes/FatZebra_Refund/_void/1_4_1.yml +24 -30
  188. data/spec/cassettes/FatZebra_Refund/_void/1_4_2.yml +24 -30
  189. data/spec/cassettes/FatZebra_Refund/_void/1_4_3.yml +24 -30
  190. data/spec/cassettes/FatZebra_Refund/_void/1_4_4.yml +24 -30
  191. data/spec/cassettes/FatZebra_WebHook/_create/1_1_1.yml +6 -8
  192. data/spec/cassettes/FatZebra_WebHook/_create/1_1_2.yml +6 -8
  193. data/spec/cassettes/FatZebra_WebHook/_create/1_1_3.yml +6 -8
  194. data/spec/cassettes/FatZebra_WebHook/_delete/1_4_1.yml +13 -17
  195. data/spec/cassettes/FatZebra_WebHook/_search/1_2_1.yml +163 -43
  196. data/spec/cassettes/FatZebra_WebHook/_search/1_2_2.yml +165 -45
  197. data/spec/cassettes/FatZebra_WebHook/_update/1_3_1.yml +13 -17
  198. data/spec/cassettes/FatZebra_WebHook/_update/1_3_2.yml +13 -17
  199. data/spec/lib/fat_zebra/authenticate_spec.rb +187 -0
  200. data/spec/lib/fat_zebra/card_spec.rb +8 -0
  201. data/spec/lib/fat_zebra/direct_credit_spec.rb +14 -1
  202. data/spec/lib/fat_zebra/direct_debit_spec.rb +14 -1
  203. data/spec/lib/fat_zebra/payment_plan_spec.rb +1 -1
  204. data/spec/lib/fat_zebra/paypal/authorization_spec.rb +79 -0
  205. data/spec/lib/fat_zebra/paypal/billing_agreement_spec.rb +62 -0
  206. data/spec/lib/fat_zebra/paypal/capture_spec.rb +60 -0
  207. data/spec/lib/fat_zebra/paypal/order_spec.rb +35 -0
  208. data/spec/lib/fat_zebra/paypal/refund_spec.rb +36 -0
  209. data/spec/lib/fat_zebra/purchase_spec.rb +3 -3
  210. data/spec/lib/fat_zebra/refund_spec.rb +37 -17
  211. data/spec/spec_helper.rb +0 -1
  212. data/spec/support/payloads.rb +135 -0
  213. metadata +59 -15
  214. data/spec/cassettes/FatZebra_Refund/_search/1_3_1.yml +0 -275
  215. data/spec/cassettes/FatZebra_Refund/_search/1_3_2.yml +0 -275
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: b793a5d5e41e2482780390f4604fe00d2842fd41
4
- data.tar.gz: 365e019850faeaab4138db7e2d7c5b1490b42ef0
2
+ SHA256:
3
+ metadata.gz: f8d85774af51c13646069798dbd89e5c0c5e361b7f5c0b4c243f2f1cc588df52
4
+ data.tar.gz: 05264d69795b2711ae0e15e659537595fc1ff4e14f419aa96fc716d06376f880
5
5
  SHA512:
6
- metadata.gz: 2ad6c5d9720951496b9e150ab87b13fdf90b7c4c87eca9616e216954bd9750331b5470d0c6745689af69ebcb576452b88e0a29aa1cb7d8d64ce253c91e6a6fea
7
- data.tar.gz: 2f31bae19da015addfbbb999f514abd20acbb603f1649f80e5183837183532a012f67eaa3556bcf2c358a4085030b9a42763bba756b384647812b5b276a444ba
6
+ metadata.gz: 3e9495cf35d0ccd5ee00df0a22d22da40dc0f62f9e3b151ea9e8cb39ca24ab8978b6de308c6520bc4995b80826dc5925990539b3d25a6e40aa94bbba3a0a3f53
7
+ data.tar.gz: bd4f0411fd66e9a84e7f705a19ae51a1a9f5a31afed558b50f3952d38eb88f5e083aba17ba34cc7386cf5ed41635494f6eed4e5cdf36ed4493fb433822562aba
data/.gitignore CHANGED
@@ -4,3 +4,5 @@ Gemfile.lock
4
4
  pkg/*
5
5
  .yardoc
6
6
  doc/
7
+ .byebug_history
8
+ .ruby-version
@@ -5,7 +5,9 @@ Layout/EmptyLinesAroundModuleBody:
5
5
  Layout/EmptyLinesAroundBlockBody:
6
6
  Enabled: false
7
7
 
8
- Style/MethodMissing:
8
+ Style/MissingRespondToMissing:
9
+ Enabled: false
10
+ Style/MethodMissingSuper:
9
11
  Enabled: false
10
12
  Style/NumericPredicate:
11
13
  Enabled: false
@@ -33,10 +35,6 @@ Documentation:
33
35
 
34
36
  AllCops:
35
37
  TargetRubyVersion: 2.2
36
- Include:
37
- - Gemfile
38
- - Rakefile
39
- - Capfile
40
38
  Exclude:
41
39
  - bin/**/*
42
40
  - vendor/**/*
@@ -1,11 +1,11 @@
1
1
  cache: bundler
2
2
  language: ruby
3
3
  rvm:
4
- - 2.0
5
- - 2.1
6
- - 2.2
7
4
  - 2.3
8
5
  - 2.4
6
+ - 2.5
7
+ - 2.6
8
+ - 2.7
9
9
  script:
10
10
  - bundle exec rspec spec
11
11
  - bundle exec rubocop
data/README.md CHANGED
@@ -3,14 +3,14 @@ Ruby API Library for Fat Zebra
3
3
 
4
4
  [![Build Status](https://travis-ci.org/fatzebra/Ruby-Library.svg?branch=master)](https://travis-ci.org/fatzebra/Ruby-Library)
5
5
 
6
- Release 3.0.9 for API version 1.0
6
+ Release 3.2.1 for API version 1.0
7
7
 
8
- A Ruby client for the [Fat Zebra](https://www.fatzebra.com.au) Online Payment Gateway (for Australian Merchants)
8
+ A Ruby client for the [Fat Zebra](https://www.fatzebra.com) Online Payment Gateway
9
9
 
10
10
  Dependencies
11
11
  ------------
12
12
 
13
- * Ruby (tested on 2.0, 2.1, 2.2, 2.3, 2.4)
13
+ * Ruby (tested on 2.3, 2.4, 2.5, 2.6)
14
14
  * Rest Client
15
15
 
16
16
  Installing
@@ -54,11 +54,11 @@ end
54
54
  Documentation
55
55
  -------------
56
56
 
57
- Full API reference can be found at http://docs.fatzebra.com.au
57
+ Full API reference can be found at http://docs.fatzebra.com
58
58
 
59
59
  Support
60
60
  -------
61
- If you have any issue with the Fat Zebra Ruby Client please contact us at support@fatzebra.com.au and we will be more then happy to help out. Alternatively you may raise an issue in github.
61
+ If you have any issue with the Fat Zebra Ruby Client please contact us at support@fatzebra.com and we will be more then happy to help out. Alternatively you may raise an issue in github.
62
62
 
63
63
  Pull Requests
64
64
  -------------
@@ -6,11 +6,11 @@ require 'fat_zebra/version'
6
6
  Gem::Specification.new do |s|
7
7
  s.name = 'fat_zebra'
8
8
  s.version = FatZebra::VERSION
9
- s.authors = ['Matthew Savage']
10
- s.email = ['matt@amasses.net']
9
+ s.authors = ['Fat Zebra']
10
+ s.email = ['support@fatzebra.com']
11
11
  s.homepage = ''
12
12
  s.summary = 'Fat Zebra payments gem - integrate your ruby app with Fat Zebra'
13
- s.description = 'Provides integration with the Fat Zebra internet payment gateway (www.fatzebra.com.au), including purchase, refund, auth, capture and recurring billing functionality.'
13
+ s.description = 'Provides integration with the Fat Zebra internet payment gateway (www.fatzebra.com), including purchase, refund, auth, capture and recurring billing functionality.'
14
14
 
15
15
  s.rubyforge_project = 'fat_zebra'
16
16
 
@@ -18,10 +18,10 @@ Gem::Specification.new do |s|
18
18
  s.test_files = `git ls-files -- {spec}/*`.split("\n")
19
19
  s.require_paths = %w[lib]
20
20
 
21
- s.add_development_dependency 'pry'
21
+ s.add_development_dependency 'byebug'
22
22
  s.add_development_dependency 'rake'
23
23
  s.add_development_dependency 'rspec', '~> 3.6'
24
- s.add_development_dependency 'rubocop', '~> 0.49'
24
+ s.add_development_dependency 'rubocop', '~> 0.58.1'
25
25
  s.add_development_dependency 'vcr', '~> 3.0'
26
26
  s.add_development_dependency 'webmock', '~> 3.0'
27
27
  end
@@ -28,6 +28,7 @@ require 'fat_zebra/api_operation/void'
28
28
  require 'fat_zebra/purchase'
29
29
  require 'fat_zebra/information'
30
30
  require 'fat_zebra/card'
31
+ require 'fat_zebra/authenticate'
31
32
  require 'fat_zebra/refund'
32
33
  require 'fat_zebra/payment_plan'
33
34
  require 'fat_zebra/customer'
@@ -37,6 +38,13 @@ require 'fat_zebra/bank_account'
37
38
  require 'fat_zebra/web_hook'
38
39
  require 'fat_zebra/batch'
39
40
 
41
+ # Paypal API Resources
42
+ require 'fat_zebra/paypal/billing_agreement'
43
+ require 'fat_zebra/paypal/order'
44
+ require 'fat_zebra/paypal/authorization'
45
+ require 'fat_zebra/paypal/capture'
46
+ require 'fat_zebra/paypal/refund'
47
+
40
48
  ##
41
49
  # Implementation of the FatZebra
42
50
  module FatZebra
@@ -8,7 +8,7 @@ module FatZebra
8
8
  ##
9
9
  # Default params for the API
10
10
  DEFAULT_PARAMS = {
11
- offets: 0,
11
+ offset: 0,
12
12
  limit: 10
13
13
  }.freeze
14
14
 
@@ -0,0 +1,64 @@
1
+ module FatZebra
2
+ ##
3
+ # == FatZebra \Authenticate
4
+ #
5
+ # Manage 3DS2/SCA authentication for the API
6
+ #
7
+ # * session
8
+ # * authenticate
9
+ # * decode_session
10
+ #
11
+ class Authenticate < APIResource
12
+ @resource_name = 'authenticate'
13
+
14
+ validates :card_token, required: true, on: :authenticate
15
+ validates :sca, required: true, on: :authenticate
16
+ validates :token, required: true, on: :decode_session
17
+
18
+ class << self
19
+
20
+ ##
21
+ # Returns a JWT token for the 3DS authentication process
22
+ #
23
+ # @param [Hash] params
24
+ # @param [Hash] options for the request, and configurations (Optional)
25
+ #
26
+ # @return [FatZebra::Authenticate]
27
+ def session(params = {}, options = {})
28
+ valid!(params, :session) if respond_to?(:valid!)
29
+
30
+ response = request(:post, "#{resource_path}/session", params, options)
31
+ initialize_from(response)
32
+ end
33
+
34
+ ##
35
+ # Decodes a JWT token for the 3DS authentication process
36
+ #
37
+ # @param [Hash] params
38
+ # @param [Hash] options for the request, and configurations (Optional)
39
+ #
40
+ # @return [FatZebra::Authenticate]
41
+ def decode_session(params = {}, options = {})
42
+ valid!(params, :decode_session) if respond_to?(:valid!)
43
+
44
+ response = request(:get, "#{resource_path}/decode_session", params, options)
45
+ initialize_from(response)
46
+ end
47
+
48
+ ##
49
+ # Authenticates a 3ds request
50
+ #
51
+ # @param [Hash] params
52
+ # @param [Hash] options for the request, and configurations (Optional)
53
+ #
54
+ # @return [FatZebra::Authenticate]
55
+ def authenticate(params = {}, options = {})
56
+ valid!(params, :authenticate) if respond_to?(:valid!)
57
+
58
+ response = request(:post, resource_path, params, options)
59
+ initialize_from(response)
60
+ end
61
+ end
62
+
63
+ end
64
+ end
@@ -34,8 +34,10 @@ module FatZebra
34
34
  params[:multipart] = true
35
35
  params[:content_type] = 'text/csv'
36
36
  params[:file] = File.new(params.delete(:path)) if params.key?(:path)
37
-
37
+ @resource_name = "batches/#{params[:filename]}"
38
38
  super(params, options)
39
+ ensure
40
+ @resource_name = 'batches'
39
41
  end
40
42
 
41
43
  end
@@ -9,6 +9,7 @@ module FatZebra
9
9
  class Card < APIResource
10
10
  @resource_name = 'credit_cards'
11
11
 
12
+ include FatZebra::APIOperation::Find
12
13
  include FatZebra::APIOperation::Save
13
14
 
14
15
  validates :card_holder, required: { unless: %i[wallet] }, on: :create
@@ -17,7 +17,7 @@ module FatZebra
17
17
  include FatZebra::APIOperation::Delete
18
18
 
19
19
  validates :description, required: true, on: :create
20
- validates :amount, required: true, type: :positive_numeric, on: :create
20
+ validates :amount, required: true, type: :positive_float, on: :create
21
21
  validates :bsb, required: true, on: :create
22
22
  validates :account_name, required: true, on: :create
23
23
  validates :account_number, required: true, on: :create
@@ -17,7 +17,7 @@ module FatZebra
17
17
  include FatZebra::APIOperation::Delete
18
18
 
19
19
  validates :description, required: true, on: :create
20
- validates :amount, required: true, type: :positive_numeric, on: :create
20
+ validates :amount, required: true, type: :positive_float, on: :create
21
21
  validates :bsb, required: true, on: :create
22
22
  validates :account_name, required: true, on: :create
23
23
  validates :account_number, required: true, on: :create
@@ -0,0 +1,49 @@
1
+ module FatZebra
2
+ ##
3
+ # == FatZebra \Paypal::Authorization
4
+ #
5
+ # Manage PayPal Authorizations
6
+ #
7
+ # * search
8
+ # * find
9
+ # * capture
10
+ # * void
11
+ #
12
+ module Paypal
13
+ class Authorization < APIResource
14
+ include FatZebra::APIOperation::Find
15
+ include FatZebra::APIOperation::Search
16
+
17
+ class << self
18
+ def base_path
19
+ super + '/paypal/'
20
+ end
21
+
22
+ ##
23
+ # Capture a PayPal Authorization
24
+ #
25
+ # @param [String] Authorization id
26
+ # @param [Hash] params (amount, final_capture, note_to_payer)
27
+ # @param [Hash] options for the request, and configurations (Optional)
28
+ #
29
+ # @return [FatZebra::Paypal::Capture]
30
+ def capture(id, params = {}, options = {})
31
+ response = request(:post, resource_path("authorizations/#{id}/capture"), params, options)
32
+ FatZebra::Paypal::Capture.initialize_from(response)
33
+ end
34
+
35
+ ##
36
+ # Void a PayPal Authorization
37
+ #
38
+ # @param [String] Authorization id
39
+ # @param [Hash] options for the request, and configurations (Optional)
40
+ #
41
+ # @return [FatZebra::Authorization]
42
+ def void(id, options = {})
43
+ response = request(:post, resource_path("authorizations/#{id}/void"), {}, options)
44
+ initialize_from(response)
45
+ end
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,56 @@
1
+ module FatZebra
2
+ ##
3
+ # == FatZebra \Paypal::BillingAgreement
4
+ #
5
+ # Manage PayPal Billing Agreements
6
+ #
7
+ # * search
8
+ # * find
9
+ # * charge
10
+ # * cancel
11
+ #
12
+ module Paypal
13
+ class BillingAgreement < APIResource
14
+ include FatZebra::APIOperation::Find
15
+ include FatZebra::APIOperation::Search
16
+
17
+ validates :purchases, required: true, on: :charge
18
+ validates :amount, required: true, on: :charge
19
+ validates :currency, required: true, on: :charge
20
+ validates :reference, required: true, on: :charge
21
+
22
+ class << self
23
+ def base_path
24
+ super + '/paypal/'
25
+ end
26
+
27
+ ##
28
+ # Charge a PayPal Billing Agreement
29
+ #
30
+ # @param [String] Billing Agreement id
31
+ # @param [Hash] params (currency, reference, amount, purchases)
32
+ # @param [Hash] options for the request, and configurations (Optional)
33
+ #
34
+ # @return [FatZebra::Paypal::Order]
35
+ def charge(id, params, options = {})
36
+ valid!(params, :charge) if respond_to?(:valid!)
37
+
38
+ response = request(:post, resource_path("billing_agreements/#{id}/charge"), params, options)
39
+ FatZebra::Paypal::Order.initialize_from(response)
40
+ end
41
+
42
+ ##
43
+ # Cancel a PayPal Billing Agreement
44
+ #
45
+ # @param [String] Billing Agreement id
46
+ # @param [Hash] options for the request, and configurations (Optional)
47
+ #
48
+ # @return [FatZebra::BillingAgreement]
49
+ def cancel(id, options = {})
50
+ response = request(:post, resource_path("billing_agreements/#{id}/cancel"), {}, options)
51
+ initialize_from(response)
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,36 @@
1
+ module FatZebra
2
+ ##
3
+ # == FatZebra \Paypal::Capture
4
+ #
5
+ # Manage PayPal Captures
6
+ #
7
+ # * search
8
+ # * find
9
+ # * refund
10
+ #
11
+ module Paypal
12
+ class Capture < APIResource
13
+ include FatZebra::APIOperation::Find
14
+ include FatZebra::APIOperation::Search
15
+
16
+ class << self
17
+ def base_path
18
+ super + '/paypal/'
19
+ end
20
+
21
+ ##
22
+ # Refund a PayPal Capture
23
+ #
24
+ # @param [String] Capture id
25
+ # @param [Hash] params (amount, note_to_payer)
26
+ # @param [Hash] options for the request, and configurations (Optional)
27
+ #
28
+ # @return [FatZebra::Paypal::Refund]
29
+ def refund(id, params = {}, options = {})
30
+ response = request(:post, resource_path("captures/#{id}/refund"), params, options)
31
+ FatZebra::Paypal::Refund.initialize_from(response)
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -0,0 +1,22 @@
1
+ module FatZebra
2
+ ##
3
+ # == FatZebra \Paypal::Order
4
+ #
5
+ # Manage PayPal Orders
6
+ #
7
+ # * search
8
+ # * find
9
+ #
10
+ module Paypal
11
+ class Order < APIResource
12
+ include FatZebra::APIOperation::Find
13
+ include FatZebra::APIOperation::Search
14
+
15
+ class << self
16
+ def base_path
17
+ super + '/paypal/'
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,22 @@
1
+ module FatZebra
2
+ ##
3
+ # == FatZebra \Paypal::Refund
4
+ #
5
+ # Manage PayPal Refunds
6
+ #
7
+ # * search
8
+ # * find
9
+ #
10
+ module Paypal
11
+ class Refund < APIResource
12
+ include FatZebra::APIOperation::Find
13
+ include FatZebra::APIOperation::Search
14
+
15
+ class << self
16
+ def base_path
17
+ super + '/paypal/'
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end