yoomoney 0.1.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 (413) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +17 -0
  4. data/README.md +246 -0
  5. data/SECURITY.md +23 -0
  6. data/lib/yoomoney/client.rb +110 -0
  7. data/lib/yoomoney/errors.rb +228 -0
  8. data/lib/yoomoney/file_part.rb +58 -0
  9. data/lib/yoomoney/internal/transport/base_client.rb +567 -0
  10. data/lib/yoomoney/internal/transport/pooled_net_requester.rb +210 -0
  11. data/lib/yoomoney/internal/type/array_of.rb +168 -0
  12. data/lib/yoomoney/internal/type/base_model.rb +531 -0
  13. data/lib/yoomoney/internal/type/base_page.rb +55 -0
  14. data/lib/yoomoney/internal/type/boolean.rb +77 -0
  15. data/lib/yoomoney/internal/type/converter.rb +327 -0
  16. data/lib/yoomoney/internal/type/enum.rb +156 -0
  17. data/lib/yoomoney/internal/type/file_input.rb +111 -0
  18. data/lib/yoomoney/internal/type/hash_of.rb +188 -0
  19. data/lib/yoomoney/internal/type/request_parameters.rb +42 -0
  20. data/lib/yoomoney/internal/type/union.rb +237 -0
  21. data/lib/yoomoney/internal/type/unknown.rb +81 -0
  22. data/lib/yoomoney/internal/util.rb +920 -0
  23. data/lib/yoomoney/internal.rb +20 -0
  24. data/lib/yoomoney/models/airline.rb +77 -0
  25. data/lib/yoomoney/models/b2b_sberbank_calculated_vat_data.rb +24 -0
  26. data/lib/yoomoney/models/b2b_sberbank_mixed_vat_data.rb +16 -0
  27. data/lib/yoomoney/models/b2b_sberbank_untaxed_vat_data.rb +27 -0
  28. data/lib/yoomoney/models/b2b_sberbank_vat_data.rb +27 -0
  29. data/lib/yoomoney/models/bank_card_data.rb +95 -0
  30. data/lib/yoomoney/models/bank_card_type.rb +28 -0
  31. data/lib/yoomoney/models/card_request_data_with_csc.rb +48 -0
  32. data/lib/yoomoney/models/confirmation.rb +32 -0
  33. data/lib/yoomoney/models/confirmation_data.rb +40 -0
  34. data/lib/yoomoney/models/deal_create_params.rb +59 -0
  35. data/lib/yoomoney/models/deal_list_params.rb +116 -0
  36. data/lib/yoomoney/models/deal_list_response.rb +28 -0
  37. data/lib/yoomoney/models/deal_retrieve_params.rb +14 -0
  38. data/lib/yoomoney/models/deal_type.rb +14 -0
  39. data/lib/yoomoney/models/delivery_method.rb +16 -0
  40. data/lib/yoomoney/models/delivery_method_data.rb +16 -0
  41. data/lib/yoomoney/models/electronic_certificate_refund_article.rb +33 -0
  42. data/lib/yoomoney/models/fee_moment.rb +15 -0
  43. data/lib/yoomoney/models/industry_details.rb +33 -0
  44. data/lib/yoomoney/models/invoice.rb +174 -0
  45. data/lib/yoomoney/models/invoice_create_params.rb +179 -0
  46. data/lib/yoomoney/models/invoice_retrieve_params.rb +14 -0
  47. data/lib/yoomoney/models/invoicing_bank_card_data.rb +39 -0
  48. data/lib/yoomoney/models/line_item.rb +40 -0
  49. data/lib/yoomoney/models/locale.rb +15 -0
  50. data/lib/yoomoney/models/mark_code_info.rb +75 -0
  51. data/lib/yoomoney/models/mark_quantity.rb +21 -0
  52. data/lib/yoomoney/models/me_retrieve_params.rb +20 -0
  53. data/lib/yoomoney/models/me_retrieve_response.rb +143 -0
  54. data/lib/yoomoney/models/monetary_amount.rb +51 -0
  55. data/lib/yoomoney/models/notification_event_type.rb +17 -0
  56. data/lib/yoomoney/models/operational_details.rb +27 -0
  57. data/lib/yoomoney/models/payment.rb +707 -0
  58. data/lib/yoomoney/models/payment_cancel_params.rb +20 -0
  59. data/lib/yoomoney/models/payment_capture_params.rb +61 -0
  60. data/lib/yoomoney/models/payment_create_params.rb +586 -0
  61. data/lib/yoomoney/models/payment_deal_info.rb +40 -0
  62. data/lib/yoomoney/models/payment_list_params.rb +106 -0
  63. data/lib/yoomoney/models/payment_list_response.rb +33 -0
  64. data/lib/yoomoney/models/payment_method.rb +48 -0
  65. data/lib/yoomoney/models/payment_method_create_params.rb +188 -0
  66. data/lib/yoomoney/models/payment_method_data.rb +16 -0
  67. data/lib/yoomoney/models/payment_method_retrieve_params.rb +14 -0
  68. data/lib/yoomoney/models/payment_method_status.rb +16 -0
  69. data/lib/yoomoney/models/payment_method_type.rb +31 -0
  70. data/lib/yoomoney/models/payment_methods_confirmation_type.rb +14 -0
  71. data/lib/yoomoney/models/payment_retrieve_params.rb +14 -0
  72. data/lib/yoomoney/models/payment_status.rb +17 -0
  73. data/lib/yoomoney/models/payout.rb +268 -0
  74. data/lib/yoomoney/models/payout_create_params.rb +171 -0
  75. data/lib/yoomoney/models/payout_deal_info.rb +16 -0
  76. data/lib/yoomoney/models/payout_destination.rb +30 -0
  77. data/lib/yoomoney/models/payout_destination_data.rb +16 -0
  78. data/lib/yoomoney/models/payout_destination_data_type.rb +16 -0
  79. data/lib/yoomoney/models/payout_list_params.rb +94 -0
  80. data/lib/yoomoney/models/payout_retrieve_params.rb +14 -0
  81. data/lib/yoomoney/models/payout_search_params.rb +60 -0
  82. data/lib/yoomoney/models/payout_status.rb +16 -0
  83. data/lib/yoomoney/models/payouts_list.rb +33 -0
  84. data/lib/yoomoney/models/personal_data.rb +90 -0
  85. data/lib/yoomoney/models/personal_data_create_params.rb +67 -0
  86. data/lib/yoomoney/models/personal_data_request.rb +30 -0
  87. data/lib/yoomoney/models/personal_data_retrieve_params.rb +14 -0
  88. data/lib/yoomoney/models/personal_data_type.rb +15 -0
  89. data/lib/yoomoney/models/receipt.rb +277 -0
  90. data/lib/yoomoney/models/receipt_create_params.rb +304 -0
  91. data/lib/yoomoney/models/receipt_data.rb +171 -0
  92. data/lib/yoomoney/models/receipt_data_customer.rb +33 -0
  93. data/lib/yoomoney/models/receipt_item_agent_type.rb +20 -0
  94. data/lib/yoomoney/models/receipt_item_measure.rb +37 -0
  95. data/lib/yoomoney/models/receipt_item_payment_mode.rb +20 -0
  96. data/lib/yoomoney/models/receipt_item_payment_subject.rb +46 -0
  97. data/lib/yoomoney/models/receipt_item_supplier.rb +21 -0
  98. data/lib/yoomoney/models/receipt_list_params.rb +78 -0
  99. data/lib/yoomoney/models/receipt_list_response.rb +28 -0
  100. data/lib/yoomoney/models/receipt_registration_status.rb +16 -0
  101. data/lib/yoomoney/models/receipt_retrieve_params.rb +14 -0
  102. data/lib/yoomoney/models/receipt_type.rb +15 -0
  103. data/lib/yoomoney/models/receiver.rb +30 -0
  104. data/lib/yoomoney/models/recipient.rb +20 -0
  105. data/lib/yoomoney/models/refund.rb +248 -0
  106. data/lib/yoomoney/models/refund_create_params.rb +133 -0
  107. data/lib/yoomoney/models/refund_list_params.rb +72 -0
  108. data/lib/yoomoney/models/refund_list_response.rb +28 -0
  109. data/lib/yoomoney/models/refund_method.rb +15 -0
  110. data/lib/yoomoney/models/refund_method_type.rb +15 -0
  111. data/lib/yoomoney/models/refund_retrieve_params.rb +14 -0
  112. data/lib/yoomoney/models/refund_sources_data.rb +32 -0
  113. data/lib/yoomoney/models/refund_status.rb +16 -0
  114. data/lib/yoomoney/models/safe_deal.rb +116 -0
  115. data/lib/yoomoney/models/save_payment_method_bank_card.rb +85 -0
  116. data/lib/yoomoney/models/sbp_bank_list_params.rb +14 -0
  117. data/lib/yoomoney/models/sbp_bank_list_response.rb +49 -0
  118. data/lib/yoomoney/models/settlement.rb +24 -0
  119. data/lib/yoomoney/models/settlement_item_type.rb +14 -0
  120. data/lib/yoomoney/models/transfer_data.rb +36 -0
  121. data/lib/yoomoney/models/webhook.rb +33 -0
  122. data/lib/yoomoney/models/webhook_create_params.rb +37 -0
  123. data/lib/yoomoney/models/webhook_delete_params.rb +14 -0
  124. data/lib/yoomoney/models/webhook_delete_response.rb +8 -0
  125. data/lib/yoomoney/models/webhook_list_params.rb +14 -0
  126. data/lib/yoomoney/models/webhook_list_response.rb +22 -0
  127. data/lib/yoomoney/models.rb +231 -0
  128. data/lib/yoomoney/request_options.rb +77 -0
  129. data/lib/yoomoney/resources/deals.rb +94 -0
  130. data/lib/yoomoney/resources/invoices.rb +72 -0
  131. data/lib/yoomoney/resources/me.rb +35 -0
  132. data/lib/yoomoney/resources/payment_methods.rb +68 -0
  133. data/lib/yoomoney/resources/payments.rb +182 -0
  134. data/lib/yoomoney/resources/payouts.rb +124 -0
  135. data/lib/yoomoney/resources/personal_data.rb +70 -0
  136. data/lib/yoomoney/resources/receipts.rb +111 -0
  137. data/lib/yoomoney/resources/refunds.rb +101 -0
  138. data/lib/yoomoney/resources/sbp_banks.rb +32 -0
  139. data/lib/yoomoney/resources/webhooks.rb +79 -0
  140. data/lib/yoomoney/version.rb +5 -0
  141. data/lib/yoomoney.rb +169 -0
  142. data/manifest.yaml +17 -0
  143. data/rbi/yoomoney/client.rbi +82 -0
  144. data/rbi/yoomoney/errors.rbi +205 -0
  145. data/rbi/yoomoney/file_part.rbi +37 -0
  146. data/rbi/yoomoney/internal/transport/base_client.rbi +292 -0
  147. data/rbi/yoomoney/internal/transport/pooled_net_requester.rbi +83 -0
  148. data/rbi/yoomoney/internal/type/array_of.rbi +104 -0
  149. data/rbi/yoomoney/internal/type/base_model.rbi +306 -0
  150. data/rbi/yoomoney/internal/type/base_page.rbi +42 -0
  151. data/rbi/yoomoney/internal/type/boolean.rbi +58 -0
  152. data/rbi/yoomoney/internal/type/converter.rbi +216 -0
  153. data/rbi/yoomoney/internal/type/enum.rbi +82 -0
  154. data/rbi/yoomoney/internal/type/file_input.rbi +59 -0
  155. data/rbi/yoomoney/internal/type/hash_of.rbi +104 -0
  156. data/rbi/yoomoney/internal/type/request_parameters.rbi +29 -0
  157. data/rbi/yoomoney/internal/type/union.rbi +128 -0
  158. data/rbi/yoomoney/internal/type/unknown.rbi +58 -0
  159. data/rbi/yoomoney/internal/util.rbi +487 -0
  160. data/rbi/yoomoney/internal.rbi +16 -0
  161. data/rbi/yoomoney/models/airline.rbi +141 -0
  162. data/rbi/yoomoney/models/b2b_sberbank_calculated_vat_data.rbi +45 -0
  163. data/rbi/yoomoney/models/b2b_sberbank_mixed_vat_data.rbi +34 -0
  164. data/rbi/yoomoney/models/b2b_sberbank_untaxed_vat_data.rbi +65 -0
  165. data/rbi/yoomoney/models/b2b_sberbank_vat_data.rbi +51 -0
  166. data/rbi/yoomoney/models/bank_card_data.rbi +156 -0
  167. data/rbi/yoomoney/models/bank_card_type.rbi +34 -0
  168. data/rbi/yoomoney/models/card_request_data_with_csc.rbi +75 -0
  169. data/rbi/yoomoney/models/confirmation.rbi +55 -0
  170. data/rbi/yoomoney/models/confirmation_data.rbi +78 -0
  171. data/rbi/yoomoney/models/deal_create_params.rbi +85 -0
  172. data/rbi/yoomoney/models/deal_list_params.rbi +204 -0
  173. data/rbi/yoomoney/models/deal_list_response.rbi +46 -0
  174. data/rbi/yoomoney/models/deal_retrieve_params.rbi +27 -0
  175. data/rbi/yoomoney/models/deal_type.rbi +18 -0
  176. data/rbi/yoomoney/models/delivery_method.rbi +27 -0
  177. data/rbi/yoomoney/models/delivery_method_data.rbi +27 -0
  178. data/rbi/yoomoney/models/electronic_certificate_refund_article.rbi +56 -0
  179. data/rbi/yoomoney/models/fee_moment.rbi +20 -0
  180. data/rbi/yoomoney/models/industry_details.rbi +48 -0
  181. data/rbi/yoomoney/models/invoice.rbi +266 -0
  182. data/rbi/yoomoney/models/invoice_create_params.rbi +309 -0
  183. data/rbi/yoomoney/models/invoice_retrieve_params.rbi +27 -0
  184. data/rbi/yoomoney/models/invoicing_bank_card_data.rbi +53 -0
  185. data/rbi/yoomoney/models/line_item.rbi +65 -0
  186. data/rbi/yoomoney/models/locale.rbi +19 -0
  187. data/rbi/yoomoney/models/mark_code_info.rbi +128 -0
  188. data/rbi/yoomoney/models/mark_quantity.rbi +30 -0
  189. data/rbi/yoomoney/models/me_retrieve_params.rbi +38 -0
  190. data/rbi/yoomoney/models/me_retrieve_response.rbi +342 -0
  191. data/rbi/yoomoney/models/monetary_amount.rbi +77 -0
  192. data/rbi/yoomoney/models/notification_event_type.rbi +42 -0
  193. data/rbi/yoomoney/models/operational_details.rbi +37 -0
  194. data/rbi/yoomoney/models/payment.rbi +1347 -0
  195. data/rbi/yoomoney/models/payment_cancel_params.rbi +35 -0
  196. data/rbi/yoomoney/models/payment_capture_params.rbi +96 -0
  197. data/rbi/yoomoney/models/payment_create_params.rbi +1258 -0
  198. data/rbi/yoomoney/models/payment_deal_info.rbi +84 -0
  199. data/rbi/yoomoney/models/payment_list_params.rbi +187 -0
  200. data/rbi/yoomoney/models/payment_list_response.rbi +59 -0
  201. data/rbi/yoomoney/models/payment_method.rbi +72 -0
  202. data/rbi/yoomoney/models/payment_method_create_params.rbi +372 -0
  203. data/rbi/yoomoney/models/payment_method_data.rbi +31 -0
  204. data/rbi/yoomoney/models/payment_method_retrieve_params.rbi +30 -0
  205. data/rbi/yoomoney/models/payment_method_status.rbi +23 -0
  206. data/rbi/yoomoney/models/payment_method_type.rbi +45 -0
  207. data/rbi/yoomoney/models/payment_methods_confirmation_type.rbi +24 -0
  208. data/rbi/yoomoney/models/payment_retrieve_params.rbi +27 -0
  209. data/rbi/yoomoney/models/payment_status.rbi +22 -0
  210. data/rbi/yoomoney/models/payout.rbi +452 -0
  211. data/rbi/yoomoney/models/payout_create_params.rbi +350 -0
  212. data/rbi/yoomoney/models/payout_deal_info.rbi +27 -0
  213. data/rbi/yoomoney/models/payout_destination.rbi +58 -0
  214. data/rbi/yoomoney/models/payout_destination_data.rbi +35 -0
  215. data/rbi/yoomoney/models/payout_destination_data_type.rbi +27 -0
  216. data/rbi/yoomoney/models/payout_list_params.rbi +215 -0
  217. data/rbi/yoomoney/models/payout_retrieve_params.rbi +27 -0
  218. data/rbi/yoomoney/models/payout_search_params.rbi +110 -0
  219. data/rbi/yoomoney/models/payout_status.rbi +20 -0
  220. data/rbi/yoomoney/models/payouts_list.rbi +56 -0
  221. data/rbi/yoomoney/models/personal_data.rbi +132 -0
  222. data/rbi/yoomoney/models/personal_data_create_params.rbi +93 -0
  223. data/rbi/yoomoney/models/personal_data_request.rbi +54 -0
  224. data/rbi/yoomoney/models/personal_data_retrieve_params.rbi +30 -0
  225. data/rbi/yoomoney/models/personal_data_type.rbi +26 -0
  226. data/rbi/yoomoney/models/receipt.rbi +442 -0
  227. data/rbi/yoomoney/models/receipt_create_params.rbi +471 -0
  228. data/rbi/yoomoney/models/receipt_data.rbi +279 -0
  229. data/rbi/yoomoney/models/receipt_data_customer.rbi +55 -0
  230. data/rbi/yoomoney/models/receipt_item_agent_type.rbi +38 -0
  231. data/rbi/yoomoney/models/receipt_item_measure.rbi +52 -0
  232. data/rbi/yoomoney/models/receipt_item_payment_mode.rbi +37 -0
  233. data/rbi/yoomoney/models/receipt_item_payment_subject.rbi +119 -0
  234. data/rbi/yoomoney/models/receipt_item_supplier.rbi +32 -0
  235. data/rbi/yoomoney/models/receipt_list_params.rbi +137 -0
  236. data/rbi/yoomoney/models/receipt_list_response.rbi +49 -0
  237. data/rbi/yoomoney/models/receipt_registration_status.rbi +28 -0
  238. data/rbi/yoomoney/models/receipt_retrieve_params.rbi +27 -0
  239. data/rbi/yoomoney/models/receipt_type.rbi +19 -0
  240. data/rbi/yoomoney/models/receiver.rbi +50 -0
  241. data/rbi/yoomoney/models/recipient.rbi +27 -0
  242. data/rbi/yoomoney/models/refund.rbi +477 -0
  243. data/rbi/yoomoney/models/refund_create_params.rbi +249 -0
  244. data/rbi/yoomoney/models/refund_list_params.rbi +128 -0
  245. data/rbi/yoomoney/models/refund_list_response.rbi +49 -0
  246. data/rbi/yoomoney/models/refund_method.rbi +29 -0
  247. data/rbi/yoomoney/models/refund_method_type.rbi +22 -0
  248. data/rbi/yoomoney/models/refund_retrieve_params.rbi +27 -0
  249. data/rbi/yoomoney/models/refund_sources_data.rbi +59 -0
  250. data/rbi/yoomoney/models/refund_status.rbi +20 -0
  251. data/rbi/yoomoney/models/safe_deal.rbi +151 -0
  252. data/rbi/yoomoney/models/save_payment_method_bank_card.rbi +160 -0
  253. data/rbi/yoomoney/models/sbp_bank_list_params.rbi +27 -0
  254. data/rbi/yoomoney/models/sbp_bank_list_response.rbi +82 -0
  255. data/rbi/yoomoney/models/settlement.rbi +42 -0
  256. data/rbi/yoomoney/models/settlement_item_type.rbi +21 -0
  257. data/rbi/yoomoney/models/transfer_data.rbi +61 -0
  258. data/rbi/yoomoney/models/webhook.rbi +51 -0
  259. data/rbi/yoomoney/models/webhook_create_params.rbi +57 -0
  260. data/rbi/yoomoney/models/webhook_delete_params.rbi +27 -0
  261. data/rbi/yoomoney/models/webhook_delete_response.rbi +8 -0
  262. data/rbi/yoomoney/models/webhook_list_params.rbi +27 -0
  263. data/rbi/yoomoney/models/webhook_list_response.rbi +36 -0
  264. data/rbi/yoomoney/models.rbi +195 -0
  265. data/rbi/yoomoney/request_options.rbi +59 -0
  266. data/rbi/yoomoney/resources/deals.rbi +75 -0
  267. data/rbi/yoomoney/resources/invoices.rbi +63 -0
  268. data/rbi/yoomoney/resources/me.rbi +22 -0
  269. data/rbi/yoomoney/resources/payment_methods.rbi +51 -0
  270. data/rbi/yoomoney/resources/payments.rbi +186 -0
  271. data/rbi/yoomoney/resources/payouts.rbi +104 -0
  272. data/rbi/yoomoney/resources/personal_data.rbi +55 -0
  273. data/rbi/yoomoney/resources/receipts.rbi +102 -0
  274. data/rbi/yoomoney/resources/refunds.rbi +86 -0
  275. data/rbi/yoomoney/resources/sbp_banks.rbi +21 -0
  276. data/rbi/yoomoney/resources/webhooks.rbi +51 -0
  277. data/rbi/yoomoney/version.rbi +5 -0
  278. data/sig/yoomoney/client.rbs +47 -0
  279. data/sig/yoomoney/errors.rbs +117 -0
  280. data/sig/yoomoney/file_part.rbs +21 -0
  281. data/sig/yoomoney/internal/transport/base_client.rbs +131 -0
  282. data/sig/yoomoney/internal/transport/pooled_net_requester.rbs +48 -0
  283. data/sig/yoomoney/internal/type/array_of.rbs +48 -0
  284. data/sig/yoomoney/internal/type/base_model.rbs +102 -0
  285. data/sig/yoomoney/internal/type/base_page.rbs +24 -0
  286. data/sig/yoomoney/internal/type/boolean.rbs +26 -0
  287. data/sig/yoomoney/internal/type/converter.rbs +79 -0
  288. data/sig/yoomoney/internal/type/enum.rbs +32 -0
  289. data/sig/yoomoney/internal/type/file_input.rbs +25 -0
  290. data/sig/yoomoney/internal/type/hash_of.rbs +48 -0
  291. data/sig/yoomoney/internal/type/request_parameters.rbs +17 -0
  292. data/sig/yoomoney/internal/type/union.rbs +52 -0
  293. data/sig/yoomoney/internal/type/unknown.rbs +26 -0
  294. data/sig/yoomoney/internal/util.rbs +185 -0
  295. data/sig/yoomoney/internal.rbs +9 -0
  296. data/sig/yoomoney/models/airline.rbs +93 -0
  297. data/sig/yoomoney/models/b2b_sberbank_calculated_vat_data.rbs +20 -0
  298. data/sig/yoomoney/models/b2b_sberbank_mixed_vat_data.rbs +15 -0
  299. data/sig/yoomoney/models/b2b_sberbank_untaxed_vat_data.rbs +30 -0
  300. data/sig/yoomoney/models/b2b_sberbank_vat_data.rbs +28 -0
  301. data/sig/yoomoney/models/bank_card_data.rbs +100 -0
  302. data/sig/yoomoney/models/bank_card_type.rbs +42 -0
  303. data/sig/yoomoney/models/card_request_data_with_csc.rbs +44 -0
  304. data/sig/yoomoney/models/confirmation.rbs +27 -0
  305. data/sig/yoomoney/models/confirmation_data.rbs +41 -0
  306. data/sig/yoomoney/models/deal_create_params.rbs +50 -0
  307. data/sig/yoomoney/models/deal_list_params.rbs +128 -0
  308. data/sig/yoomoney/models/deal_list_response.rbs +28 -0
  309. data/sig/yoomoney/models/deal_retrieve_params.rbs +15 -0
  310. data/sig/yoomoney/models/deal_type.rbs +13 -0
  311. data/sig/yoomoney/models/delivery_method.rbs +13 -0
  312. data/sig/yoomoney/models/delivery_method_data.rbs +13 -0
  313. data/sig/yoomoney/models/electronic_certificate_refund_article.rbs +35 -0
  314. data/sig/yoomoney/models/fee_moment.rbs +14 -0
  315. data/sig/yoomoney/models/industry_details.rbs +35 -0
  316. data/sig/yoomoney/models/invoice.rbs +141 -0
  317. data/sig/yoomoney/models/invoice_create_params.rbs +167 -0
  318. data/sig/yoomoney/models/invoice_retrieve_params.rbs +15 -0
  319. data/sig/yoomoney/models/invoicing_bank_card_data.rbs +40 -0
  320. data/sig/yoomoney/models/line_item.rbs +39 -0
  321. data/sig/yoomoney/models/locale.rbs +14 -0
  322. data/sig/yoomoney/models/mark_code_info.rbs +92 -0
  323. data/sig/yoomoney/models/mark_quantity.rbs +15 -0
  324. data/sig/yoomoney/models/me_retrieve_params.rbs +25 -0
  325. data/sig/yoomoney/models/me_retrieve_response.rbs +158 -0
  326. data/sig/yoomoney/models/monetary_amount.rbs +55 -0
  327. data/sig/yoomoney/models/notification_event_type.rbs +20 -0
  328. data/sig/yoomoney/models/operational_details.rbs +22 -0
  329. data/sig/yoomoney/models/payment.rbs +696 -0
  330. data/sig/yoomoney/models/payment_cancel_params.rbs +23 -0
  331. data/sig/yoomoney/models/payment_capture_params.rbs +63 -0
  332. data/sig/yoomoney/models/payment_create_params.rbs +571 -0
  333. data/sig/yoomoney/models/payment_deal_info.rbs +47 -0
  334. data/sig/yoomoney/models/payment_list_params.rbs +119 -0
  335. data/sig/yoomoney/models/payment_list_response.rbs +28 -0
  336. data/sig/yoomoney/models/payment_method.rbs +42 -0
  337. data/sig/yoomoney/models/payment_method_create_params.rbs +200 -0
  338. data/sig/yoomoney/models/payment_method_data.rbs +13 -0
  339. data/sig/yoomoney/models/payment_method_retrieve_params.rbs +15 -0
  340. data/sig/yoomoney/models/payment_method_status.rbs +15 -0
  341. data/sig/yoomoney/models/payment_method_type.rbs +48 -0
  342. data/sig/yoomoney/models/payment_methods_confirmation_type.rbs +13 -0
  343. data/sig/yoomoney/models/payment_retrieve_params.rbs +15 -0
  344. data/sig/yoomoney/models/payment_status.rbs +17 -0
  345. data/sig/yoomoney/models/payout.rbs +259 -0
  346. data/sig/yoomoney/models/payout_create_params.rbs +164 -0
  347. data/sig/yoomoney/models/payout_deal_info.rbs +13 -0
  348. data/sig/yoomoney/models/payout_destination.rbs +26 -0
  349. data/sig/yoomoney/models/payout_destination_data.rbs +16 -0
  350. data/sig/yoomoney/models/payout_destination_data_type.rbs +15 -0
  351. data/sig/yoomoney/models/payout_list_params.rbs +117 -0
  352. data/sig/yoomoney/models/payout_retrieve_params.rbs +15 -0
  353. data/sig/yoomoney/models/payout_search_params.rbs +68 -0
  354. data/sig/yoomoney/models/payout_status.rbs +15 -0
  355. data/sig/yoomoney/models/payouts_list.rbs +28 -0
  356. data/sig/yoomoney/models/personal_data.rbs +70 -0
  357. data/sig/yoomoney/models/personal_data_create_params.rbs +55 -0
  358. data/sig/yoomoney/models/personal_data_request.rbs +27 -0
  359. data/sig/yoomoney/models/personal_data_retrieve_params.rbs +15 -0
  360. data/sig/yoomoney/models/personal_data_type.rbs +15 -0
  361. data/sig/yoomoney/models/receipt.rbs +293 -0
  362. data/sig/yoomoney/models/receipt_create_params.rbs +293 -0
  363. data/sig/yoomoney/models/receipt_data.rbs +192 -0
  364. data/sig/yoomoney/models/receipt_data_customer.rbs +38 -0
  365. data/sig/yoomoney/models/receipt_item_agent_type.rbs +26 -0
  366. data/sig/yoomoney/models/receipt_item_measure.rbs +60 -0
  367. data/sig/yoomoney/models/receipt_item_payment_mode.rbs +26 -0
  368. data/sig/yoomoney/models/receipt_item_payment_subject.rbs +78 -0
  369. data/sig/yoomoney/models/receipt_item_supplier.rbs +19 -0
  370. data/sig/yoomoney/models/receipt_list_params.rbs +91 -0
  371. data/sig/yoomoney/models/receipt_list_response.rbs +28 -0
  372. data/sig/yoomoney/models/receipt_registration_status.rbs +15 -0
  373. data/sig/yoomoney/models/receipt_retrieve_params.rbs +15 -0
  374. data/sig/yoomoney/models/receipt_type.rbs +14 -0
  375. data/sig/yoomoney/models/receiver.rbs +25 -0
  376. data/sig/yoomoney/models/recipient.rbs +13 -0
  377. data/sig/yoomoney/models/refund.rbs +245 -0
  378. data/sig/yoomoney/models/refund_create_params.rbs +133 -0
  379. data/sig/yoomoney/models/refund_list_params.rbs +84 -0
  380. data/sig/yoomoney/models/refund_list_response.rbs +28 -0
  381. data/sig/yoomoney/models/refund_method.rbs +13 -0
  382. data/sig/yoomoney/models/refund_method_type.rbs +14 -0
  383. data/sig/yoomoney/models/refund_retrieve_params.rbs +15 -0
  384. data/sig/yoomoney/models/refund_sources_data.rbs +34 -0
  385. data/sig/yoomoney/models/refund_status.rbs +15 -0
  386. data/sig/yoomoney/models/safe_deal.rbs +85 -0
  387. data/sig/yoomoney/models/save_payment_method_bank_card.rbs +97 -0
  388. data/sig/yoomoney/models/sbp_bank_list_params.rbs +15 -0
  389. data/sig/yoomoney/models/sbp_bank_list_response.rbs +39 -0
  390. data/sig/yoomoney/models/settlement.rbs +15 -0
  391. data/sig/yoomoney/models/settlement_item_type.rbs +13 -0
  392. data/sig/yoomoney/models/transfer_data.rbs +34 -0
  393. data/sig/yoomoney/models/webhook.rbs +30 -0
  394. data/sig/yoomoney/models/webhook_create_params.rbs +36 -0
  395. data/sig/yoomoney/models/webhook_delete_params.rbs +15 -0
  396. data/sig/yoomoney/models/webhook_delete_response.rbs +5 -0
  397. data/sig/yoomoney/models/webhook_list_params.rbs +15 -0
  398. data/sig/yoomoney/models/webhook_list_response.rbs +16 -0
  399. data/sig/yoomoney/models.rbs +191 -0
  400. data/sig/yoomoney/request_options.rbs +34 -0
  401. data/sig/yoomoney/resources/deals.rbs +31 -0
  402. data/sig/yoomoney/resources/invoices.rbs +23 -0
  403. data/sig/yoomoney/resources/me.rbs +12 -0
  404. data/sig/yoomoney/resources/payment_methods.rbs +21 -0
  405. data/sig/yoomoney/resources/payments.rbs +63 -0
  406. data/sig/yoomoney/resources/payouts.rbs +41 -0
  407. data/sig/yoomoney/resources/personal_data.rbs +22 -0
  408. data/sig/yoomoney/resources/receipts.rbs +41 -0
  409. data/sig/yoomoney/resources/refunds.rbs +34 -0
  410. data/sig/yoomoney/resources/sbp_banks.rbs +11 -0
  411. data/sig/yoomoney/resources/webhooks.rbs +23 -0
  412. data/sig/yoomoney/version.rbs +3 -0
  413. metadata +484 -0
