hamza-payments-query-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 (262) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +28 -0
  3. data/README.md +136 -0
  4. data/lib/payments/api_helper.rb +10 -0
  5. data/lib/payments/client.rb +78 -0
  6. data/lib/payments/configuration.rb +145 -0
  7. data/lib/payments/controllers/base_controller.rb +60 -0
  8. data/lib/payments/controllers/m3_ds_actions_controller.rb +97 -0
  9. data/lib/payments/controllers/manage_payments_controller.rb +272 -0
  10. data/lib/payments/controllers/payment_controller.rb +51 -0
  11. data/lib/payments/controllers/payment_queries_controller.rb +134 -0
  12. data/lib/payments/exceptions/api_exception.rb +21 -0
  13. data/lib/payments/exceptions/error_response_exception.rb +51 -0
  14. data/lib/payments/exceptions/header_error_response_exception.rb +58 -0
  15. data/lib/payments/exceptions/pq_querybydaterange400_response_exception.rb +51 -0
  16. data/lib/payments/exceptions/pq_querybypaymentid404_response_error_exception.rb +51 -0
  17. data/lib/payments/exceptions/pq_queryhistoricalpayments400_response_exception.rb +51 -0
  18. data/lib/payments/exceptions/validation_error_response_exception.rb +58 -0
  19. data/lib/payments/http/auth/basic_auth.rb +50 -0
  20. data/lib/payments/http/http_call_back.rb +10 -0
  21. data/lib/payments/http/http_method_enum.rb +10 -0
  22. data/lib/payments/http/http_request.rb +10 -0
  23. data/lib/payments/http/http_response.rb +10 -0
  24. data/lib/payments/http/proxy_settings.rb +13 -0
  25. data/lib/payments/models/accept_enum.rb +21 -0
  26. data/lib/payments/models/account_history.rb +110 -0
  27. data/lib/payments/models/account_updater_message1_enum.rb +44 -0
  28. data/lib/payments/models/account_updater_message_enum.rb +41 -0
  29. data/lib/payments/models/advice.rb +62 -0
  30. data/lib/payments/models/applepay_payments_instruction.rb +151 -0
  31. data/lib/payments/models/authentication.rb +161 -0
  32. data/lib/payments/models/authorization_action_list.rb +90 -0
  33. data/lib/payments/models/authorization_failed.rb +103 -0
  34. data/lib/payments/models/authorization_refused.rb +124 -0
  35. data/lib/payments/models/authorization_requested.rb +94 -0
  36. data/lib/payments/models/authorization_succeeded.rb +104 -0
  37. data/lib/payments/models/authorization_timed_out.rb +94 -0
  38. data/lib/payments/models/authorization_type1_enum.rb +23 -0
  39. data/lib/payments/models/authorization_type_enum.rb +23 -0
  40. data/lib/payments/models/avs_not_matched_enum.rb +25 -0
  41. data/lib/payments/models/base_model.rb +110 -0
  42. data/lib/payments/models/billing_address.rb +147 -0
  43. data/lib/payments/models/browser_color_depth_enum.rb +41 -0
  44. data/lib/payments/models/cancel_response.rb +71 -0
  45. data/lib/payments/models/cancellation.rb +88 -0
  46. data/lib/payments/models/cancellation_failed.rb +94 -0
  47. data/lib/payments/models/cancellation_request_submitted.rb +94 -0
  48. data/lib/payments/models/cancellation_requested.rb +94 -0
  49. data/lib/payments/models/cancellation_timed_out.rb +94 -0
  50. data/lib/payments/models/card.rb +159 -0
  51. data/lib/payments/models/card1.rb +106 -0
  52. data/lib/payments/models/card3.rb +72 -0
  53. data/lib/payments/models/card_authorized_payment_response.rb +195 -0
  54. data/lib/payments/models/card_payment_instrument.rb +76 -0
  55. data/lib/payments/models/card_payments_instruction.rb +164 -0
  56. data/lib/payments/models/category_enum.rb +23 -0
  57. data/lib/payments/models/challenge.rb +100 -0
  58. data/lib/payments/models/challenge_info.rb +91 -0
  59. data/lib/payments/models/challenge_response201.rb +75 -0
  60. data/lib/payments/models/challenge_response202.rb +62 -0
  61. data/lib/payments/models/challenged_action_list.rb +65 -0
  62. data/lib/payments/models/challenged_response.rb +96 -0
  63. data/lib/payments/models/channel1_enum.rb +27 -0
  64. data/lib/payments/models/channel_enum.rb +24 -0
  65. data/lib/payments/models/conflict_payment_instrument.rb +104 -0
  66. data/lib/payments/models/content_type_enum.rb +20 -0
  67. data/lib/payments/models/custom.rb +241 -0
  68. data/lib/payments/models/customer.rb +146 -0
  69. data/lib/payments/models/customer_agreement.rb +120 -0
  70. data/lib/payments/models/cvc_not_matched_enum.rb +24 -0
  71. data/lib/payments/models/detail_enum.rb +23 -0
  72. data/lib/payments/models/device_data.rb +200 -0
  73. data/lib/payments/models/device_data_collection.rb +79 -0
  74. data/lib/payments/models/device_data_request.rb +71 -0
  75. data/lib/payments/models/device_data_required_action_list.rb +66 -0
  76. data/lib/payments/models/device_data_required_response.rb +89 -0
  77. data/lib/payments/models/device_data_response201.rb +95 -0
  78. data/lib/payments/models/embedded.rb +71 -0
  79. data/lib/payments/models/embedded1.rb +71 -0
  80. data/lib/payments/models/error.rb +81 -0
  81. data/lib/payments/models/exemption.rb +106 -0
  82. data/lib/payments/models/expiry_date.rb +90 -0
  83. data/lib/payments/models/expiry_date1.rb +84 -0
  84. data/lib/payments/models/fraud.rb +73 -0
  85. data/lib/payments/models/fraud_high_risk_response.rb +88 -0
  86. data/lib/payments/models/funding_type_enum.rb +32 -0
  87. data/lib/payments/models/googlepay_payments_instruction.rb +151 -0
  88. data/lib/payments/models/identifier_type_enum.rb +26 -0
  89. data/lib/payments/models/installment_plan.rb +76 -0
  90. data/lib/payments/models/installment_type_enum.rb +26 -0
  91. data/lib/payments/models/issuer.rb +63 -0
  92. data/lib/payments/models/issuer1.rb +76 -0
  93. data/lib/payments/models/issuer_response_enum.rb +23 -0
  94. data/lib/payments/models/last_event_enum.rb +95 -0
  95. data/lib/payments/models/links.rb +123 -0
  96. data/lib/payments/models/links1.rb +70 -0
  97. data/lib/payments/models/links2.rb +60 -0
  98. data/lib/payments/models/links3.rb +97 -0
  99. data/lib/payments/models/merchant.rb +88 -0
  100. data/lib/payments/models/message_enum.rb +34 -0
  101. data/lib/payments/models/method_enum.rb +38 -0
  102. data/lib/payments/models/mnext.rb +62 -0
  103. data/lib/payments/models/mself.rb +62 -0
  104. data/lib/payments/models/name_enum.rb +51 -0
  105. data/lib/payments/models/narrative.rb +86 -0
  106. data/lib/payments/models/narrative1.rb +87 -0
  107. data/lib/payments/models/narrative2.rb +71 -0
  108. data/lib/payments/models/number.rb +85 -0
  109. data/lib/payments/models/number3.rb +62 -0
  110. data/lib/payments/models/outcome16_enum.rb +21 -0
  111. data/lib/payments/models/outcome17_enum.rb +21 -0
  112. data/lib/payments/models/outcome6_enum.rb +42 -0
  113. data/lib/payments/models/outcome7_enum.rb +26 -0
  114. data/lib/payments/models/outcome_enum.rb +50 -0
  115. data/lib/payments/models/partial_refund_action_list.rb +64 -0
  116. data/lib/payments/models/partial_refund_response.rb +81 -0
  117. data/lib/payments/models/partial_settle_action_list.rb +102 -0
  118. data/lib/payments/models/partial_settle_response.rb +81 -0
  119. data/lib/payments/models/payment.rb +192 -0
  120. data/lib/payments/models/payment1.rb +86 -0
  121. data/lib/payments/models/payment_instrument.rb +62 -0
  122. data/lib/payments/models/payment_instrument4.rb +81 -0
  123. data/lib/payments/models/payment_instrument6.rb +71 -0
  124. data/lib/payments/models/payment_instrument7.rb +171 -0
  125. data/lib/payments/models/payment_refused_response.rb +187 -0
  126. data/lib/payments/models/payment_request.rb +96 -0
  127. data/lib/payments/models/payments_action_cancel.rb +71 -0
  128. data/lib/payments/models/payments_action_complete3ds_challenge.rb +72 -0
  129. data/lib/payments/models/payments_action_partial_refund.rb +71 -0
  130. data/lib/payments/models/payments_action_partial_settle.rb +73 -0
  131. data/lib/payments/models/payments_action_refund.rb +71 -0
  132. data/lib/payments/models/payments_action_settle.rb +71 -0
  133. data/lib/payments/models/payments_action_supply3ds_device_data.rb +73 -0
  134. data/lib/payments/models/payments_bank_account.rb +119 -0
  135. data/lib/payments/models/payments_cancel.rb +72 -0
  136. data/lib/payments/models/payments_card_account.rb +69 -0
  137. data/lib/payments/models/payments_card_on_file_customer_agreement.rb +85 -0
  138. data/lib/payments/models/payments_card_plain_payment_instrument.rb +149 -0
  139. data/lib/payments/models/payments_customer_agreement.rb +79 -0
  140. data/lib/payments/models/payments_email_account.rb +69 -0
  141. data/lib/payments/models/payments_events.rb +72 -0
  142. data/lib/payments/models/payments_exemption.rb +102 -0
  143. data/lib/payments/models/payments_fraud.rb +107 -0
  144. data/lib/payments/models/payments_funds_recipient.rb +139 -0
  145. data/lib/payments/models/payments_funds_sender.rb +120 -0
  146. data/lib/payments/models/payments_funds_transfer.rb +108 -0
  147. data/lib/payments/models/payments_gift_cards_purchase.rb +81 -0
  148. data/lib/payments/models/payments_installment_customer_agreement.rb +133 -0
  149. data/lib/payments/models/payments_instruction.rb +309 -0
  150. data/lib/payments/models/payments_link.rb +62 -0
  151. data/lib/payments/models/payments_network_token_payment_instrument.rb +126 -0
  152. data/lib/payments/models/payments_partial_refund_request.rb +68 -0
  153. data/lib/payments/models/payments_partial_settle.rb +72 -0
  154. data/lib/payments/models/payments_partial_settle_request.rb +81 -0
  155. data/lib/payments/models/payments_payment_facilitator.rb +88 -0
  156. data/lib/payments/models/payments_payment_instrument.rb +78 -0
  157. data/lib/payments/models/payments_phone_account.rb +69 -0
  158. data/lib/payments/models/payments_recipient.rb +110 -0
  159. data/lib/payments/models/payments_recipient_account.rb +81 -0
  160. data/lib/payments/models/payments_recipient_address.rb +72 -0
  161. data/lib/payments/models/payments_response.rb +69 -0
  162. data/lib/payments/models/payments_response202.rb +90 -0
  163. data/lib/payments/models/payments_response_payment_instrument.rb +158 -0
  164. data/lib/payments/models/payments_sequence.rb +69 -0
  165. data/lib/payments/models/payments_settle.rb +72 -0
  166. data/lib/payments/models/payments_shipping_address.rb +148 -0
  167. data/lib/payments/models/payments_social_network_account.rb +71 -0
  168. data/lib/payments/models/payments_sub_merchant.rb +108 -0
  169. data/lib/payments/models/payments_sub_merchant_address.rb +99 -0
  170. data/lib/payments/models/payments_subscription_customer_agreement.rb +106 -0
  171. data/lib/payments/models/payments_three_ds.rb +217 -0
  172. data/lib/payments/models/payments_transfer_address.rb +112 -0
  173. data/lib/payments/models/payments_unscheduled_customer_agreement.rb +87 -0
  174. data/lib/payments/models/payments_wallet_account.rb +70 -0
  175. data/lib/payments/models/placement_enum.rb +21 -0
  176. data/lib/payments/models/pq_querybydaterange200_response.rb +68 -0
  177. data/lib/payments/models/pq_querybypaymentid200_response.rb +230 -0
  178. data/lib/payments/models/pq_queryhistoricalpayments200_response.rb +72 -0
  179. data/lib/payments/models/preference_enum.rb +29 -0
  180. data/lib/payments/models/preferred_card_brand_enum.rb +51 -0
  181. data/lib/payments/models/purpose_enum.rb +78 -0
  182. data/lib/payments/models/query_action_list.rb +114 -0
  183. data/lib/payments/models/query_events_response.rb +71 -0
  184. data/lib/payments/models/reason_enum.rb +50 -0
  185. data/lib/payments/models/refund_failed.rb +94 -0
  186. data/lib/payments/models/refund_request_submitted.rb +94 -0
  187. data/lib/payments/models/refund_requested.rb +124 -0
  188. data/lib/payments/models/refund_response.rb +71 -0
  189. data/lib/payments/models/refund_timed_out.rb +94 -0
  190. data/lib/payments/models/result_enum.rb +29 -0
  191. data/lib/payments/models/reversal_failed.rb +94 -0
  192. data/lib/payments/models/reversal_request_submitted.rb +94 -0
  193. data/lib/payments/models/reversal_requested.rb +103 -0
  194. data/lib/payments/models/reversal_timed_out.rb +94 -0
  195. data/lib/payments/models/risk_enum.rb +29 -0
  196. data/lib/payments/models/risk_factor.rb +82 -0
  197. data/lib/payments/models/routing.rb +74 -0
  198. data/lib/payments/models/sale_failed.rb +103 -0
  199. data/lib/payments/models/sale_refused.rb +124 -0
  200. data/lib/payments/models/sale_requested.rb +94 -0
  201. data/lib/payments/models/sale_succeeded.rb +104 -0
  202. data/lib/payments/models/sale_timed_out.rb +94 -0
  203. data/lib/payments/models/scheme.rb +75 -0
  204. data/lib/payments/models/self1.rb +72 -0
  205. data/lib/payments/models/self2.rb +62 -0
  206. data/lib/payments/models/self3.rb +62 -0
  207. data/lib/payments/models/sent_for_cancellation_response.rb +185 -0
  208. data/lib/payments/models/sent_for_settlement_action_list.rb +76 -0
  209. data/lib/payments/models/sent_for_settlement_response.rb +195 -0
  210. data/lib/payments/models/session_payment_instrument.rb +119 -0
  211. data/lib/payments/models/settle_action_list.rb +76 -0
  212. data/lib/payments/models/settle_response.rb +81 -0
  213. data/lib/payments/models/settlement.rb +88 -0
  214. data/lib/payments/models/settlement_failed.rb +94 -0
  215. data/lib/payments/models/settlement_request_submitted.rb +94 -0
  216. data/lib/payments/models/settlement_requested.rb +125 -0
  217. data/lib/payments/models/settlement_timed_out.rb +94 -0
  218. data/lib/payments/models/shipping.rb +130 -0
  219. data/lib/payments/models/stored_card_usage1_enum.rb +24 -0
  220. data/lib/payments/models/stored_card_usage_enum.rb +24 -0
  221. data/lib/payments/models/time_frame_enum.rb +29 -0
  222. data/lib/payments/models/token.rb +168 -0
  223. data/lib/payments/models/token_creation.rb +95 -0
  224. data/lib/payments/models/token_payment_instrument.rb +118 -0
  225. data/lib/payments/models/token_response_conflicts.rb +90 -0
  226. data/lib/payments/models/transaction_history.rb +127 -0
  227. data/lib/payments/models/transaction_type1_enum.rb +26 -0
  228. data/lib/payments/models/transaction_type_enum.rb +26 -0
  229. data/lib/payments/models/type10_enum.rb +23 -0
  230. data/lib/payments/models/type12_enum.rb +35 -0
  231. data/lib/payments/models/type1_enum.rb +26 -0
  232. data/lib/payments/models/type2_enum.rb +23 -0
  233. data/lib/payments/models/type3_enum.rb +20 -0
  234. data/lib/payments/models/type4_enum.rb +20 -0
  235. data/lib/payments/models/type5_enum.rb +41 -0
  236. data/lib/payments/models/type6_enum.rb +29 -0
  237. data/lib/payments/models/type7_enum.rb +23 -0
  238. data/lib/payments/models/type8_enum.rb +23 -0
  239. data/lib/payments/models/type9_enum.rb +35 -0
  240. data/lib/payments/models/type_enum.rb +23 -0
  241. data/lib/payments/models/unsuccessful_authentication_response.rb +76 -0
  242. data/lib/payments/models/updated_payment_instrument.rb +159 -0
  243. data/lib/payments/models/updated_payment_instrument1.rb +93 -0
  244. data/lib/payments/models/user_type_enum.rb +35 -0
  245. data/lib/payments/models/value.rb +94 -0
  246. data/lib/payments/models/value1.rb +91 -0
  247. data/lib/payments/models/value2.rb +91 -0
  248. data/lib/payments/models/value3.rb +91 -0
  249. data/lib/payments/models/value4.rb +91 -0
  250. data/lib/payments/models/verification.rb +173 -0
  251. data/lib/payments/models/wallet_payment_instrument.rb +100 -0
  252. data/lib/payments/models/window_size_enum.rb +34 -0
  253. data/lib/payments/models/wp_api_version_enum.rb +20 -0
  254. data/lib/payments/utilities/date_time_helper.rb +11 -0
  255. data/lib/payments/utilities/file_wrapper.rb +28 -0
  256. data/lib/payments/utilities/union_type_lookup.rb +78 -0
  257. data/lib/payments.rb +280 -0
  258. data/test/controllers/controller_test_base.rb +29 -0
  259. data/test/controllers/test_payment_controller.rb +161 -0
  260. data/test/controllers/test_payment_queries_controller.rb +68 -0
  261. data/test/http_response_catcher.rb +19 -0
  262. metadata +374 -0
