hypercharge-schema 1.24.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (230) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +7 -0
  3. data/.travis.yml +6 -0
  4. data/CHANGELOG.md +3 -0
  5. data/Gemfile +7 -0
  6. data/Gemfile.lock +33 -0
  7. data/LICENSE.txt +22 -0
  8. data/README.md +73 -0
  9. data/Rakefile +14 -0
  10. data/composer.json +17 -0
  11. data/hypercharge-schema.gemspec +27 -0
  12. data/json/MobilePayment.json +73 -0
  13. data/json/WpfPayment.json +99 -0
  14. data/json/authorize.json +77 -0
  15. data/json/authorize3d.json +173 -0
  16. data/json/capture.json +42 -0
  17. data/json/debit_sale.json +73 -0
  18. data/json/direct_pay24_sale.json +85 -0
  19. data/json/giro_pay_sale.json +85 -0
  20. data/json/ideal_sale.json +87 -0
  21. data/json/init_recurring_authorize.json +81 -0
  22. data/json/init_recurring_debit_authorize.json +77 -0
  23. data/json/init_recurring_debit_sale.json +77 -0
  24. data/json/init_recurring_sale.json +81 -0
  25. data/json/pay_in_advance.json +61 -0
  26. data/json/pay_pal.json +65 -0
  27. data/json/pay_safe_card_sale.json +69 -0
  28. data/json/payment_on_delivery.json +57 -0
  29. data/json/purchase_on_account.json +61 -0
  30. data/json/reconcile.json +20 -0
  31. data/json/recurring_debit_sale.json +45 -0
  32. data/json/recurring_sale.json +45 -0
  33. data/json/referenced_fund_transfer.json +46 -0
  34. data/json/refund.json +42 -0
  35. data/json/sale.json +77 -0
  36. data/json/sale3d.json +173 -0
  37. data/json/scheduler_create.json +46 -0
  38. data/json/scheduler_index.json +34 -0
  39. data/json/scheduler_update.json +35 -0
  40. data/json/types.json +385 -0
  41. data/json/void.json +33 -0
  42. data/lib/php/JsonSchemaFixture.php +12 -0
  43. data/lib/php/JsonSchemaValidator.php +47 -0
  44. data/lib/ruby/hypercharge/schema.rb +31 -0
  45. data/lib/ruby/hypercharge/schema/fixture.rb +30 -0
  46. data/lib/ruby/hypercharge/schema/version.rb +7 -0
  47. data/package.json +27 -0
  48. data/test/fixtures/notifications/PaymentNotification_echo.xml +4 -0
  49. data/test/fixtures/notifications/TransactionNotification_echo.xml +4 -0
  50. data/test/fixtures/notifications/recurring_event.json +13 -0
  51. data/test/fixtures/notifications/scheduler.json +7 -0
  52. data/test/fixtures/requests/MobilePayment.json +35 -0
  53. data/test/fixtures/requests/MobilePayment.xml +34 -0
  54. data/test/fixtures/requests/WpfPayment.json +40 -0
  55. data/test/fixtures/requests/WpfPayment.xml +39 -0
  56. data/test/fixtures/requests/WpfPayment_cancel.xml +4 -0
  57. data/test/fixtures/requests/WpfPayment_capture.xml +4 -0
  58. data/test/fixtures/requests/WpfPayment_refund.xml +4 -0
  59. data/test/fixtures/requests/WpfPayment_void.xml +4 -0
  60. data/test/fixtures/requests/authorize.json +29 -0
  61. data/test/fixtures/requests/authorize.xml +28 -0
  62. data/test/fixtures/requests/authorize3d_async.json +32 -0
  63. data/test/fixtures/requests/authorize3d_async.xml +31 -0
  64. data/test/fixtures/requests/authorize3d_sync.json +34 -0
  65. data/test/fixtures/requests/authorize3d_sync.xml +33 -0
  66. data/test/fixtures/requests/capture.json +10 -0
  67. data/test/fixtures/requests/capture.xml +9 -0
  68. data/test/fixtures/requests/debit_sale.json +28 -0
  69. data/test/fixtures/requests/debit_sale.xml +27 -0
  70. data/test/fixtures/requests/direct_pay24_sale.json +31 -0
  71. data/test/fixtures/requests/direct_pay24_sale.xml +30 -0
  72. data/test/fixtures/requests/giro_pay_sale.json +31 -0
  73. data/test/fixtures/requests/giro_pay_sale.xml +30 -0
  74. data/test/fixtures/requests/ideal_sale.json +31 -0
  75. data/test/fixtures/requests/ideal_sale.xml +30 -0
  76. data/test/fixtures/requests/init_recurring_authorize.json +34 -0
  77. data/test/fixtures/requests/init_recurring_authorize.xml +33 -0
  78. data/test/fixtures/requests/init_recurring_debit_authorize.json +33 -0
  79. data/test/fixtures/requests/init_recurring_debit_authorize.xml +32 -0
  80. data/test/fixtures/requests/init_recurring_debit_sale.json +34 -0
  81. data/test/fixtures/requests/init_recurring_debit_sale.xml +32 -0
  82. data/test/fixtures/requests/init_recurring_sale.json +34 -0
  83. data/test/fixtures/requests/init_recurring_sale.xml +33 -0
  84. data/test/fixtures/requests/init_recurring_sale_with_recurring_schedule.json +34 -0
  85. data/test/fixtures/requests/pay_in_advance.json +24 -0
  86. data/test/fixtures/requests/pay_in_advance.xml +23 -0
  87. data/test/fixtures/requests/pay_pal.json +23 -0
  88. data/test/fixtures/requests/pay_pal.xml +22 -0
  89. data/test/fixtures/requests/pay_safe_card_sale.json +23 -0
  90. data/test/fixtures/requests/pay_safe_card_sale.xml +23 -0
  91. data/test/fixtures/requests/payment_on_delivery.json +24 -0
  92. data/test/fixtures/requests/payment_on_delivery.xml +23 -0
  93. data/test/fixtures/requests/purchase_on_account.json +26 -0
  94. data/test/fixtures/requests/purchase_on_account.xml +23 -0
  95. data/test/fixtures/requests/reconcile.json +5 -0
  96. data/test/fixtures/requests/reconcile.xml +4 -0
  97. data/test/fixtures/requests/reconcile_by_date.json +7 -0
  98. data/test/fixtures/requests/reconcile_by_date.xml +6 -0
  99. data/test/fixtures/requests/recurring_debit_sale.json +11 -0
  100. data/test/fixtures/requests/recurring_debit_sale.xml +10 -0
  101. data/test/fixtures/requests/recurring_event.xml +4 -0
  102. data/test/fixtures/requests/recurring_sale.json +11 -0
  103. data/test/fixtures/requests/recurring_sale.xml +10 -0
  104. data/test/fixtures/requests/referenced_fund_transfer.json +11 -0
  105. data/test/fixtures/requests/referenced_fund_transfer.xml +10 -0
  106. data/test/fixtures/requests/refund.json +10 -0
  107. data/test/fixtures/requests/refund.xml +9 -0
  108. data/test/fixtures/requests/risk_params.json +10 -0
  109. data/test/fixtures/requests/risk_params.xml +9 -0
  110. data/test/fixtures/requests/sale.json +29 -0
  111. data/test/fixtures/requests/sale.xml +28 -0
  112. data/test/fixtures/requests/sale3d_async.json +32 -0
  113. data/test/fixtures/requests/sale3d_async.xml +31 -0
  114. data/test/fixtures/requests/sale3d_sync.json +34 -0
  115. data/test/fixtures/requests/sale3d_sync.xml +33 -0
  116. data/test/fixtures/requests/scheduler_create.json +9 -0
  117. data/test/fixtures/requests/scheduler_index_get_params.json +9 -0
  118. data/test/fixtures/requests/scheduler_update.json +8 -0
  119. data/test/fixtures/requests/void.json +8 -0
  120. data/test/fixtures/requests/void.xml +7 -0
  121. data/test/fixtures/responses/MobilePayment_new.json +20 -0
  122. data/test/fixtures/responses/MobilePayment_new.xml +19 -0
  123. data/test/fixtures/responses/PaymentNotification_echo.xml +4 -0
  124. data/test/fixtures/responses/PaymentTransactionNotification_echo.xml +4 -0
  125. data/test/fixtures/responses/WpfPayment_cancel.xml +13 -0
  126. data/test/fixtures/responses/WpfPayment_captured.xml +39 -0
  127. data/test/fixtures/responses/WpfPayment_error.json +8 -0
  128. data/test/fixtures/responses/WpfPayment_error.xml +7 -0
  129. data/test/fixtures/responses/WpfPayment_find.xml +39 -0
  130. data/test/fixtures/responses/WpfPayment_new.json +16 -0
  131. data/test/fixtures/responses/WpfPayment_new.xml +17 -0
  132. data/test/fixtures/responses/WpfPayment_refunded.xml +39 -0
  133. data/test/fixtures/responses/WpfPayment_voided.xml +39 -0
  134. data/test/fixtures/responses/authorize3d_pending_async.xml +15 -0
  135. data/test/fixtures/responses/authorize3d_sync.xml +14 -0
  136. data/test/fixtures/responses/authorize_approved.xml +14 -0
  137. data/test/fixtures/responses/authorize_error.json +16 -0
  138. data/test/fixtures/responses/authorize_error.xml +15 -0
  139. data/test/fixtures/responses/capture.xml +14 -0
  140. data/test/fixtures/responses/create_chargeback.xml +12 -0
  141. data/test/fixtures/responses/create_chargeback_reversal.xml +12 -0
  142. data/test/fixtures/responses/create_charged_debit_sale.xml +12 -0
  143. data/test/fixtures/responses/create_debit_chargeback.xml +12 -0
  144. data/test/fixtures/responses/create_deposit.xml +12 -0
  145. data/test/fixtures/responses/create_pre_arbitration.xml +12 -0
  146. data/test/fixtures/responses/create_rejected_debit_sale.xml +12 -0
  147. data/test/fixtures/responses/create_retrieval_request.xml +12 -0
  148. data/test/fixtures/responses/debit_sale.xml +12 -0
  149. data/test/fixtures/responses/direct_pay24_sale.xml +15 -0
  150. data/test/fixtures/responses/giro_pay_sale.xml +15 -0
  151. data/test/fixtures/responses/ideal_sale.xml +17 -0
  152. data/test/fixtures/responses/init_recurring_authorize.xml +14 -0
  153. data/test/fixtures/responses/init_recurring_debit_authorize.xml +17 -0
  154. data/test/fixtures/responses/init_recurring_debit_sale.xml +17 -0
  155. data/test/fixtures/responses/init_recurring_sale.xml +14 -0
  156. data/test/fixtures/responses/pay_in_advance.xml +17 -0
  157. data/test/fixtures/responses/pay_pal.xml +15 -0
  158. data/test/fixtures/responses/pay_safe_card_sale.xml +15 -0
  159. data/test/fixtures/responses/payment_on_delivery.xml +14 -0
  160. data/test/fixtures/responses/purchase_on_account.xml +18 -0
  161. data/test/fixtures/responses/reconcile_by_date_empty_result.xml +3 -0
  162. data/test/fixtures/responses/reconcile_by_date_page_1.xml +1293 -0
  163. data/test/fixtures/responses/reconcile_by_date_page_2.xml +1346 -0
  164. data/test/fixtures/responses/reconcile_by_date_page_3.xml +1394 -0
  165. data/test/fixtures/responses/reconcile_by_date_single_result.xml +16 -0
  166. data/test/fixtures/responses/recurring_debit_sale.xml +16 -0
  167. data/test/fixtures/responses/recurring_event.json +22 -0
  168. data/test/fixtures/responses/recurring_event.xml +21 -0
  169. data/test/fixtures/responses/recurring_sale.xml +14 -0
  170. data/test/fixtures/responses/referenced_fund_transfer.xml +14 -0
  171. data/test/fixtures/responses/refund.xml +14 -0
  172. data/test/fixtures/responses/sale.xml +12 -0
  173. data/test/fixtures/responses/sale3d_async.xml +15 -0
  174. data/test/fixtures/responses/sale3d_sync.xml +14 -0
  175. data/test/fixtures/responses/scheduled_transactions_empty.json +8 -0
  176. data/test/fixtures/responses/scheduled_transactions_one.json +22 -0
  177. data/test/fixtures/responses/scheduler.json +12 -0
  178. data/test/fixtures/responses/scheduler_empty_result.json +8 -0
  179. data/test/fixtures/responses/scheduler_error.json +7 -0
  180. data/test/fixtures/responses/scheduler_next.json +4 -0
  181. data/test/fixtures/responses/scheduler_page_1.json +93 -0
  182. data/test/fixtures/responses/scheduler_page_2.json +45 -0
  183. data/test/fixtures/responses/scheduler_single_result.json +21 -0
  184. data/test/fixtures/responses/void.xml +12 -0
  185. data/test/js/mobile_payment_test.js +287 -0
  186. data/test/php/all.php +9 -0
  187. data/test/php/authorize3d_test.php +546 -0
  188. data/test/php/authorize_test.php +546 -0
  189. data/test/php/capture_test.php +241 -0
  190. data/test/php/json_schema_validator_test.php +24 -0
  191. data/test/php/mobile_payment_test.php +238 -0
  192. data/test/php/reconcile_test.php +21 -0
  193. data/test/php/referenced_fund_transfer_test.php +183 -0
  194. data/test/php/refund_test.php +237 -0
  195. data/test/php/sale_test.php +546 -0
  196. data/test/php/test_helper.php +29 -0
  197. data/test/php/void_test.php +163 -0
  198. data/test/php/wpf_payment_test.php +19 -0
  199. data/test/ruby/authorize3d_async_spec.rb +29 -0
  200. data/test/ruby/authorize3d_sync_spec.rb +27 -0
  201. data/test/ruby/authorize_spec.rb +25 -0
  202. data/test/ruby/capture_spec.rb +16 -0
  203. data/test/ruby/debit_sale_spec.rb +26 -0
  204. data/test/ruby/direct_pay24_sale_spec.rb +30 -0
  205. data/test/ruby/giro_pay_sale_spec.rb +30 -0
  206. data/test/ruby/ideal_sale_spec.rb +29 -0
  207. data/test/ruby/init_recurring_authorize_spec.rb +26 -0
  208. data/test/ruby/init_recurring_debit_authorize_spec.rb +27 -0
  209. data/test/ruby/init_recurring_debit_sale_spec.rb +27 -0
  210. data/test/ruby/init_recurring_sale_spec.rb +26 -0
  211. data/test/ruby/mobile_payment_spec.rb +22 -0
  212. data/test/ruby/pay_in_advance_spec.rb +23 -0
  213. data/test/ruby/pay_pal_spec.rb +25 -0
  214. data/test/ruby/pay_safe_card_sale_spec.rb +24 -0
  215. data/test/ruby/payment_on_delivery_spec.rb +21 -0
  216. data/test/ruby/purchase_on_account_spec.rb +23 -0
  217. data/test/ruby/reconcile_spec.rb +11 -0
  218. data/test/ruby/recurring_debit_sale_spec.rb +17 -0
  219. data/test/ruby/recurring_sale_spec.rb +17 -0
  220. data/test/ruby/referenced_fund_transfer_spec.rb +17 -0
  221. data/test/ruby/refund_spec.rb +16 -0
  222. data/test/ruby/sale3d_async_spec.rb +29 -0
  223. data/test/ruby/sale3d_sync_spec.rb +27 -0
  224. data/test/ruby/sale_spec.rb +25 -0
  225. data/test/ruby/scheduler_spec.rb +43 -0
  226. data/test/ruby/test_helper.rb +74 -0
  227. data/test/ruby/types_specs.rb +1494 -0
  228. data/test/ruby/void_spec.rb +14 -0
  229. data/test/ruby/wpf_payment_spec.rb +27 -0
  230. metadata +527 -0