@@ -0,0 +1,231 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Yoomoney
4
+ [Yoomoney::Internal::Type::BaseModel, *Yoomoney::Internal::Type::BaseModel.subclasses].each do |cls|
5
+ cls.define_sorbet_constant!(:OrHash) { T.type_alias { T.any(cls, Yoomoney::Internal::AnyHash) } }
6
+ end
7
+
8
+ Yoomoney::Internal::Util.walk_namespaces(Yoomoney::Models).each do |mod|
9
+ case mod
10
+ in Yoomoney::Internal::Type::Enum | Yoomoney::Internal::Type::Union
11
+ mod.constants.each do |name|
12
+ case mod.const_get(name)
13
+ in true | false
14
+ mod.define_sorbet_constant!(:TaggedBoolean) { T.type_alias { T::Boolean } }
15
+ mod.define_sorbet_constant!(:OrBoolean) { T.type_alias { T::Boolean } }
16
+ in Integer
17
+ mod.define_sorbet_constant!(:TaggedInteger) { T.type_alias { Integer } }
18
+ mod.define_sorbet_constant!(:OrInteger) { T.type_alias { Integer } }
19
+ in Float
20
+ mod.define_sorbet_constant!(:TaggedFloat) { T.type_alias { Float } }
21
+ mod.define_sorbet_constant!(:OrFloat) { T.type_alias { Float } }
22
+ in Symbol
23
+ mod.define_sorbet_constant!(:TaggedSymbol) { T.type_alias { Symbol } }
24
+ mod.define_sorbet_constant!(:OrSymbol) { T.type_alias { T.any(Symbol, String) } }
25
+ else
26
+ end
27
+ end
28
+ else
29
+ end
30
+ end
31
+
32
+ Yoomoney::Internal::Util.walk_namespaces(Yoomoney::Models)
33
+ .lazy
34
+ .grep(Yoomoney::Internal::Type::Union)
35
+ .each do |mod|
36
+ const = :Variants
37
+ next if mod.sorbet_constant_defined?(const)
38
+
39
+ mod.define_sorbet_constant!(const) { T.type_alias { mod.to_sorbet_type } }
40
+ end
41
+
42
+ Airline = Yoomoney::Models::Airline
43
+
44
+ B2bSberbankCalculatedVatData = Yoomoney::Models::B2bSberbankCalculatedVatData
45
+
46
+ B2bSberbankMixedVatData = Yoomoney::Models::B2bSberbankMixedVatData
47
+
48
+ B2bSberbankUntaxedVatData = Yoomoney::Models::B2bSberbankUntaxedVatData
49
+
50
+ B2bSberbankVatData = Yoomoney::Models::B2bSberbankVatData
51
+
52
+ BankCardData = Yoomoney::Models::BankCardData
53
+
54
+ BankCardType = Yoomoney::Models::BankCardType
55
+
56
+ CardRequestDataWithCsc = Yoomoney::Models::CardRequestDataWithCsc
57
+
58
+ Confirmation = Yoomoney::Models::Confirmation
59
+
60
+ ConfirmationData = Yoomoney::Models::ConfirmationData
61
+
62
+ DealCreateParams = Yoomoney::Models::DealCreateParams
63
+
64
+ DealListParams = Yoomoney::Models::DealListParams
65
+
66
+ DealRetrieveParams = Yoomoney::Models::DealRetrieveParams
67
+
68
+ DealType = Yoomoney::Models::DealType
69
+
70
+ DeliveryMethod = Yoomoney::Models::DeliveryMethod
71
+
72
+ DeliveryMethodData = Yoomoney::Models::DeliveryMethodData
73
+
74
+ ElectronicCertificateRefundArticle = Yoomoney::Models::ElectronicCertificateRefundArticle
75
+
76
+ FeeMoment = Yoomoney::Models::FeeMoment
77
+
78
+ IndustryDetails = Yoomoney::Models::IndustryDetails
79
+
80
+ Invoice = Yoomoney::Models::Invoice
81
+
82
+ InvoiceCreateParams = Yoomoney::Models::InvoiceCreateParams
83
+
84
+ InvoiceRetrieveParams = Yoomoney::Models::InvoiceRetrieveParams
85
+
86
+ InvoicingBankCardData = Yoomoney::Models::InvoicingBankCardData
87
+
88
+ LineItem = Yoomoney::Models::LineItem
89
+
90
+ Locale = Yoomoney::Models::Locale
91
+
92
+ MarkCodeInfo = Yoomoney::Models::MarkCodeInfo
93
+
94
+ MarkQuantity = Yoomoney::Models::MarkQuantity
95
+
96
+ MeRetrieveParams = Yoomoney::Models::MeRetrieveParams
97
+
98
+ MonetaryAmount = Yoomoney::Models::MonetaryAmount
99
+
100
+ NotificationEventType = Yoomoney::Models::NotificationEventType
101
+
102
+ OperationalDetails = Yoomoney::Models::OperationalDetails
103
+
104
+ Payment = Yoomoney::Models::Payment
105
+
106
+ PaymentCancelParams = Yoomoney::Models::PaymentCancelParams
107
+
108
+ PaymentCaptureParams = Yoomoney::Models::PaymentCaptureParams
109
+
110
+ PaymentCreateParams = Yoomoney::Models::PaymentCreateParams
111
+
112
+ PaymentDealInfo = Yoomoney::Models::PaymentDealInfo
113
+
114
+ PaymentListParams = Yoomoney::Models::PaymentListParams
115
+
116
+ PaymentMethod = Yoomoney::Models::PaymentMethod
117
+
118
+ PaymentMethodCreateParams = Yoomoney::Models::PaymentMethodCreateParams
119
+
120
+ PaymentMethodData = Yoomoney::Models::PaymentMethodData
121
+
122
+ PaymentMethodRetrieveParams = Yoomoney::Models::PaymentMethodRetrieveParams
123
+
124
+ PaymentMethodsConfirmationType = Yoomoney::Models::PaymentMethodsConfirmationType
125
+
126
+ PaymentMethodStatus = Yoomoney::Models::PaymentMethodStatus
127
+
128
+ PaymentMethodType = Yoomoney::Models::PaymentMethodType
129
+
130
+ PaymentRetrieveParams = Yoomoney::Models::PaymentRetrieveParams
131
+
132
+ PaymentStatus = Yoomoney::Models::PaymentStatus
133
+
134
+ Payout = Yoomoney::Models::Payout
135
+
136
+ PayoutCreateParams = Yoomoney::Models::PayoutCreateParams
137
+
138
+ PayoutDealInfo = Yoomoney::Models::PayoutDealInfo
139
+
140
+ PayoutDestination = Yoomoney::Models::PayoutDestination
141
+
142
+ PayoutDestinationData = Yoomoney::Models::PayoutDestinationData
143
+
144
+ PayoutDestinationDataType = Yoomoney::Models::PayoutDestinationDataType
145
+
146
+ PayoutListParams = Yoomoney::Models::PayoutListParams
147
+
148
+ PayoutRetrieveParams = Yoomoney::Models::PayoutRetrieveParams
149
+
150
+ PayoutSearchParams = Yoomoney::Models::PayoutSearchParams
151
+
152
+ PayoutsList = Yoomoney::Models::PayoutsList
153
+
154
+ PayoutStatus = Yoomoney::Models::PayoutStatus
155
+
156
+ PersonalDataAPI = Yoomoney::Models::PersonalDataAPI
157
+
158
+ PersonalDataCreateParams = Yoomoney::Models::PersonalDataCreateParams
159
+
160
+ PersonalDataRequest = Yoomoney::Models::PersonalDataRequest
161
+
162
+ PersonalDataRetrieveParams = Yoomoney::Models::PersonalDataRetrieveParams
163
+
164
+ PersonalDataType = Yoomoney::Models::PersonalDataType
165
+
166
+ Receipt = Yoomoney::Models::Receipt
167
+
168
+ ReceiptCreateParams = Yoomoney::Models::ReceiptCreateParams
169
+
170
+ ReceiptData = Yoomoney::Models::ReceiptData
171
+
172
+ ReceiptDataCustomer = Yoomoney::Models::ReceiptDataCustomer
173
+
174
+ ReceiptItemAgentType = Yoomoney::Models::ReceiptItemAgentType
175
+
176
+ ReceiptItemMeasure = Yoomoney::Models::ReceiptItemMeasure
177
+
178
+ ReceiptItemPaymentMode = Yoomoney::Models::ReceiptItemPaymentMode
179
+
180
+ ReceiptItemPaymentSubject = Yoomoney::Models::ReceiptItemPaymentSubject
181
+
182
+ ReceiptItemSupplier = Yoomoney::Models::ReceiptItemSupplier
183
+
184
+ ReceiptListParams = Yoomoney::Models::ReceiptListParams
185
+
186
+ ReceiptRegistrationStatus = Yoomoney::Models::ReceiptRegistrationStatus
187
+
188
+ ReceiptRetrieveParams = Yoomoney::Models::ReceiptRetrieveParams
189
+
190
+ ReceiptType = Yoomoney::Models::ReceiptType
191
+
192
+ Receiver = Yoomoney::Models::Receiver
193
+
194
+ Recipient = Yoomoney::Models::Recipient
195
+
196
+ Refund = Yoomoney::Models::Refund
197
+
198
+ RefundCreateParams = Yoomoney::Models::RefundCreateParams
199
+
200
+ RefundListParams = Yoomoney::Models::RefundListParams
201
+
202
+ RefundMethod = Yoomoney::Models::RefundMethod
203
+
204
+ RefundMethodType = Yoomoney::Models::RefundMethodType
205
+
206
+ RefundRetrieveParams = Yoomoney::Models::RefundRetrieveParams
207
+
208
+ RefundSourcesData = Yoomoney::Models::RefundSourcesData
209
+
210
+ RefundStatus = Yoomoney::Models::RefundStatus
211
+
212
+ SafeDeal = Yoomoney::Models::SafeDeal
213
+
214
+ SavePaymentMethodBankCard = Yoomoney::Models::SavePaymentMethodBankCard
215
+
216
+ SbpBankListParams = Yoomoney::Models::SbpBankListParams
217
+
218
+ Settlement = Yoomoney::Models::Settlement
219
+
220
+ SettlementItemType = Yoomoney::Models::SettlementItemType
221
+
222
+ TransferData = Yoomoney::Models::TransferData
223
+
224
+ Webhook = Yoomoney::Models::Webhook
225
+
226
+ WebhookCreateParams = Yoomoney::Models::WebhookCreateParams
227
+
228
+ WebhookDeleteParams = Yoomoney::Models::WebhookDeleteParams
229
+
230
+ WebhookListParams = Yoomoney::Models::WebhookListParams
231
+ end
@@ -0,0 +1,77 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Yoomoney
4
+ # Specify HTTP behaviour to use for a specific request. These options supplement
5
+ # or override those provided at the client level.
6
+ #
7
+ # When making a request, you can pass an actual {RequestOptions} instance, or
8
+ # simply pass a Hash with symbol keys matching the attributes on this class.
9
+ class RequestOptions < Yoomoney::Internal::Type::BaseModel
10
+ # @api private
11
+ #
12
+ # @param opts [Yoomoney::RequestOptions, Hash{Symbol=>Object}]
13
+ #
14
+ # @raise [ArgumentError]
15
+ def self.validate!(opts)
16
+ case opts
17
+ in Yoomoney::RequestOptions | Hash
18
+ opts.to_h.each_key do |k|
19
+ unless fields.include?(k)
20
+ raise ArgumentError.new("Request `opts` keys must be one of #{fields.keys}, got #{k.inspect}")
21
+ end
22
+ end
23
+ else
24
+ raise ArgumentError.new("Request `opts` must be a Hash or RequestOptions, got #{opts.inspect}")
25
+ end
26
+ end
27
+
28
+ # @!attribute idempotency_key
29
+ # Idempotency key to send with request and all associated retries. Will only be
30
+ # sent for write requests.
31
+ #
32
+ # @return [String, nil]
33
+ optional :idempotency_key, String
34
+
35
+ # @!attribute extra_query
36
+ # Extra query params to send with the request. These are `.merge`’d into any
37
+ # `query` given at the client level.
38
+ #
39
+ # @return [Hash{String=>Array<String>, String, nil}, nil]
40
+ optional :extra_query, Yoomoney::Internal::Type::HashOf[Yoomoney::Internal::Type::ArrayOf[String]]
41
+
42
+ # @!attribute extra_headers
43
+ # Extra headers to send with the request. These are `.merged`’d into any
44
+ # `extra_headers` given at the client level.
45
+ #
46
+ # @return [Hash{String=>String, nil}, nil]
47
+ optional :extra_headers, Yoomoney::Internal::Type::HashOf[String, nil?: true]
48
+
49
+ # @!attribute extra_body
50
+ # Extra data to send with the request. These are deep merged into any data
51
+ # generated as part of the normal request.
52
+ #
53
+ # @return [Object, nil]
54
+ optional :extra_body, Yoomoney::Internal::Type::HashOf[Yoomoney::Internal::Type::Unknown]
55
+
56
+ # @!attribute max_retries
57
+ # Maximum number of retries to attempt after a failed initial request.
58
+ #
59
+ # @return [Integer, nil]
60
+ optional :max_retries, Integer
61
+
62
+ # @!attribute timeout
63
+ # Request timeout in seconds.
64
+ #
65
+ # @return [Float, nil]
66
+ optional :timeout, Float
67
+
68
+ # @!method initialize(values = {})
69
+ # Returns a new instance of RequestOptions.
70
+ #
71
+ # @param values [Hash{Symbol=>Object}]
72
+
73
+ define_sorbet_constant!(:OrHash) do
74
+ T.type_alias { T.any(Yoomoney::RequestOptions, Yoomoney::Internal::AnyHash) }
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Yoomoney
4
+ module Resources
5
+ class Deals
6
+ # Some parameter documentations has been truncated, see
7
+ # {Yoomoney::Models::DealCreateParams} for more details.
8
+ #
9
+ # Создание сделки
10
+ #
11
+ # @overload create(fee_moment:, type:, idempotence_key:, description: nil, metadata: nil, request_options: {})
12
+ #
13
+ # @param fee_moment [Symbol, Yoomoney::Models::FeeMoment] Body param: Момент удержания вознаграждения.
14
+ #
15
+ # @param type [Symbol, Yoomoney::Models::DealType] Body param: Тип сделки.
16
+ #
17
+ # @param idempotence_key [String] Header param
18
+ #
19
+ # @param description [String] Body param: Описание сделки.
20
+ #
21
+ # @param metadata [Hash{Symbol=>String}] Body param: Любые дополнительные данные, которые нужны вам для работы (например,
22
+ #
23
+ # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}, nil]
24
+ #
25
+ # @return [Yoomoney::Models::SafeDeal]
26
+ #
27
+ # @see Yoomoney::Models::DealCreateParams
28
+ def create(params)
29
+ parsed, options = Yoomoney::DealCreateParams.dump_request(params)
30
+ header_params = {idempotence_key: "idempotence-key"}
31
+ @client.request(
32
+ method: :post,
33
+ path: "deals",
34
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
35
+ body: parsed.except(*header_params.keys),
36
+ model: Yoomoney::SafeDeal,
37
+ options: options
38
+ )
39
+ end
40
+
41
+ # Информация о сделке
42
+ #
43
+ # @overload retrieve(deal_id, request_options: {})
44
+ #
45
+ # @param deal_id [String]
46
+ # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}, nil]
47
+ #
48
+ # @return [Yoomoney::Models::SafeDeal]
49
+ #
50
+ # @see Yoomoney::Models::DealRetrieveParams
51
+ def retrieve(deal_id, params = {})
52
+ @client.request(
53
+ method: :get,
54
+ path: ["deals/%1$s", deal_id],
55
+ model: Yoomoney::SafeDeal,
56
+ options: params[:request_options]
57
+ )
58
+ end
59
+
60
+ # Список сделок
61
+ #
62
+ # @overload list(created_at: nil, cursor: nil, expires_at: nil, full_text_search: nil, limit: nil, status: nil, request_options: {})
63
+ #
64
+ # @param created_at [Yoomoney::Models::DealListParams::CreatedAt]
65
+ # @param cursor [String]
66
+ # @param expires_at [Yoomoney::Models::DealListParams::ExpiresAt]
67
+ # @param full_text_search [String]
68
+ # @param limit [Integer]
69
+ # @param status [Symbol, Yoomoney::Models::DealListParams::Status]
70
+ # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}, nil]
71
+ #
72
+ # @return [Yoomoney::Models::DealListResponse]
73
+ #
74
+ # @see Yoomoney::Models::DealListParams
75
+ def list(params = {})
76
+ parsed, options = Yoomoney::DealListParams.dump_request(params)
77
+ @client.request(
78
+ method: :get,
79
+ path: "deals",
80
+ query: parsed,
81
+ model: Yoomoney::Models::DealListResponse,
82
+ options: options
83
+ )
84
+ end
85
+
86
+ # @api private
87
+ #
88
+ # @param client [Yoomoney::Client]
89
+ def initialize(client:)
90
+ @client = client
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,72 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Yoomoney
4
+ module Resources
5
+ class Invoices
6
+ # Some parameter documentations has been truncated, see
7
+ # {Yoomoney::Models::InvoiceCreateParams} for more details.
8
+ #
9
+ # Создание счета
10
+ #
11
+ # @overload create(cart:, delivery_method:, idempotence_key:, description: nil, expires_at: nil, metadata: nil, payment_data: nil, request_options: {})
12
+ #
13
+ # @param cart [Array<Yoomoney::Models::LineItem>] Body param: Корзина заказа — список товаров или услуг.
14
+ #
15
+ # @param delivery_method [Yoomoney::Models::DeliveryMethodData, Yoomoney::Models::InvoiceCreateParams::DeliveryMethod::DeliveryMethodDataSMS, Yoomoney::Models::InvoiceCreateParams::DeliveryMethod::DeliveryMethodDataEmail] Body param: Способ доставки ссылки на счет.
16
+ #
17
+ # @param idempotence_key [String] Header param
18
+ #
19
+ # @param description [String] Body param: Описание заказа.
20
+ #
21
+ # @param expires_at [Time] Body param: Срок действия счета.
22
+ #
23
+ # @param metadata [Hash{Symbol=>String}] Body param: Любые дополнительные данные, которые нужны вам для работы (например,
24
+ #
25
+ # @param payment_data [Yoomoney::Models::InvoiceCreateParams::PaymentData] Body param: Данные платежа.
26
+ #
27
+ # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}, nil]
28
+ #
29
+ # @return [Yoomoney::Models::Invoice]
30
+ #
31
+ # @see Yoomoney::Models::InvoiceCreateParams
32
+ def create(params)
33
+ parsed, options = Yoomoney::InvoiceCreateParams.dump_request(params)
34
+ header_params = {idempotence_key: "idempotence-key"}
35
+ @client.request(
36
+ method: :post,
37
+ path: "invoices",
38
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
39
+ body: parsed.except(*header_params.keys),
40
+ model: Yoomoney::Invoice,
41
+ options: options
42
+ )
43
+ end
44
+
45
+ # Информация о счете
46
+ #
47
+ # @overload retrieve(invoice_id, request_options: {})
48
+ #
49
+ # @param invoice_id [String]
50
+ # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}, nil]
51
+ #
52
+ # @return [Yoomoney::Models::Invoice]
53
+ #
54
+ # @see Yoomoney::Models::InvoiceRetrieveParams
55
+ def retrieve(invoice_id, params = {})
56
+ @client.request(
57
+ method: :get,
58
+ path: ["invoices/%1$s", invoice_id],
59
+ model: Yoomoney::Invoice,
60
+ options: params[:request_options]
61
+ )
62
+ end
63
+
64
+ # @api private
65
+ #
66
+ # @param client [Yoomoney::Client]
67
+ def initialize(client:)
68
+ @client = client
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Yoomoney
4
+ module Resources
5
+ class Me
6
+ # Получение настроек магазина или шлюза
7
+ #
8
+ # @overload retrieve(on_behalf_of: nil, request_options: {})
9
+ #
10
+ # @param on_behalf_of [String]
11
+ # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}, nil]
12
+ #
13
+ # @return [Yoomoney::Models::MeRetrieveResponse]
14
+ #
15
+ # @see Yoomoney::Models::MeRetrieveParams
16
+ def retrieve(params = {})
17
+ parsed, options = Yoomoney::MeRetrieveParams.dump_request(params)
18
+ @client.request(
19
+ method: :get,
20
+ path: "me",
21
+ query: parsed,
22
+ model: Yoomoney::Models::MeRetrieveResponse,
23
+ options: options
24
+ )
25
+ end
26
+
27
+ # @api private
28
+ #
29
+ # @param client [Yoomoney::Client]
30
+ def initialize(client:)
31
+ @client = client
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Yoomoney
4
+ module Resources
5
+ class PaymentMethods
6
+ # Some parameter documentations has been truncated, see
7
+ # {Yoomoney::Models::PaymentMethodCreateParams} for more details.
8
+ #
9
+ # Создание способа оплаты
10
+ #
11
+ # @overload create(payment_method_data:, type:, idempotence_key:, payment_data: nil, receipt: nil, request_options: {})
12
+ #
13
+ # @param payment_method_data [Yoomoney::Models::PaymentMethodCreateParams::PaymentMethodData] Body param: Данные для проверки и сохранения способа оплаты.
14
+ #
15
+ # @param type [Symbol, Yoomoney::Models::PaymentMethodCreateParams::Type] Body param: Тип способа оплаты.
16
+ #
17
+ # @param idempotence_key [String] Header param
18
+ #
19
+ # @param payment_data [Yoomoney::Models::PaymentMethodCreateParams::PaymentData] Body param: Данные платежа, который будет создан после сохранения способа оплаты
20
+ #
21
+ # @param receipt [Yoomoney::Models::ReceiptData] Body param: Данные для формирования чека.
22
+ #
23
+ # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}, nil]
24
+ #
25
+ # @return [Yoomoney::Models::SavePaymentMethodBankCard]
26
+ #
27
+ # @see Yoomoney::Models::PaymentMethodCreateParams
28
+ def create(params)
29
+ parsed, options = Yoomoney::PaymentMethodCreateParams.dump_request(params)
30
+ header_params = {idempotence_key: "idempotence-key"}
31
+ @client.request(
32
+ method: :post,
33
+ path: "payment_methods",
34
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
35
+ body: parsed.except(*header_params.keys),
36
+ model: Yoomoney::SavePaymentMethodBankCard,
37
+ options: options
38
+ )
39
+ end
40
+
41
+ # Информация о способе оплаты
42
+ #
43
+ # @overload retrieve(payment_method_id, request_options: {})
44
+ #
45
+ # @param payment_method_id [String]
46
+ # @param request_options [Yoomoney::RequestOptions, Hash{Symbol=>Object}, nil]
47
+ #
48
+ # @return [Yoomoney::Models::SavePaymentMethodBankCard]
49
+ #
50
+ # @see Yoomoney::Models::PaymentMethodRetrieveParams
51
+ def retrieve(payment_method_id, params = {})
52
+ @client.request(
53
+ method: :get,
54
+ path: ["payment_methods/%1$s", payment_method_id],
55
+ model: Yoomoney::SavePaymentMethodBankCard,
56
+ options: params[:request_options]
57
+ )
58
+ end
59
+
60
+ # @api private
61
+ #
62
+ # @param client [Yoomoney::Client]
63
+ def initialize(client:)
64
+ @client = client
65
+ end
66
+ end
67
+ end
68
+ end