@@ -0,0 +1,272 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # ManagePaymentsController
8
+ class ManagePaymentsController < BaseController
9
+ # Query a payment. `linkData` refers to the pre-encoded segment of the URL
10
+ # that uniquely identifies a payment resource. It appears immediately after
11
+ # `/payments/` and continues until the next `/` or URL delimiter.
12
+ # @param [String] link_data Required parameter: TODO: type description
13
+ # here
14
+ # @param [WPApiVersionEnum] wp_api_version Required parameter: The API
15
+ # version
16
+ # @return [QueryEventsResponse] Response from the API call.
17
+ def query_events(link_data,
18
+ wp_api_version)
19
+ @api_call
20
+ .request(new_request_builder(HttpMethodEnum::GET,
21
+ '/api/payments/{linkData}',
22
+ Server::DEFAULT)
23
+ .template_param(new_parameter(link_data, key: 'linkData')
24
+ .should_encode(true))
25
+ .header_param(new_parameter(wp_api_version, key: 'WP-Api-Version'))
26
+ .header_param(new_parameter('application/json', key: 'accept'))
27
+ .auth(Single.new('BasicAuth')))
28
+ .response(new_response_handler
29
+ .deserializer(APIHelper.method(:custom_type_deserializer))
30
+ .deserialize_into(QueryEventsResponse.method(:from_hash))
31
+ .local_error('400',
32
+ 'Bad request',
33
+ ValidationErrorResponseException)
34
+ .local_error('404',
35
+ 'Not found',
36
+ ErrorResponseException)
37
+ .local_error('500',
38
+ 'Internal server error',
39
+ ErrorResponseException))
40
+ .execute
41
+ end
42
+
43
+ # Settle a payment. `linkData` refers to the pre-encoded segment of the URL
44
+ # that uniquely identifies a payment resource. It appears immediately after
45
+ # `/payments/` and continues until the next `/` or URL delimiter.
46
+ # @param [String] link_data Required parameter: TODO: type description
47
+ # here
48
+ # @param [WPApiVersionEnum] wp_api_version Required parameter: The API
49
+ # version
50
+ # @param [ContentTypeEnum] content_type Required parameter: Example:
51
+ # @return [SettleResponse] Response from the API call.
52
+ def settle(link_data,
53
+ wp_api_version,
54
+ content_type)
55
+ @api_call
56
+ .request(new_request_builder(HttpMethodEnum::POST,
57
+ '/api/payments/{linkData}/settlements',
58
+ Server::DEFAULT)
59
+ .template_param(new_parameter(link_data, key: 'linkData')
60
+ .should_encode(true))
61
+ .header_param(new_parameter(wp_api_version, key: 'WP-Api-Version'))
62
+ .header_param(new_parameter(content_type, key: 'Content-Type'))
63
+ .header_param(new_parameter('application/json', key: 'accept'))
64
+ .auth(Single.new('BasicAuth')))
65
+ .response(new_response_handler
66
+ .deserializer(APIHelper.method(:custom_type_deserializer))
67
+ .deserialize_into(SettleResponse.method(:from_hash))
68
+ .local_error('401',
69
+ 'Unauthorized',
70
+ ErrorResponseException)
71
+ .local_error('404',
72
+ 'Not found',
73
+ ErrorResponseException)
74
+ .local_error('406',
75
+ 'Not acceptable',
76
+ HeaderErrorResponseException)
77
+ .local_error('415',
78
+ 'Unsupported media type',
79
+ ErrorResponseException)
80
+ .local_error('500',
81
+ 'Internal server error',
82
+ ErrorResponseException))
83
+ .execute
84
+ end
85
+
86
+ # Partially settle a payment. `linkData` refers to the pre-encoded segment
87
+ # of the URL that uniquely identifies a payment resource. It appears
88
+ # immediately after `/payments/` and continues until the next `/` or URL
89
+ # delimiter.
90
+ # @param [String] link_data Required parameter: TODO: type description
91
+ # here
92
+ # @param [WPApiVersionEnum] wp_api_version Required parameter: The API
93
+ # version
94
+ # @param [PaymentsPartialSettleRequest] body Required parameter: TODO: type
95
+ # description here
96
+ # @return [PartialSettleResponse] Response from the API call.
97
+ def partial_settle(link_data,
98
+ wp_api_version,
99
+ body)
100
+ @api_call
101
+ .request(new_request_builder(HttpMethodEnum::POST,
102
+ '/api/payments/{linkData}/partialSettlements',
103
+ Server::DEFAULT)
104
+ .template_param(new_parameter(link_data, key: 'linkData')
105
+ .should_encode(true))
106
+ .header_param(new_parameter(wp_api_version, key: 'WP-Api-Version'))
107
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
108
+ .body_param(new_parameter(body))
109
+ .header_param(new_parameter('application/json', key: 'accept'))
110
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
111
+ .auth(Single.new('BasicAuth')))
112
+ .response(new_response_handler
113
+ .deserializer(APIHelper.method(:custom_type_deserializer))
114
+ .deserialize_into(PartialSettleResponse.method(:from_hash))
115
+ .local_error('400',
116
+ 'Bad request',
117
+ ValidationErrorResponseException)
118
+ .local_error('401',
119
+ 'Unauthorized',
120
+ ErrorResponseException)
121
+ .local_error('404',
122
+ 'Not found',
123
+ ErrorResponseException)
124
+ .local_error('406',
125
+ 'Not acceptable',
126
+ HeaderErrorResponseException)
127
+ .local_error('415',
128
+ 'Unsupported media type',
129
+ ErrorResponseException)
130
+ .local_error('500',
131
+ 'Internal server error',
132
+ ErrorResponseException))
133
+ .execute
134
+ end
135
+
136
+ # Refund a payment. `linkData` refers to the pre-encoded segment of the URL
137
+ # that uniquely identifies a payment resource. It appears immediately after
138
+ # `/payments/` and continues until the next `/` or URL delimiter.
139
+ # @param [String] link_data Required parameter: TODO: type description
140
+ # here
141
+ # @param [WPApiVersionEnum] wp_api_version Required parameter: The API
142
+ # version
143
+ # @param [ContentTypeEnum] content_type Required parameter: Example:
144
+ # @return [RefundResponse] Response from the API call.
145
+ def refund(link_data,
146
+ wp_api_version,
147
+ content_type)
148
+ @api_call
149
+ .request(new_request_builder(HttpMethodEnum::POST,
150
+ '/api/payments/{linkData}/refunds',
151
+ Server::DEFAULT)
152
+ .template_param(new_parameter(link_data, key: 'linkData')
153
+ .should_encode(true))
154
+ .header_param(new_parameter(wp_api_version, key: 'WP-Api-Version'))
155
+ .header_param(new_parameter(content_type, key: 'Content-Type'))
156
+ .header_param(new_parameter('application/json', key: 'accept'))
157
+ .auth(Single.new('BasicAuth')))
158
+ .response(new_response_handler
159
+ .deserializer(APIHelper.method(:custom_type_deserializer))
160
+ .deserialize_into(RefundResponse.method(:from_hash))
161
+ .local_error('401',
162
+ 'Unauthorized',
163
+ ErrorResponseException)
164
+ .local_error('404',
165
+ 'Not found',
166
+ ErrorResponseException)
167
+ .local_error('406',
168
+ 'Not acceptable',
169
+ HeaderErrorResponseException)
170
+ .local_error('415',
171
+ 'Unsupported media type',
172
+ ErrorResponseException)
173
+ .local_error('500',
174
+ 'Internal server error',
175
+ ErrorResponseException))
176
+ .execute
177
+ end
178
+
179
+ # Partially refund a payment. `linkData` refers to the pre-encoded segment
180
+ # of the URL that uniquely identifies a payment resource. It appears
181
+ # immediately after `/payments/` and continues until the next `/` or URL
182
+ # delimiter.
183
+ # @param [String] link_data Required parameter: TODO: type description
184
+ # here
185
+ # @param [WPApiVersionEnum] wp_api_version Required parameter: The API
186
+ # version
187
+ # @param [PaymentsPartialRefundRequest] body Required parameter: TODO: type
188
+ # description here
189
+ # @return [PartialRefundResponse] Response from the API call.
190
+ def partial_refund(link_data,
191
+ wp_api_version,
192
+ body)
193
+ @api_call
194
+ .request(new_request_builder(HttpMethodEnum::POST,
195
+ '/api/payments/{linkData}/partialRefunds',
196
+ Server::DEFAULT)
197
+ .template_param(new_parameter(link_data, key: 'linkData')
198
+ .should_encode(true))
199
+ .header_param(new_parameter(wp_api_version, key: 'WP-Api-Version'))
200
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
201
+ .body_param(new_parameter(body))
202
+ .header_param(new_parameter('application/json', key: 'accept'))
203
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
204
+ .auth(Single.new('BasicAuth')))
205
+ .response(new_response_handler
206
+ .deserializer(APIHelper.method(:custom_type_deserializer))
207
+ .deserialize_into(PartialRefundResponse.method(:from_hash))
208
+ .local_error('400',
209
+ 'Bad request',
210
+ ValidationErrorResponseException)
211
+ .local_error('401',
212
+ 'Unauthorized',
213
+ ErrorResponseException)
214
+ .local_error('404',
215
+ 'Not found',
216
+ ErrorResponseException)
217
+ .local_error('406',
218
+ 'Not acceptable',
219
+ HeaderErrorResponseException)
220
+ .local_error('415',
221
+ 'Unsupported media type',
222
+ ErrorResponseException)
223
+ .local_error('500',
224
+ 'Internal server error',
225
+ ErrorResponseException))
226
+ .execute
227
+ end
228
+
229
+ # Cancel a payment. `linkData` refers to the pre-encoded segment of the URL
230
+ # that uniquely identifies a payment resource. It appears immediately after
231
+ # `/payments/` and continues until the next `/` or URL delimiter.
232
+ # @param [String] link_data Required parameter: TODO: type description
233
+ # here
234
+ # @param [WPApiVersionEnum] wp_api_version Required parameter: The API
235
+ # version
236
+ # @param [ContentTypeEnum] content_type Required parameter: Example:
237
+ # @return [CancelResponse] Response from the API call.
238
+ def cancel(link_data,
239
+ wp_api_version,
240
+ content_type)
241
+ @api_call
242
+ .request(new_request_builder(HttpMethodEnum::POST,
243
+ '/api/payments/{linkData}/cancellations',
244
+ Server::DEFAULT)
245
+ .template_param(new_parameter(link_data, key: 'linkData')
246
+ .should_encode(true))
247
+ .header_param(new_parameter(wp_api_version, key: 'WP-Api-Version'))
248
+ .header_param(new_parameter(content_type, key: 'Content-Type'))
249
+ .header_param(new_parameter('application/json', key: 'accept'))
250
+ .auth(Single.new('BasicAuth')))
251
+ .response(new_response_handler
252
+ .deserializer(APIHelper.method(:custom_type_deserializer))
253
+ .deserialize_into(CancelResponse.method(:from_hash))
254
+ .local_error('401',
255
+ 'Unauthorized',
256
+ ErrorResponseException)
257
+ .local_error('404',
258
+ 'Not found',
259
+ ErrorResponseException)
260
+ .local_error('406',
261
+ 'Not acceptable',
262
+ HeaderErrorResponseException)
263
+ .local_error('415',
264
+ 'Unsupported media type',
265
+ ErrorResponseException)
266
+ .local_error('500',
267
+ 'Internal server error',
268
+ ErrorResponseException))
269
+ .execute
270
+ end
271
+ end
272
+ end
@@ -0,0 +1,51 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # PaymentController
8
+ class PaymentController < BaseController
9
+ # Initiate Payment. Take merchant entity as default if not provided
10
+ # @param [WPApiVersionEnum] wp_api_version Required parameter: The API
11
+ # version
12
+ # @param [PaymentRequest] body Required parameter: TODO: type description
13
+ # here
14
+ # @return [PaymentsResponse202] Response from the API call.
15
+ def payment(wp_api_version,
16
+ body)
17
+ @api_call
18
+ .request(new_request_builder(HttpMethodEnum::POST,
19
+ '/api/payments',
20
+ Server::DEFAULT)
21
+ .header_param(new_parameter(wp_api_version, key: 'WP-Api-Version'))
22
+ .header_param(new_parameter('application/json', key: 'Content-Type'))
23
+ .body_param(new_parameter(body))
24
+ .header_param(new_parameter('application/json', key: 'accept'))
25
+ .body_serializer(proc do |param| param.to_json unless param.nil? end)
26
+ .auth(Single.new('BasicAuth')))
27
+ .response(new_response_handler
28
+ .deserializer(APIHelper.method(:custom_type_deserializer))
29
+ .deserialize_into(PaymentsResponse202.method(:from_hash))
30
+ .local_error('400',
31
+ 'Bad request',
32
+ ValidationErrorResponseException)
33
+ .local_error('401',
34
+ 'Unauthorized',
35
+ ErrorResponseException)
36
+ .local_error('404',
37
+ 'Not found',
38
+ ErrorResponseException)
39
+ .local_error('406',
40
+ 'Not acceptable',
41
+ HeaderErrorResponseException)
42
+ .local_error('415',
43
+ 'Unsupported media type',
44
+ ErrorResponseException)
45
+ .local_error('500',
46
+ 'Internal server error',
47
+ ErrorResponseException))
48
+ .execute
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,134 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # PaymentQueriesController
8
+ class PaymentQueriesController < BaseController
9
+ # Query payments within a specified date time range.
10
+ # These payments can be filtered by currency, minAmount, maxAmount,
11
+ # last4Digits & receivedEvents.
12
+ # The API returns data for payments processed after 25 June 2024. For
13
+ # payments processed before then use our [query for historical
14
+ # payments](/products/payment-queries/@v1/query-archive.md).
15
+ # @param [AcceptEnum] accept Required parameter: Example:
16
+ # @param [String] start_date Required parameter: An ISO 8601 date-time
17
+ # supplied as a string. Filters for payments that occurred after the
18
+ # specified date-time. Must be supplied alongside endDate.
19
+ # @param [String] end_date Required parameter: An ISO 8601 date-time
20
+ # supplied as a string. Filters for payments that occurred below the
21
+ # specified date-time. Must be supplied alongside startDate.
22
+ # @param [Integer] page_size Optional parameter: The maximum number of
23
+ # payments to be returned in the response (max 300).
24
+ # @param [String] currency Optional parameter: The three digit currency
25
+ # code.
26
+ # @param [Integer] min_amount Optional parameter: This is a whole number
27
+ # including the currency exponent (e.g. GBP has an exponent of 2, so for
28
+ # £2.50 supply:`250`).
29
+ # @param [Integer] max_amount Optional parameter: This is a whole number
30
+ # including the currency exponent (e.g. GBP has an exponent of 2, so for
31
+ # £2.50 supply:`250`).
32
+ # @param [String] last4_digits Optional parameter: The last four digits of
33
+ # the card number.
34
+ # @param [String] entity_references Optional parameter: Your entity
35
+ # reference(s).
36
+ # @param [String] received_events Optional parameter: Name of the event.
37
+ # @param [String] transaction_reference Optional parameter: A unique
38
+ # reference generated by you, used to identify a payment throughout its
39
+ # lifecycle. This shouldn't be used in conjunction with the above fields.
40
+ # Use it as a single parameter to query data.
41
+ # @return [PqQuerybydaterange200Response] Response from the API call.
42
+ def query_by_date_range(accept,
43
+ start_date,
44
+ end_date,
45
+ page_size: nil,
46
+ currency: nil,
47
+ min_amount: nil,
48
+ max_amount: nil,
49
+ last4_digits: nil,
50
+ entity_references: nil,
51
+ received_events: nil,
52
+ transaction_reference: nil)
53
+ @api_call
54
+ .request(new_request_builder(HttpMethodEnum::GET,
55
+ '/paymentQueries/payments',
56
+ Server::DEFAULT)
57
+ .header_param(new_parameter(accept, key: 'Accept'))
58
+ .query_param(new_parameter(start_date, key: 'startDate'))
59
+ .query_param(new_parameter(end_date, key: 'endDate'))
60
+ .query_param(new_parameter(page_size, key: 'pageSize'))
61
+ .query_param(new_parameter(currency, key: 'currency'))
62
+ .query_param(new_parameter(min_amount, key: 'minAmount'))
63
+ .query_param(new_parameter(max_amount, key: 'maxAmount'))
64
+ .query_param(new_parameter(last4_digits, key: 'last4Digits'))
65
+ .query_param(new_parameter(entity_references, key: 'entityReferences'))
66
+ .query_param(new_parameter(received_events, key: 'receivedEvents'))
67
+ .query_param(new_parameter(transaction_reference, key: 'transactionReference'))
68
+ .auth(Single.new('BasicAuth')))
69
+ .response(new_response_handler
70
+ .deserializer(APIHelper.method(:custom_type_deserializer))
71
+ .deserialize_into(PqQuerybydaterange200Response.method(:from_hash))
72
+ .local_error('400',
73
+ 'Bad request',
74
+ PqQuerybydaterange400ResponseException))
75
+ .execute
76
+ end
77
+
78
+ # Retrieve a single payment by payment ID.
79
+ # The API returns detailed data for payments processed after 25 June 2024.
80
+ # For payments processed before then use our [query for historical
81
+ # payments](/products/payment-queries/@v1/query-archive.md).
82
+ # @param [String] accept Required parameter: TODO: type description here
83
+ # @param [String] payment_id Required parameter: Unique identifier generated
84
+ # for each payment. Historic `paymentId` values in UUID format.
85
+ # @return [PqQuerybypaymentid200Response] Response from the API call.
86
+ def retrieve_by_payment_id(accept,
87
+ payment_id)
88
+ @api_call
89
+ .request(new_request_builder(HttpMethodEnum::GET,
90
+ '/paymentQueries/payments/{paymentId}',
91
+ Server::DEFAULT)
92
+ .header_param(new_parameter(accept, key: 'Accept'))
93
+ .template_param(new_parameter(payment_id, key: 'paymentId')
94
+ .should_encode(true))
95
+ .auth(Single.new('BasicAuth')))
96
+ .response(new_response_handler
97
+ .deserializer(APIHelper.method(:custom_type_deserializer))
98
+ .deserialize_into(PqQuerybypaymentid200Response.method(:from_hash))
99
+ .local_error('404',
100
+ 'The payment was not found.',
101
+ PqQuerybypaymentid404ResponseErrorException))
102
+ .execute
103
+ end
104
+
105
+ # Query payments processed before 25 June 2024.
106
+ # Provide a `transactionReference` and `entityReference` for a payment to
107
+ # find the matching payment in the archive.
108
+ # @param [String] accept Required parameter: TODO: type description here
109
+ # @param [String] transaction_reference Required parameter: A unique
110
+ # reference generated by you, used to identify a payment throughout its
111
+ # lifecycle.
112
+ # @param [String] entity_reference Required parameter: A merchant entity.
113
+ # @return [PqQueryhistoricalpayments200Response] Response from the API call.
114
+ def query_archived_payments(accept,
115
+ transaction_reference,
116
+ entity_reference)
117
+ @api_call
118
+ .request(new_request_builder(HttpMethodEnum::GET,
119
+ '/paymentQueries/archivedPayments',
120
+ Server::DEFAULT)
121
+ .header_param(new_parameter(accept, key: 'Accept'))
122
+ .query_param(new_parameter(transaction_reference, key: 'transactionReference'))
123
+ .query_param(new_parameter(entity_reference, key: 'entityReference'))
124
+ .auth(Single.new('BasicAuth')))
125
+ .response(new_response_handler
126
+ .deserializer(APIHelper.method(:custom_type_deserializer))
127
+ .deserialize_into(PqQueryhistoricalpayments200Response.method(:from_hash))
128
+ .local_error('400',
129
+ 'Bad request',
130
+ PqQueryhistoricalpayments400ResponseException))
131
+ .execute
132
+ end
133
+ end
134
+ end
@@ -0,0 +1,21 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # Class for exceptions when there is a network error, status code error, etc.
8
+ class APIException < CoreLibrary::ApiException
9
+ # Provides a human-readable string representation of the object.
10
+ def to_s
11
+ class_name = self.class.name.split('::').last
12
+ "<#{class_name} status_code: #{@response_code}, reason: #{@reason}>"
13
+ end
14
+
15
+ # Provides a debugging-friendly string with detailed object information.
16
+ def inspect
17
+ class_name = self.class.name.split('::').last
18
+ "<#{class_name} status_code: #{@response_code.inspect}, reason: #{@reason.inspect}>"
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,51 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # ErrorResponse class.
8
+ class ErrorResponseException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :error_name
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :message
19
+
20
+ # The constructor.
21
+ # @param [String] reason The reason for raising an exception.
22
+ # @param [HttpResponse] response The HttpReponse of the API call.
23
+ def initialize(reason, response)
24
+ super(reason, response)
25
+ hash = APIHelper.json_deserialize(@response.raw_body)
26
+ unbox(hash)
27
+ end
28
+
29
+ # Populates this object by extracting properties from a hash.
30
+ # @param [Hash] hash The deserialized response sent by the server in the
31
+ # response body.
32
+ def unbox(hash)
33
+ return nil unless hash
34
+
35
+ @error_name = hash.key?('errorName') ? hash['errorName'] : SKIP
36
+ @message = hash.key?('message') ? hash['message'] : SKIP
37
+ end
38
+
39
+ # Provides a human-readable string representation of the object.
40
+ def to_s
41
+ class_name = self.class.name.split('::').last
42
+ "<#{class_name} error_name: #{@error_name}, message: #{@message}>"
43
+ end
44
+
45
+ # Provides a debugging-friendly string with detailed object information.
46
+ def inspect
47
+ class_name = self.class.name.split('::').last
48
+ "<#{class_name} error_name: #{@error_name.inspect}, message: #{@message.inspect}>"
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,58 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # HeaderErrorResponse class.
8
+ class HeaderErrorResponseException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # TODO: Write general description for this method
13
+ # @return [String]
14
+ attr_accessor :error_name
15
+
16
+ # TODO: Write general description for this method
17
+ # @return [String]
18
+ attr_accessor :message
19
+
20
+ # TODO: Write general description for this method
21
+ # @return [String]
22
+ attr_accessor :header_name
23
+
24
+ # The constructor.
25
+ # @param [String] reason The reason for raising an exception.
26
+ # @param [HttpResponse] response The HttpReponse of the API call.
27
+ def initialize(reason, response)
28
+ super(reason, response)
29
+ hash = APIHelper.json_deserialize(@response.raw_body)
30
+ unbox(hash)
31
+ end
32
+
33
+ # Populates this object by extracting properties from a hash.
34
+ # @param [Hash] hash The deserialized response sent by the server in the
35
+ # response body.
36
+ def unbox(hash)
37
+ return nil unless hash
38
+
39
+ @error_name = hash.key?('errorName') ? hash['errorName'] : SKIP
40
+ @message = hash.key?('message') ? hash['message'] : SKIP
41
+ @header_name = hash.key?('headerName') ? hash['headerName'] : SKIP
42
+ end
43
+
44
+ # Provides a human-readable string representation of the object.
45
+ def to_s
46
+ class_name = self.class.name.split('::').last
47
+ "<#{class_name} error_name: #{@error_name}, message: #{@message}, header_name:"\
48
+ " #{@header_name}>"
49
+ end
50
+
51
+ # Provides a debugging-friendly string with detailed object information.
52
+ def inspect
53
+ class_name = self.class.name.split('::').last
54
+ "<#{class_name} error_name: #{@error_name.inspect}, message: #{@message.inspect},"\
55
+ " header_name: #{@header_name.inspect}>"
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,51 @@
1
+ # payments
2
+ #
3
+ # This file was automatically generated by APIMATIC v3.0 (
4
+ # https://www.apimatic.io ).
5
+
6
+ module Payments
7
+ # pq_querybydaterange_400_response class.
8
+ class PqQuerybydaterange400ResponseException < APIException
9
+ SKIP = Object.new
10
+ private_constant :SKIP
11
+
12
+ # The type of error.
13
+ # @return [String]
14
+ attr_accessor :error_name
15
+
16
+ # A description of the error.
17
+ # @return [String]
18
+ attr_accessor :message
19
+
20
+ # The constructor.
21
+ # @param [String] reason The reason for raising an exception.
22
+ # @param [HttpResponse] response The HttpReponse of the API call.
23
+ def initialize(reason, response)
24
+ super(reason, response)
25
+ hash = APIHelper.json_deserialize(@response.raw_body)
26
+ unbox(hash)
27
+ end
28
+
29
+ # Populates this object by extracting properties from a hash.
30
+ # @param [Hash] hash The deserialized response sent by the server in the
31
+ # response body.
32
+ def unbox(hash)
33
+ return nil unless hash
34
+
35
+ @error_name = hash.key?('errorName') ? hash['errorName'] : nil
36
+ @message = hash.key?('message') ? hash['message'] : nil
37
+ end
38
+
39
+ # Provides a human-readable string representation of the object.
40
+ def to_s
41
+ class_name = self.class.name.split('::').last
42
+ "<#{class_name} error_name: #{@error_name}, message: #{@message}>"
43
+ end
44
+
45
+ # Provides a debugging-friendly string with detailed object information.
46
+ def inspect
47
+ class_name = self.class.name.split('::').last
48
+ "<#{class_name} error_name: #{@error_name.inspect}, message: #{@message.inspect}>"
49
+ end
50
+ end
51
+ end