@@ -0,0 +1,27 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'InitRecurringDebitAuhtorize JSON Schema' do
5
+ let(:schema_path){ schema_path_for('init_recurring_debit_authorize') }
6
+ subject{ fixture('init_recurring_debit_authorize') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'transaction_type', value: 'init_recurring_debit_authorize'
11
+ spec_attribute 'transaction_id'
12
+ spec_attribute 'usage'
13
+ spec_attribute 'remote_ip', required: true
14
+ spec_attribute 'amount'
15
+ spec_attribute 'currency'
16
+
17
+ spec_attribute 'wire_reference_id'
18
+ spec_attribute 'bank_account_holder'
19
+ spec_attribute 'bank_account_number'
20
+ spec_attribute 'bank_number'
21
+
22
+ spec_attribute 'customer_email', required: true
23
+ spec_attribute 'customer_phone'
24
+ spec_attribute 'billing_address', required: true
25
+ spec_attribute 'risk_params'
26
+ spec_attribute 'recurring_schedule'
27
+ end
@@ -0,0 +1,27 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'InitRecurringDebitSale JSON Schema' do
5
+ let(:schema_path){ schema_path_for('init_recurring_debit_sale') }
6
+ subject{ fixture('init_recurring_debit_sale') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'transaction_type', value: 'init_recurring_debit_sale'
11
+ spec_attribute 'transaction_id'
12
+ spec_attribute 'usage'
13
+ spec_attribute 'remote_ip', required: true
14
+ spec_attribute 'amount'
15
+ spec_attribute 'currency'
16
+
17
+ spec_attribute 'wire_reference_id'
18
+ spec_attribute 'bank_account_holder'
19
+ spec_attribute 'bank_account_number'
20
+ spec_attribute 'bank_number'
21
+
22
+ spec_attribute 'customer_email', required: true
23
+ spec_attribute 'customer_phone'
24
+ spec_attribute 'billing_address', required: true
25
+ spec_attribute 'risk_params'
26
+ spec_attribute 'recurring_schedule'
27
+ end
@@ -0,0 +1,26 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'InitRecurringSale JSON Schema' do
5
+ let(:schema_path){ schema_path_for('init_recurring_sale') }
6
+ subject{ fixture('init_recurring_sale') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'transaction_type', value: 'init_recurring_sale'
11
+ spec_attribute 'transaction_id'
12
+ spec_attribute 'usage'
13
+ spec_attribute 'remote_ip', required: true
14
+ spec_attribute 'amount'
15
+ spec_attribute 'currency'
16
+ spec_attribute 'card_holder'
17
+ spec_attribute 'card_number'
18
+ spec_attribute 'cvv'
19
+ spec_attribute 'expiration_month'
20
+ spec_attribute 'expiration_year'
21
+ spec_attribute 'customer_email', required: true
22
+ spec_attribute 'customer_phone'
23
+ spec_attribute 'billing_address', required: true
24
+ spec_attribute 'risk_params'
25
+ spec_attribute 'recurring_schedule'
26
+ end
@@ -0,0 +1,22 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'MobilePayment JSON Schema' do
5
+ let(:schema_path){ schema_path_for('MobilePayment') }
6
+ subject{ fixture('MobilePayment') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'type', value: 'MobilePayment'
11
+ spec_attribute 'amount'
12
+ spec_attribute 'currency'
13
+ spec_attribute 'transaction_id'
14
+ spec_attribute 'usage', required: true
15
+ spec_attribute 'customer_email', required: false
16
+ spec_attribute 'customer_phone'
17
+ spec_attribute 'notification_url', spec: 'url'
18
+ spec_attribute 'billing_address', required: false
19
+ spec_attribute 'retries'
20
+ spec_attribute 'risk_params'
21
+ spec_attribute 'recurring_schedule'
22
+ end
@@ -0,0 +1,23 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'PayInAdvance JSON Schema' do
5
+ let(:schema_path){ schema_path_for('pay_in_advance') }
6
+ subject{ fixture('pay_in_advance') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'transaction_type', value: 'pay_in_advance'
11
+ spec_attribute 'transaction_id'
12
+ spec_attribute 'usage'
13
+ spec_attribute 'remote_ip', required: true
14
+ spec_attribute 'amount'
15
+ spec_attribute 'currency'
16
+
17
+ spec_attribute 'wire_reference_id'
18
+
19
+ spec_attribute 'customer_email', required: true
20
+ spec_attribute 'customer_phone'
21
+ spec_attribute 'billing_address', required: true
22
+ spec_attribute 'risk_params'
23
+ end
@@ -0,0 +1,25 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'PayPal JSON Schema' do
5
+ let(:schema_path){ schema_path_for('pay_pal') }
6
+ subject{ fixture('pay_pal') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'transaction_type', value: 'pay_pal'
11
+ spec_attribute 'transaction_id'
12
+ spec_attribute 'usage'
13
+ spec_attribute 'remote_ip', required: true
14
+ spec_attribute 'amount'
15
+ spec_attribute 'currency'
16
+
17
+ spec_attribute 'customer_email', required: true
18
+ spec_attribute 'customer_phone'
19
+ spec_attribute 'billing_address', required: true
20
+ # spec_attribute 'risk_params'
21
+
22
+ spec_attribute 'notification_url', spec: 'url'
23
+ spec_attribute 'return_success_url', spec: 'url'
24
+ spec_attribute 'return_failure_url', spec: 'url'
25
+ end
@@ -0,0 +1,24 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'PaySafeCardSale JSON Schema' do
5
+ let(:schema_path){ schema_path_for('pay_safe_card_sale') }
6
+ subject{ fixture('pay_safe_card_sale') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'transaction_type', value: 'pay_safe_card_sale'
11
+ spec_attribute 'transaction_id', required: true
12
+ spec_attribute 'usage'
13
+ spec_attribute 'remote_ip', required: true
14
+ spec_attribute 'amount', required: true
15
+ spec_attribute 'currency', required: true
16
+
17
+ spec_attribute 'customer_email', required: true
18
+ spec_attribute 'customer_phone'
19
+ spec_attribute 'billing_address', required: true
20
+
21
+ spec_attribute 'notification_url', spec: 'url'
22
+ spec_attribute 'return_success_url', spec: 'url'
23
+ spec_attribute 'return_failure_url', spec: 'url'
24
+ end
@@ -0,0 +1,21 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'PaymentOnDelivery JSON Schema' do
5
+ let(:schema_path){ schema_path_for('payment_on_delivery') }
6
+ subject{ fixture('payment_on_delivery') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'transaction_type', value: 'payment_on_delivery'
11
+ spec_attribute 'transaction_id'
12
+ spec_attribute 'usage'
13
+ spec_attribute 'remote_ip', required: true
14
+ spec_attribute 'amount'
15
+ spec_attribute 'currency'
16
+
17
+ spec_attribute 'customer_email', required: true
18
+ spec_attribute 'customer_phone'
19
+ spec_attribute 'billing_address', required: true
20
+ spec_attribute 'risk_params'
21
+ end
@@ -0,0 +1,23 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'PurchaseOnAccount JSON Schema' do
5
+ let(:schema_path){ schema_path_for('purchase_on_account') }
6
+ subject{ fixture('purchase_on_account') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'transaction_type', value: 'purchase_on_account'
11
+ spec_attribute 'transaction_id'
12
+ spec_attribute 'usage'
13
+ spec_attribute 'remote_ip', required: true
14
+ spec_attribute 'amount'
15
+ spec_attribute 'currency'
16
+
17
+ spec_attribute 'wire_reference_id'
18
+
19
+ spec_attribute 'customer_email', required: true
20
+ spec_attribute 'customer_phone'
21
+ spec_attribute 'billing_address', required: true
22
+ spec_attribute 'risk_params'
23
+ end
@@ -0,0 +1,11 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'Reconcile JSON Schema' do
5
+ let(:schema_path){ schema_path_for('reconcile') }
6
+ subject{ fixture('reconcile') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'unique_id'
11
+ end
@@ -0,0 +1,17 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'RecurringDebitSale JSON Schema' do
5
+ let(:schema_path){ schema_path_for('recurring_debit_sale') }
6
+ subject{ fixture('recurring_debit_sale') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'transaction_type', value: 'recurring_debit_sale'
11
+ spec_attribute 'reference_id', spec: 'unique_id'
12
+ spec_attribute 'transaction_id'
13
+ spec_attribute 'usage'
14
+ spec_attribute 'remote_ip', required: true
15
+ spec_attribute 'amount'
16
+ spec_attribute 'currency'
17
+ end
@@ -0,0 +1,17 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'RecurringSale JSON Schema' do
5
+ let(:schema_path){ schema_path_for('recurring_sale') }
6
+ subject{ fixture('recurring_sale') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'transaction_type', value: 'recurring_sale'
11
+ spec_attribute 'reference_id', spec: 'unique_id'
12
+ spec_attribute 'transaction_id'
13
+ spec_attribute 'usage'
14
+ spec_attribute 'remote_ip', required: true
15
+ spec_attribute 'amount'
16
+ spec_attribute 'currency'
17
+ end
@@ -0,0 +1,17 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'ReferencedFundTransfer JSON Schema' do
5
+ let(:schema_path){ schema_path_for('referenced_fund_transfer') }
6
+ subject{ fixture('referenced_fund_transfer') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'transaction_type', value: 'referenced_fund_transfer'
11
+ spec_attribute 'reference_id', spec: 'unique_id'
12
+ spec_attribute 'transaction_id'
13
+ spec_attribute 'usage'
14
+ spec_attribute 'remote_ip', required: true
15
+ spec_attribute 'amount'
16
+ spec_attribute 'currency'
17
+ end
@@ -0,0 +1,16 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'Refund JSON Schema' do
5
+ let(:schema_path){ schema_path_for('refund') }
6
+ subject{ fixture('refund') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'transaction_type', value: 'refund'
11
+ spec_attribute 'reference_id', spec: 'unique_id'
12
+ spec_attribute 'transaction_id'
13
+ spec_attribute 'usage'
14
+ spec_attribute 'amount'
15
+ spec_attribute 'currency'
16
+ end
@@ -0,0 +1,29 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'Sale3d Async JSON Schema' do
5
+ let(:schema_path){ schema_path_for('sale3d') }
6
+ subject{ fixture('sale3d_async') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'transaction_type', value: 'sale3d'
11
+ spec_attribute 'transaction_id'
12
+ spec_attribute 'usage'
13
+ spec_attribute 'remote_ip', required: true
14
+ spec_attribute 'amount'
15
+ spec_attribute 'currency'
16
+ spec_attribute 'card_holder'
17
+ spec_attribute 'card_number'
18
+ spec_attribute 'cvv'
19
+ spec_attribute 'expiration_month'
20
+ spec_attribute 'expiration_year'
21
+ spec_attribute 'customer_email', required: true
22
+ spec_attribute 'customer_phone'
23
+ spec_attribute 'billing_address', required: true
24
+ spec_attribute 'risk_params'
25
+
26
+ spec_attribute 'notification_url', spec: 'url'
27
+ spec_attribute 'return_success_url', spec: 'url'
28
+ spec_attribute 'return_failure_url', spec: 'url'
29
+ end
@@ -0,0 +1,27 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'Sale3d Sync JSON Schema' do
5
+ let(:schema_path){ schema_path_for('sale3d') }
6
+ subject{ fixture('sale3d_sync') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'transaction_type', value: 'sale3d'
11
+ spec_attribute 'transaction_id'
12
+ spec_attribute 'usage'
13
+ spec_attribute 'remote_ip', required: true
14
+ spec_attribute 'amount'
15
+ spec_attribute 'currency'
16
+ spec_attribute 'card_holder'
17
+ spec_attribute 'card_number'
18
+ spec_attribute 'cvv'
19
+ spec_attribute 'expiration_month'
20
+ spec_attribute 'expiration_year'
21
+ spec_attribute 'customer_email', required: true
22
+ spec_attribute 'customer_phone'
23
+ spec_attribute 'billing_address', required: true
24
+ spec_attribute 'risk_params'
25
+
26
+ spec_attribute 'mpi_params'
27
+ end
@@ -0,0 +1,25 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'Sale JSON Schema' do
5
+ let(:schema_path){ schema_path_for('sale') }
6
+ subject{ fixture('sale') }
7
+ let(:root_key){ subject.keys.first }
8
+
9
+ root_wont_allow_additional_properties
10
+ spec_attribute 'transaction_type', value: 'sale'
11
+ spec_attribute 'transaction_id'
12
+ spec_attribute 'usage'
13
+ spec_attribute 'remote_ip', required: true
14
+ spec_attribute 'amount'
15
+ spec_attribute 'currency'
16
+ spec_attribute 'card_holder'
17
+ spec_attribute 'card_number'
18
+ spec_attribute 'cvv'
19
+ spec_attribute 'expiration_month'
20
+ spec_attribute 'expiration_year'
21
+ spec_attribute 'customer_email', required: true
22
+ spec_attribute 'customer_phone'
23
+ spec_attribute 'billing_address', required: true
24
+ spec_attribute 'risk_params'
25
+ end
@@ -0,0 +1,43 @@
1
+ require 'test_helper'
2
+
3
+
4
+ describe 'Scheduler.create JSON Schema' do
5
+ let(:schema_path){ schema_path_for('scheduler_create') }
6
+ subject{ fixture('scheduler_create') }
7
+
8
+ wont_allow_additional_properties
9
+ spec_attribute 'payment_transaction_unique_id', spec: 'v2_unique_id', required: true
10
+ spec_attribute 'amount' , spec: 'v2_amount' , required: true
11
+ spec_attribute 'start_date', spec: 'date' , required: true
12
+ spec_attribute 'end_date' , spec: 'date'
13
+ spec_attribute 'interval' , spec: 'recurring_interval' , required: true
14
+ spec_attribute 'expiring_notification_time'
15
+ spec_attribute 'active' , spec: 'boolean'
16
+ end
17
+
18
+ describe 'Scheduler.update JSON Schema' do
19
+ let(:schema_path){ schema_path_for('scheduler_update') }
20
+ subject{ fixture('scheduler_update') }
21
+
22
+ wont_allow_additional_properties
23
+ spec_attribute 'amount' , spec: 'v2_amount'
24
+ spec_attribute 'start_date', spec: 'date'
25
+ spec_attribute 'end_date' , spec: 'date'
26
+ spec_attribute 'interval' , spec: 'recurring_interval'
27
+ spec_attribute 'expiring_notification_time'
28
+ spec_attribute 'active' , spec: 'boolean'
29
+ end
30
+
31
+ describe 'Scheduler.index get params' do
32
+ let(:schema_path){ schema_path_for('scheduler_index') }
33
+ subject{ fixture('scheduler_index_get_params') }
34
+
35
+ wont_allow_additional_properties
36
+ spec_attribute 'page'
37
+ spec_attribute 'per_page'
38
+ spec_attribute 'start_date_from', spec: 'date'
39
+ spec_attribute 'start_date_to' , spec: 'date'
40
+ spec_attribute 'end_date_from' , spec: 'date'
41
+ spec_attribute 'end_date_to' , spec: 'date'
42
+ spec_attribute 'active' , spec: 'boolean'
43
+ end