@vality/swag-payments 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 (579) hide show
  1. package/README.md +24 -0
  2. package/esm2020/lib/api/api.mjs +32 -0
  3. package/esm2020/lib/api/categories.service.mjs +212 -0
  4. package/esm2020/lib/api/contracts.service.mjs +592 -0
  5. package/esm2020/lib/api/countries.service.mjs +212 -0
  6. package/esm2020/lib/api/customers.service.mjs +675 -0
  7. package/esm2020/lib/api/invoice-templates.service.mjs +491 -0
  8. package/esm2020/lib/api/invoices.service.mjs +698 -0
  9. package/esm2020/lib/api/parties.service.mjs +444 -0
  10. package/esm2020/lib/api/payment-institutions.service.mjs +622 -0
  11. package/esm2020/lib/api/payments.service.mjs +1056 -0
  12. package/esm2020/lib/api/payouts.service.mjs +541 -0
  13. package/esm2020/lib/api/search.service.mjs +616 -0
  14. package/esm2020/lib/api/shops.service.mjs +584 -0
  15. package/esm2020/lib/api/tokens.service.mjs +165 -0
  16. package/esm2020/lib/api/trade-blocs.service.mjs +212 -0
  17. package/esm2020/lib/api/webhooks.service.mjs +401 -0
  18. package/esm2020/lib/api.module.mjs +40 -0
  19. package/esm2020/lib/configuration.mjs +102 -0
  20. package/esm2020/lib/encoder.mjs +19 -0
  21. package/esm2020/lib/index.mjs +7 -0
  22. package/esm2020/lib/model/access-token.mjs +13 -0
  23. package/esm2020/lib/model/allocation-body-amount-all-of.mjs +13 -0
  24. package/esm2020/lib/model/allocation-body-amount.mjs +2 -0
  25. package/esm2020/lib/model/allocation-body-total-all-of.mjs +2 -0
  26. package/esm2020/lib/model/allocation-body-total.mjs +2 -0
  27. package/esm2020/lib/model/allocation-fee-fixed-all-of.mjs +13 -0
  28. package/esm2020/lib/model/allocation-fee-fixed.mjs +2 -0
  29. package/esm2020/lib/model/allocation-fee-share-all-of.mjs +2 -0
  30. package/esm2020/lib/model/allocation-fee-share.mjs +2 -0
  31. package/esm2020/lib/model/allocation-fee-target.mjs +18 -0
  32. package/esm2020/lib/model/allocation-fee.mjs +8 -0
  33. package/esm2020/lib/model/allocation-target-shop-all-of.mjs +13 -0
  34. package/esm2020/lib/model/allocation-target-shop.mjs +2 -0
  35. package/esm2020/lib/model/allocation-target.mjs +18 -0
  36. package/esm2020/lib/model/allocation-transaction.mjs +8 -0
  37. package/esm2020/lib/model/apple-pay-all-of.mjs +13 -0
  38. package/esm2020/lib/model/apple-pay.mjs +2 -0
  39. package/esm2020/lib/model/articles-of-association.mjs +2 -0
  40. package/esm2020/lib/model/bank-account.mjs +13 -0
  41. package/esm2020/lib/model/bank-card-all-of-token-provider-data.mjs +19 -0
  42. package/esm2020/lib/model/bank-card-all-of.mjs +2 -0
  43. package/esm2020/lib/model/bank-card-details.mjs +19 -0
  44. package/esm2020/lib/model/bank-card-token-provider-data.mjs +19 -0
  45. package/esm2020/lib/model/bank-card-tokenization-method.mjs +16 -0
  46. package/esm2020/lib/model/bank-card.mjs +2 -0
  47. package/esm2020/lib/model/browser-get-request-all-of.mjs +13 -0
  48. package/esm2020/lib/model/browser-get-request.mjs +2 -0
  49. package/esm2020/lib/model/browser-post-request-all-of.mjs +2 -0
  50. package/esm2020/lib/model/browser-post-request.mjs +2 -0
  51. package/esm2020/lib/model/browser-request.mjs +13 -0
  52. package/esm2020/lib/model/cancel-payment400-response.mjs +23 -0
  53. package/esm2020/lib/model/capture-params-all-of.mjs +2 -0
  54. package/esm2020/lib/model/capture-params.mjs +2 -0
  55. package/esm2020/lib/model/capture-payment400-response.mjs +28 -0
  56. package/esm2020/lib/model/card-data-all-of.mjs +13 -0
  57. package/esm2020/lib/model/card-data.mjs +2 -0
  58. package/esm2020/lib/model/category.mjs +13 -0
  59. package/esm2020/lib/model/chargeback.mjs +26 -0
  60. package/esm2020/lib/model/client-info.mjs +13 -0
  61. package/esm2020/lib/model/contact-info.mjs +13 -0
  62. package/esm2020/lib/model/contract-adjustment.mjs +13 -0
  63. package/esm2020/lib/model/contract.mjs +8 -0
  64. package/esm2020/lib/model/contractor.mjs +20 -0
  65. package/esm2020/lib/model/cost-amount-range.mjs +13 -0
  66. package/esm2020/lib/model/country.mjs +13 -0
  67. package/esm2020/lib/model/create-binding400-response.mjs +25 -0
  68. package/esm2020/lib/model/create-customer400-response.mjs +25 -0
  69. package/esm2020/lib/model/create-invoice-template400-response.mjs +25 -0
  70. package/esm2020/lib/model/create-invoice-with-template400-response.mjs +22 -0
  71. package/esm2020/lib/model/create-invoice400-response.mjs +29 -0
  72. package/esm2020/lib/model/create-payment400-response.mjs +29 -0
  73. package/esm2020/lib/model/create-payout400-response.mjs +23 -0
  74. package/esm2020/lib/model/create-refund400-response.mjs +32 -0
  75. package/esm2020/lib/model/create-webhook400-response.mjs +22 -0
  76. package/esm2020/lib/model/create-webhook429-response.mjs +13 -0
  77. package/esm2020/lib/model/crypto-currency-transfer-request-all-of.mjs +13 -0
  78. package/esm2020/lib/model/crypto-currency-transfer-request.mjs +2 -0
  79. package/esm2020/lib/model/crypto-wallet-all-of.mjs +13 -0
  80. package/esm2020/lib/model/crypto-wallet-data.mjs +2 -0
  81. package/esm2020/lib/model/crypto-wallet-details.mjs +13 -0
  82. package/esm2020/lib/model/crypto-wallet.mjs +2 -0
  83. package/esm2020/lib/model/customer-and-token.mjs +2 -0
  84. package/esm2020/lib/model/customer-binding-error.mjs +13 -0
  85. package/esm2020/lib/model/customer-binding-interaction-completed-all-of.mjs +2 -0
  86. package/esm2020/lib/model/customer-binding-interaction-completed.mjs +2 -0
  87. package/esm2020/lib/model/customer-binding-interaction-requested-all-of.mjs +2 -0
  88. package/esm2020/lib/model/customer-binding-interaction-requested.mjs +2 -0
  89. package/esm2020/lib/model/customer-binding-params.mjs +2 -0
  90. package/esm2020/lib/model/customer-binding-started-all-of.mjs +2 -0
  91. package/esm2020/lib/model/customer-binding-started.mjs +2 -0
  92. package/esm2020/lib/model/customer-binding-status-changed-all-of.mjs +13 -0
  93. package/esm2020/lib/model/customer-binding-status-changed.mjs +9 -0
  94. package/esm2020/lib/model/customer-binding-status.mjs +9 -0
  95. package/esm2020/lib/model/customer-binding.mjs +9 -0
  96. package/esm2020/lib/model/customer-change.mjs +21 -0
  97. package/esm2020/lib/model/customer-event.mjs +2 -0
  98. package/esm2020/lib/model/customer-params.mjs +2 -0
  99. package/esm2020/lib/model/customer-payer-all-of.mjs +2 -0
  100. package/esm2020/lib/model/customer-payer.mjs +2 -0
  101. package/esm2020/lib/model/customer.mjs +8 -0
  102. package/esm2020/lib/model/customers-topic-all-of.mjs +23 -0
  103. package/esm2020/lib/model/customers-topic.mjs +12 -0
  104. package/esm2020/lib/model/decimal.mjs +13 -0
  105. package/esm2020/lib/model/default-logic-error.mjs +19 -0
  106. package/esm2020/lib/model/delete-customer400-response.mjs +21 -0
  107. package/esm2020/lib/model/digital-wallet-all-of.mjs +13 -0
  108. package/esm2020/lib/model/digital-wallet-data-all-of.mjs +13 -0
  109. package/esm2020/lib/model/digital-wallet-data.mjs +2 -0
  110. package/esm2020/lib/model/digital-wallet-details.mjs +13 -0
  111. package/esm2020/lib/model/digital-wallet.mjs +2 -0
  112. package/esm2020/lib/model/external-id-conflict-error.mjs +13 -0
  113. package/esm2020/lib/model/fulfill-invoice400-response.mjs +22 -0
  114. package/esm2020/lib/model/general-error.mjs +13 -0
  115. package/esm2020/lib/model/google-pay-all-of.mjs +13 -0
  116. package/esm2020/lib/model/google-pay.mjs +2 -0
  117. package/esm2020/lib/model/international-bank-account.mjs +2 -0
  118. package/esm2020/lib/model/international-bank-details.mjs +13 -0
  119. package/esm2020/lib/model/international-correspondent-bank-account.mjs +2 -0
  120. package/esm2020/lib/model/international-legal-entity-all-of.mjs +13 -0
  121. package/esm2020/lib/model/international-legal-entity.mjs +2 -0
  122. package/esm2020/lib/model/invoice-and-token.mjs +2 -0
  123. package/esm2020/lib/model/invoice-bank-account.mjs +18 -0
  124. package/esm2020/lib/model/invoice-change.mjs +25 -0
  125. package/esm2020/lib/model/invoice-client-info.mjs +19 -0
  126. package/esm2020/lib/model/invoice-created-all-of.mjs +2 -0
  127. package/esm2020/lib/model/invoice-created.mjs +2 -0
  128. package/esm2020/lib/model/invoice-event.mjs +2 -0
  129. package/esm2020/lib/model/invoice-line-tax-mode.mjs +18 -0
  130. package/esm2020/lib/model/invoice-line-tax-vat-all-of.mjs +24 -0
  131. package/esm2020/lib/model/invoice-line-tax-vat.mjs +13 -0
  132. package/esm2020/lib/model/invoice-line.mjs +2 -0
  133. package/esm2020/lib/model/invoice-params-with-template.mjs +13 -0
  134. package/esm2020/lib/model/invoice-params.mjs +2 -0
  135. package/esm2020/lib/model/invoice-russian-bank-account-all-of.mjs +13 -0
  136. package/esm2020/lib/model/invoice-russian-bank-account.mjs +2 -0
  137. package/esm2020/lib/model/invoice-status-changed.mjs +10 -0
  138. package/esm2020/lib/model/invoice-status.mjs +21 -0
  139. package/esm2020/lib/model/invoice-template-and-token.mjs +2 -0
  140. package/esm2020/lib/model/invoice-template-create-params.mjs +2 -0
  141. package/esm2020/lib/model/invoice-template-details.mjs +13 -0
  142. package/esm2020/lib/model/invoice-template-line-cost-fixed-all-of.mjs +13 -0
  143. package/esm2020/lib/model/invoice-template-line-cost-fixed.mjs +2 -0
  144. package/esm2020/lib/model/invoice-template-line-cost-range-all-of.mjs +2 -0
  145. package/esm2020/lib/model/invoice-template-line-cost-range.mjs +2 -0
  146. package/esm2020/lib/model/invoice-template-line-cost-unlim.mjs +2 -0
  147. package/esm2020/lib/model/invoice-template-line-cost.mjs +13 -0
  148. package/esm2020/lib/model/invoice-template-multi-line-all-of.mjs +2 -0
  149. package/esm2020/lib/model/invoice-template-multi-line.mjs +2 -0
  150. package/esm2020/lib/model/invoice-template-single-line-all-of.mjs +2 -0
  151. package/esm2020/lib/model/invoice-template-single-line.mjs +2 -0
  152. package/esm2020/lib/model/invoice-template-update-params.mjs +2 -0
  153. package/esm2020/lib/model/invoice-template.mjs +2 -0
  154. package/esm2020/lib/model/invoice.mjs +10 -0
  155. package/esm2020/lib/model/invoices-topic-all-of.mjs +30 -0
  156. package/esm2020/lib/model/invoices-topic.mjs +19 -0
  157. package/esm2020/lib/model/legal-agreement.mjs +13 -0
  158. package/esm2020/lib/model/legal-entity-all-of.mjs +19 -0
  159. package/esm2020/lib/model/legal-entity.mjs +2 -0
  160. package/esm2020/lib/model/lifetime-interval.mjs +13 -0
  161. package/esm2020/lib/model/logic-error.mjs +13 -0
  162. package/esm2020/lib/model/mobile-commerce-all-of.mjs +13 -0
  163. package/esm2020/lib/model/mobile-commerce-data-all-of.mjs +2 -0
  164. package/esm2020/lib/model/mobile-commerce-data.mjs +2 -0
  165. package/esm2020/lib/model/mobile-commerce-details.mjs +13 -0
  166. package/esm2020/lib/model/mobile-commerce-phone.mjs +13 -0
  167. package/esm2020/lib/model/mobile-commerce.mjs +2 -0
  168. package/esm2020/lib/model/models.mjs +262 -0
  169. package/esm2020/lib/model/party.mjs +13 -0
  170. package/esm2020/lib/model/payer-session-info.mjs +13 -0
  171. package/esm2020/lib/model/payer.mjs +2 -0
  172. package/esm2020/lib/model/payment-error.mjs +2 -0
  173. package/esm2020/lib/model/payment-flow-hold-all-of.mjs +19 -0
  174. package/esm2020/lib/model/payment-flow-hold.mjs +8 -0
  175. package/esm2020/lib/model/payment-flow-instant.mjs +2 -0
  176. package/esm2020/lib/model/payment-flow.mjs +19 -0
  177. package/esm2020/lib/model/payment-institution.mjs +19 -0
  178. package/esm2020/lib/model/payment-interaction-completed-all-of.mjs +2 -0
  179. package/esm2020/lib/model/payment-interaction-completed.mjs +2 -0
  180. package/esm2020/lib/model/payment-interaction-requested-all-of.mjs +2 -0
  181. package/esm2020/lib/model/payment-interaction-requested.mjs +2 -0
  182. package/esm2020/lib/model/payment-method.mjs +22 -0
  183. package/esm2020/lib/model/payment-params.mjs +2 -0
  184. package/esm2020/lib/model/payment-recurrent-parent.mjs +13 -0
  185. package/esm2020/lib/model/payment-resource-client-info.mjs +13 -0
  186. package/esm2020/lib/model/payment-resource-params.mjs +2 -0
  187. package/esm2020/lib/model/payment-resource-payer-all-of.mjs +2 -0
  188. package/esm2020/lib/model/payment-resource-payer.mjs +2 -0
  189. package/esm2020/lib/model/payment-resource-result.mjs +2 -0
  190. package/esm2020/lib/model/payment-resource.mjs +2 -0
  191. package/esm2020/lib/model/payment-search-result-all-of.mjs +2 -0
  192. package/esm2020/lib/model/payment-search-result.mjs +12 -0
  193. package/esm2020/lib/model/payment-started-all-of.mjs +2 -0
  194. package/esm2020/lib/model/payment-started.mjs +2 -0
  195. package/esm2020/lib/model/payment-status-changed-all-of.mjs +13 -0
  196. package/esm2020/lib/model/payment-status-changed.mjs +12 -0
  197. package/esm2020/lib/model/payment-status.mjs +12 -0
  198. package/esm2020/lib/model/payment-terminal-all-of.mjs +13 -0
  199. package/esm2020/lib/model/payment-terminal-data-all-of.mjs +13 -0
  200. package/esm2020/lib/model/payment-terminal-data.mjs +2 -0
  201. package/esm2020/lib/model/payment-terminal-details.mjs +13 -0
  202. package/esm2020/lib/model/payment-terminal-receipt-all-of.mjs +13 -0
  203. package/esm2020/lib/model/payment-terminal-receipt.mjs +2 -0
  204. package/esm2020/lib/model/payment-terminal.mjs +2 -0
  205. package/esm2020/lib/model/payment-terms.mjs +13 -0
  206. package/esm2020/lib/model/payment-tool-details-bank-card.mjs +8 -0
  207. package/esm2020/lib/model/payment-tool-details-crypto-wallet.mjs +2 -0
  208. package/esm2020/lib/model/payment-tool-details-digital-wallet.mjs +2 -0
  209. package/esm2020/lib/model/payment-tool-details-mobile-commerce.mjs +2 -0
  210. package/esm2020/lib/model/payment-tool-details-payment-terminal.mjs +2 -0
  211. package/esm2020/lib/model/payment-tool-details.mjs +13 -0
  212. package/esm2020/lib/model/payment-tool.mjs +23 -0
  213. package/esm2020/lib/model/payment.mjs +12 -0
  214. package/esm2020/lib/model/payout-params.mjs +13 -0
  215. package/esm2020/lib/model/payout-tool-all-of.mjs +13 -0
  216. package/esm2020/lib/model/payout-tool-details-bank-account.mjs +2 -0
  217. package/esm2020/lib/model/payout-tool-details-international-bank-account.mjs +2 -0
  218. package/esm2020/lib/model/payout-tool-details-payment-institution-account.mjs +2 -0
  219. package/esm2020/lib/model/payout-tool-details-wallet-info-all-of.mjs +13 -0
  220. package/esm2020/lib/model/payout-tool-details-wallet-info.mjs +2 -0
  221. package/esm2020/lib/model/payout-tool-details.mjs +13 -0
  222. package/esm2020/lib/model/payout-tool-params.mjs +2 -0
  223. package/esm2020/lib/model/payout-tool.mjs +2 -0
  224. package/esm2020/lib/model/payout.mjs +2 -0
  225. package/esm2020/lib/model/power-of-attorney.mjs +2 -0
  226. package/esm2020/lib/model/private-entity-all-of.mjs +18 -0
  227. package/esm2020/lib/model/private-entity.mjs +2 -0
  228. package/esm2020/lib/model/qr-code-display-request-all-of.mjs +13 -0
  229. package/esm2020/lib/model/qr-code-display-request.mjs +2 -0
  230. package/esm2020/lib/model/realm-mode.mjs +16 -0
  231. package/esm2020/lib/model/reason.mjs +13 -0
  232. package/esm2020/lib/model/recurrent-payer-all-of.mjs +2 -0
  233. package/esm2020/lib/model/recurrent-payer.mjs +2 -0
  234. package/esm2020/lib/model/redirect-all-of.mjs +2 -0
  235. package/esm2020/lib/model/redirect.mjs +2 -0
  236. package/esm2020/lib/model/refund-error.mjs +13 -0
  237. package/esm2020/lib/model/refund-params.mjs +2 -0
  238. package/esm2020/lib/model/refund-search-result-all-of.mjs +13 -0
  239. package/esm2020/lib/model/refund-search-result.mjs +9 -0
  240. package/esm2020/lib/model/refund-started-all-of.mjs +2 -0
  241. package/esm2020/lib/model/refund-started.mjs +2 -0
  242. package/esm2020/lib/model/refund-status-changed-all-of.mjs +13 -0
  243. package/esm2020/lib/model/refund-status-changed.mjs +9 -0
  244. package/esm2020/lib/model/refund-status.mjs +9 -0
  245. package/esm2020/lib/model/refund.mjs +9 -0
  246. package/esm2020/lib/model/registered-user-all-of.mjs +13 -0
  247. package/esm2020/lib/model/registered-user.mjs +2 -0
  248. package/esm2020/lib/model/report-link.mjs +13 -0
  249. package/esm2020/lib/model/report-params.mjs +18 -0
  250. package/esm2020/lib/model/reporting-preferences.mjs +2 -0
  251. package/esm2020/lib/model/representative-document.mjs +19 -0
  252. package/esm2020/lib/model/representative.mjs +2 -0
  253. package/esm2020/lib/model/rescind-invoice400-response.mjs +23 -0
  254. package/esm2020/lib/model/russian-legal-entity-all-of.mjs +2 -0
  255. package/esm2020/lib/model/russian-legal-entity.mjs +2 -0
  256. package/esm2020/lib/model/russian-private-entity-all-of.mjs +2 -0
  257. package/esm2020/lib/model/russian-private-entity.mjs +2 -0
  258. package/esm2020/lib/model/samsung-pay-all-of.mjs +13 -0
  259. package/esm2020/lib/model/samsung-pay.mjs +2 -0
  260. package/esm2020/lib/model/schedule.mjs +13 -0
  261. package/esm2020/lib/model/search-invoices200-response.mjs +2 -0
  262. package/esm2020/lib/model/search-payments200-response.mjs +2 -0
  263. package/esm2020/lib/model/search-payouts200-response.mjs +2 -0
  264. package/esm2020/lib/model/search-refunds200-response.mjs +2 -0
  265. package/esm2020/lib/model/service-acceptance-act-preferences.mjs +2 -0
  266. package/esm2020/lib/model/service-provider.mjs +13 -0
  267. package/esm2020/lib/model/shop-details.mjs +13 -0
  268. package/esm2020/lib/model/shop-location-url-all-of.mjs +13 -0
  269. package/esm2020/lib/model/shop-location-url.mjs +2 -0
  270. package/esm2020/lib/model/shop-location.mjs +13 -0
  271. package/esm2020/lib/model/shop.mjs +2 -0
  272. package/esm2020/lib/model/sub-error.mjs +13 -0
  273. package/esm2020/lib/model/tokenized-card-data-all-of.mjs +21 -0
  274. package/esm2020/lib/model/tokenized-card-data.mjs +2 -0
  275. package/esm2020/lib/model/trade-bloc.mjs +13 -0
  276. package/esm2020/lib/model/transaction-info.mjs +13 -0
  277. package/esm2020/lib/model/update-invoice-template400-response.mjs +22 -0
  278. package/esm2020/lib/model/user-interaction-form-inner.mjs +13 -0
  279. package/esm2020/lib/model/user-interaction.mjs +13 -0
  280. package/esm2020/lib/model/webhook-scope.mjs +19 -0
  281. package/esm2020/lib/model/webhook.mjs +2 -0
  282. package/esm2020/lib/model/yandex-pay-all-of.mjs +13 -0
  283. package/esm2020/lib/model/yandex-pay.mjs +2 -0
  284. package/esm2020/lib/param.mjs +2 -0
  285. package/esm2020/lib/variables.mjs +9 -0
  286. package/esm2020/public-api.mjs +2 -0
  287. package/esm2020/vality-swag-payments.mjs +5 -0
  288. package/fesm2015/vality-swag-payments.mjs +8780 -0
  289. package/fesm2015/vality-swag-payments.mjs.map +1 -0
  290. package/fesm2020/vality-swag-payments.mjs +9648 -0
  291. package/fesm2020/vality-swag-payments.mjs.map +1 -0
  292. package/lib/api/api.d.ts +31 -0
  293. package/lib/api/categories.service.d.ts +67 -0
  294. package/lib/api/contracts.service.d.ts +234 -0
  295. package/lib/api/countries.service.d.ts +67 -0
  296. package/lib/api/customers.service.d.ts +266 -0
  297. package/lib/api/invoice-templates.service.d.ts +183 -0
  298. package/lib/api/invoices.service.d.ts +267 -0
  299. package/lib/api/parties.service.d.ts +165 -0
  300. package/lib/api/payment-institutions.service.d.ts +245 -0
  301. package/lib/api/payments.service.d.ts +419 -0
  302. package/lib/api/payouts.service.d.ts +209 -0
  303. package/lib/api/search.service.d.ts +242 -0
  304. package/lib/api/shops.service.d.ts +229 -0
  305. package/lib/api/tokens.service.d.ts +44 -0
  306. package/lib/api/trade-blocs.service.d.ts +67 -0
  307. package/lib/api/webhooks.service.d.ts +145 -0
  308. package/lib/api.module.d.ts +11 -0
  309. package/lib/configuration.d.ts +104 -0
  310. package/lib/encoder.d.ts +11 -0
  311. package/lib/index.d.ts +6 -0
  312. package/lib/model/access-token.d.ts +17 -0
  313. package/lib/model/allocation-body-amount-all-of.d.ts +21 -0
  314. package/lib/model/allocation-body-amount.d.ts +16 -0
  315. package/lib/model/allocation-body-total-all-of.d.ts +27 -0
  316. package/lib/model/allocation-body-total.d.ts +22 -0
  317. package/lib/model/allocation-fee-fixed-all-of.d.ts +17 -0
  318. package/lib/model/allocation-fee-fixed.d.ts +12 -0
  319. package/lib/model/allocation-fee-share-all-of.d.ts +19 -0
  320. package/lib/model/allocation-fee-share.d.ts +14 -0
  321. package/lib/model/allocation-fee-target.d.ts +23 -0
  322. package/lib/model/allocation-fee.d.ts +26 -0
  323. package/lib/model/allocation-target-shop-all-of.d.ts +17 -0
  324. package/lib/model/allocation-target-shop.d.ts +23 -0
  325. package/lib/model/allocation-target.d.ts +23 -0
  326. package/lib/model/allocation-transaction.d.ts +34 -0
  327. package/lib/model/apple-pay-all-of.d.ts +24 -0
  328. package/lib/model/apple-pay.d.ts +24 -0
  329. package/lib/model/articles-of-association.d.ts +19 -0
  330. package/lib/model/bank-account.d.ts +29 -0
  331. package/lib/model/bank-card-all-of-token-provider-data.d.ts +36 -0
  332. package/lib/model/bank-card-all-of.d.ts +23 -0
  333. package/lib/model/bank-card-details.d.ts +44 -0
  334. package/lib/model/bank-card-token-provider-data.d.ts +39 -0
  335. package/lib/model/bank-card-tokenization-method.d.ts +19 -0
  336. package/lib/model/bank-card.d.ts +26 -0
  337. package/lib/model/browser-get-request-all-of.d.ts +17 -0
  338. package/lib/model/browser-get-request.d.ts +18 -0
  339. package/lib/model/browser-post-request-all-of.d.ts +22 -0
  340. package/lib/model/browser-post-request.d.ts +23 -0
  341. package/lib/model/browser-request.d.ts +17 -0
  342. package/lib/model/cancel-payment400-response.d.ts +32 -0
  343. package/lib/model/capture-params-all-of.d.ts +34 -0
  344. package/lib/model/capture-params.d.ts +35 -0
  345. package/lib/model/capture-payment400-response.d.ts +37 -0
  346. package/lib/model/card-data-all-of.d.ts +32 -0
  347. package/lib/model/card-data.d.ts +32 -0
  348. package/lib/model/category.d.ts +16 -0
  349. package/lib/model/chargeback.d.ts +60 -0
  350. package/lib/model/client-info.d.ts +28 -0
  351. package/lib/model/contact-info.d.ts +24 -0
  352. package/lib/model/contract-adjustment.d.ts +32 -0
  353. package/lib/model/contract.d.ts +54 -0
  354. package/lib/model/contractor.d.ts +28 -0
  355. package/lib/model/cost-amount-range.d.ts +21 -0
  356. package/lib/model/country.d.ts +22 -0
  357. package/lib/model/create-binding400-response.d.ts +34 -0
  358. package/lib/model/create-customer400-response.d.ts +34 -0
  359. package/lib/model/create-invoice-template400-response.d.ts +34 -0
  360. package/lib/model/create-invoice-with-template400-response.d.ts +31 -0
  361. package/lib/model/create-invoice400-response.d.ts +38 -0
  362. package/lib/model/create-payment400-response.d.ts +38 -0
  363. package/lib/model/create-payout400-response.d.ts +32 -0
  364. package/lib/model/create-refund400-response.d.ts +41 -0
  365. package/lib/model/create-webhook400-response.d.ts +31 -0
  366. package/lib/model/create-webhook429-response.d.ts +17 -0
  367. package/lib/model/crypto-currency-transfer-request-all-of.d.ts +25 -0
  368. package/lib/model/crypto-currency-transfer-request.d.ts +26 -0
  369. package/lib/model/crypto-wallet-all-of.d.ts +17 -0
  370. package/lib/model/crypto-wallet-data.d.ts +20 -0
  371. package/lib/model/crypto-wallet-details.d.ts +17 -0
  372. package/lib/model/crypto-wallet.d.ts +20 -0
  373. package/lib/model/customer-and-token.d.ts +17 -0
  374. package/lib/model/customer-binding-error.d.ts +18 -0
  375. package/lib/model/customer-binding-interaction-completed-all-of.d.ts +22 -0
  376. package/lib/model/customer-binding-interaction-completed.d.ts +22 -0
  377. package/lib/model/customer-binding-interaction-requested-all-of.d.ts +22 -0
  378. package/lib/model/customer-binding-interaction-requested.d.ts +22 -0
  379. package/lib/model/customer-binding-params.d.ts +19 -0
  380. package/lib/model/customer-binding-started-all-of.d.ts +15 -0
  381. package/lib/model/customer-binding-started.d.ts +18 -0
  382. package/lib/model/customer-binding-status-changed-all-of.d.ts +14 -0
  383. package/lib/model/customer-binding-status-changed.d.ts +29 -0
  384. package/lib/model/customer-binding-status.d.ts +27 -0
  385. package/lib/model/customer-binding.d.ts +37 -0
  386. package/lib/model/customer-change.d.ts +23 -0
  387. package/lib/model/customer-event.d.ts +17 -0
  388. package/lib/model/customer-params.d.ts +31 -0
  389. package/lib/model/customer-payer-all-of.d.ts +19 -0
  390. package/lib/model/customer-payer.d.ts +23 -0
  391. package/lib/model/customer.d.ts +46 -0
  392. package/lib/model/customers-topic-all-of.d.ts +32 -0
  393. package/lib/model/customers-topic.d.ts +36 -0
  394. package/lib/model/decimal.d.ts +24 -0
  395. package/lib/model/default-logic-error.d.ts +28 -0
  396. package/lib/model/delete-customer400-response.d.ts +30 -0
  397. package/lib/model/digital-wallet-all-of.d.ts +17 -0
  398. package/lib/model/digital-wallet-data-all-of.d.ts +28 -0
  399. package/lib/model/digital-wallet-data.d.ts +28 -0
  400. package/lib/model/digital-wallet-details.d.ts +17 -0
  401. package/lib/model/digital-wallet.d.ts +20 -0
  402. package/lib/model/external-id-conflict-error.d.ts +25 -0
  403. package/lib/model/fulfill-invoice400-response.d.ts +31 -0
  404. package/lib/model/general-error.d.ts +14 -0
  405. package/lib/model/google-pay-all-of.d.ts +24 -0
  406. package/lib/model/google-pay.d.ts +24 -0
  407. package/lib/model/international-bank-account.d.ts +28 -0
  408. package/lib/model/international-bank-details.d.ts +36 -0
  409. package/lib/model/international-correspondent-bank-account.d.ts +24 -0
  410. package/lib/model/international-legal-entity-all-of.d.ts +37 -0
  411. package/lib/model/international-legal-entity.d.ts +43 -0
  412. package/lib/model/invoice-and-token.d.ts +17 -0
  413. package/lib/model/invoice-bank-account.d.ts +26 -0
  414. package/lib/model/invoice-change.d.ts +27 -0
  415. package/lib/model/invoice-client-info.d.ts +27 -0
  416. package/lib/model/invoice-created-all-of.d.ts +15 -0
  417. package/lib/model/invoice-created.d.ts +18 -0
  418. package/lib/model/invoice-event.d.ts +17 -0
  419. package/lib/model/invoice-line-tax-mode.d.ts +26 -0
  420. package/lib/model/invoice-line-tax-vat-all-of.d.ts +32 -0
  421. package/lib/model/invoice-line-tax-vat.d.ts +30 -0
  422. package/lib/model/invoice-line.d.ts +34 -0
  423. package/lib/model/invoice-params-with-template.d.ts +29 -0
  424. package/lib/model/invoice-params.d.ts +63 -0
  425. package/lib/model/invoice-russian-bank-account-all-of.d.ts +24 -0
  426. package/lib/model/invoice-russian-bank-account.d.ts +24 -0
  427. package/lib/model/invoice-status-changed.d.ts +31 -0
  428. package/lib/model/invoice-status.d.ts +30 -0
  429. package/lib/model/invoice-template-and-token.d.ts +17 -0
  430. package/lib/model/invoice-template-create-params.d.ts +41 -0
  431. package/lib/model/invoice-template-details.d.ts +14 -0
  432. package/lib/model/invoice-template-line-cost-fixed-all-of.d.ts +21 -0
  433. package/lib/model/invoice-template-line-cost-fixed.d.ts +22 -0
  434. package/lib/model/invoice-template-line-cost-range-all-of.d.ts +19 -0
  435. package/lib/model/invoice-template-line-cost-range.d.ts +20 -0
  436. package/lib/model/invoice-template-line-cost-unlim.d.ts +14 -0
  437. package/lib/model/invoice-template-line-cost.d.ts +17 -0
  438. package/lib/model/invoice-template-multi-line-all-of.d.ts +22 -0
  439. package/lib/model/invoice-template-multi-line.d.ts +23 -0
  440. package/lib/model/invoice-template-single-line-all-of.d.ts +21 -0
  441. package/lib/model/invoice-template-single-line.d.ts +22 -0
  442. package/lib/model/invoice-template-update-params.d.ts +29 -0
  443. package/lib/model/invoice-template.d.ts +45 -0
  444. package/lib/model/invoice.d.ts +88 -0
  445. package/lib/model/invoices-topic-all-of.d.ts +39 -0
  446. package/lib/model/invoices-topic.d.ts +43 -0
  447. package/lib/model/legal-agreement.d.ts +28 -0
  448. package/lib/model/legal-entity-all-of.d.ts +24 -0
  449. package/lib/model/legal-entity.d.ts +20 -0
  450. package/lib/model/lifetime-interval.d.ts +19 -0
  451. package/lib/model/logic-error.d.ts +18 -0
  452. package/lib/model/mobile-commerce-all-of.d.ts +17 -0
  453. package/lib/model/mobile-commerce-data-all-of.d.ts +18 -0
  454. package/lib/model/mobile-commerce-data.d.ts +6 -0
  455. package/lib/model/mobile-commerce-details.d.ts +17 -0
  456. package/lib/model/mobile-commerce-phone.d.ts +24 -0
  457. package/lib/model/mobile-commerce.d.ts +20 -0
  458. package/lib/model/models.d.ts +261 -0
  459. package/lib/model/party.d.ts +16 -0
  460. package/lib/model/payer-session-info.d.ts +20 -0
  461. package/lib/model/payer.d.ts +19 -0
  462. package/lib/model/payment-error.d.ts +22 -0
  463. package/lib/model/payment-flow-hold-all-of.d.ts +28 -0
  464. package/lib/model/payment-flow-hold.d.ts +29 -0
  465. package/lib/model/payment-flow-instant.d.ts +16 -0
  466. package/lib/model/payment-flow.d.ts +24 -0
  467. package/lib/model/payment-institution.d.ts +31 -0
  468. package/lib/model/payment-interaction-completed-all-of.d.ts +22 -0
  469. package/lib/model/payment-interaction-completed.d.ts +22 -0
  470. package/lib/model/payment-interaction-requested-all-of.d.ts +22 -0
  471. package/lib/model/payment-interaction-requested.d.ts +22 -0
  472. package/lib/model/payment-method.d.ts +27 -0
  473. package/lib/model/payment-params.d.ts +33 -0
  474. package/lib/model/payment-recurrent-parent.d.ts +24 -0
  475. package/lib/model/payment-resource-client-info.d.ts +25 -0
  476. package/lib/model/payment-resource-params.d.ts +17 -0
  477. package/lib/model/payment-resource-payer-all-of.d.ts +15 -0
  478. package/lib/model/payment-resource-payer.d.ts +31 -0
  479. package/lib/model/payment-resource-result.d.ts +32 -0
  480. package/lib/model/payment-resource.d.ts +28 -0
  481. package/lib/model/payment-search-result-all-of.d.ts +73 -0
  482. package/lib/model/payment-search-result.d.ts +90 -0
  483. package/lib/model/payment-started-all-of.d.ts +15 -0
  484. package/lib/model/payment-started.d.ts +18 -0
  485. package/lib/model/payment-status-changed-all-of.d.ts +14 -0
  486. package/lib/model/payment-status-changed.d.ts +32 -0
  487. package/lib/model/payment-status.d.ts +30 -0
  488. package/lib/model/payment-terminal-all-of.d.ts +17 -0
  489. package/lib/model/payment-terminal-data-all-of.d.ts +24 -0
  490. package/lib/model/payment-terminal-data.d.ts +24 -0
  491. package/lib/model/payment-terminal-details.d.ts +17 -0
  492. package/lib/model/payment-terminal-receipt-all-of.d.ts +21 -0
  493. package/lib/model/payment-terminal-receipt.d.ts +22 -0
  494. package/lib/model/payment-terminal.d.ts +20 -0
  495. package/lib/model/payment-terms.d.ts +15 -0
  496. package/lib/model/payment-tool-details-bank-card.d.ts +45 -0
  497. package/lib/model/payment-tool-details-crypto-wallet.d.ts +18 -0
  498. package/lib/model/payment-tool-details-digital-wallet.d.ts +18 -0
  499. package/lib/model/payment-tool-details-mobile-commerce.d.ts +18 -0
  500. package/lib/model/payment-tool-details-payment-terminal.d.ts +18 -0
  501. package/lib/model/payment-tool-details.d.ts +20 -0
  502. package/lib/model/payment-tool.d.ts +28 -0
  503. package/lib/model/payment.d.ts +73 -0
  504. package/lib/model/payout-params.d.ts +37 -0
  505. package/lib/model/payout-tool-all-of.d.ts +17 -0
  506. package/lib/model/payout-tool-details-bank-account.d.ts +27 -0
  507. package/lib/model/payout-tool-details-international-bank-account.d.ts +26 -0
  508. package/lib/model/payout-tool-details-payment-institution-account.d.ts +14 -0
  509. package/lib/model/payout-tool-details-wallet-info-all-of.d.ts +17 -0
  510. package/lib/model/payout-tool-details-wallet-info.d.ts +18 -0
  511. package/lib/model/payout-tool-details.d.ts +20 -0
  512. package/lib/model/payout-tool-params.d.ts +19 -0
  513. package/lib/model/payout-tool.d.ts +26 -0
  514. package/lib/model/payout.d.ts +47 -0
  515. package/lib/model/power-of-attorney.d.ts +28 -0
  516. package/lib/model/private-entity-all-of.d.ts +23 -0
  517. package/lib/model/private-entity.d.ts +20 -0
  518. package/lib/model/qr-code-display-request-all-of.d.ts +17 -0
  519. package/lib/model/qr-code-display-request.d.ts +18 -0
  520. package/lib/model/realm-mode.d.ts +19 -0
  521. package/lib/model/reason.d.ts +17 -0
  522. package/lib/model/recurrent-payer-all-of.d.ts +19 -0
  523. package/lib/model/recurrent-payer.d.ts +23 -0
  524. package/lib/model/redirect-all-of.d.ts +15 -0
  525. package/lib/model/redirect.d.ts +16 -0
  526. package/lib/model/refund-error.d.ts +24 -0
  527. package/lib/model/refund-params.d.ts +39 -0
  528. package/lib/model/refund-search-result-all-of.d.ts +21 -0
  529. package/lib/model/refund-search-result.d.ts +69 -0
  530. package/lib/model/refund-started-all-of.d.ts +16 -0
  531. package/lib/model/refund-started.d.ts +19 -0
  532. package/lib/model/refund-status-changed-all-of.d.ts +15 -0
  533. package/lib/model/refund-status-changed.d.ts +30 -0
  534. package/lib/model/refund-status.d.ts +27 -0
  535. package/lib/model/refund.d.ts +61 -0
  536. package/lib/model/registered-user-all-of.d.ts +17 -0
  537. package/lib/model/registered-user.d.ts +23 -0
  538. package/lib/model/report-link.d.ts +17 -0
  539. package/lib/model/report-params.d.ts +31 -0
  540. package/lib/model/reporting-preferences.d.ts +18 -0
  541. package/lib/model/representative-document.d.ts +24 -0
  542. package/lib/model/representative.d.ts +26 -0
  543. package/lib/model/rescind-invoice400-response.d.ts +32 -0
  544. package/lib/model/russian-legal-entity-all-of.d.ts +47 -0
  545. package/lib/model/russian-legal-entity.d.ts +53 -0
  546. package/lib/model/russian-private-entity-all-of.d.ts +27 -0
  547. package/lib/model/russian-private-entity.d.ts +33 -0
  548. package/lib/model/samsung-pay-all-of.d.ts +24 -0
  549. package/lib/model/samsung-pay.d.ts +24 -0
  550. package/lib/model/schedule.d.ts +19 -0
  551. package/lib/model/search-invoices200-response.d.ts +19 -0
  552. package/lib/model/search-payments200-response.d.ts +19 -0
  553. package/lib/model/search-payouts200-response.d.ts +16 -0
  554. package/lib/model/search-refunds200-response.d.ts +16 -0
  555. package/lib/model/service-acceptance-act-preferences.d.ts +22 -0
  556. package/lib/model/service-provider.d.ts +32 -0
  557. package/lib/model/shop-details.d.ts +21 -0
  558. package/lib/model/shop-location-url-all-of.d.ts +17 -0
  559. package/lib/model/shop-location-url.d.ts +21 -0
  560. package/lib/model/shop-location.d.ts +20 -0
  561. package/lib/model/shop.d.ts +56 -0
  562. package/lib/model/sub-error.d.ts +21 -0
  563. package/lib/model/tokenized-card-data-all-of.d.ts +26 -0
  564. package/lib/model/tokenized-card-data.d.ts +17 -0
  565. package/lib/model/trade-bloc.d.ts +19 -0
  566. package/lib/model/transaction-info.d.ts +24 -0
  567. package/lib/model/update-invoice-template400-response.d.ts +31 -0
  568. package/lib/model/user-interaction-form-inner.d.ts +21 -0
  569. package/lib/model/user-interaction.d.ts +17 -0
  570. package/lib/model/webhook-scope.d.ts +27 -0
  571. package/lib/model/webhook.d.ts +35 -0
  572. package/lib/model/yandex-pay-all-of.d.ts +24 -0
  573. package/lib/model/yandex-pay.d.ts +24 -0
  574. package/lib/param.d.ts +37 -0
  575. package/lib/variables.d.ts +8 -0
  576. package/package.json +36 -0
  577. package/public-api.d.ts +1 -0
  578. package/src/lib/README.md +226 -0
  579. package/vality-swag-payments.d.ts +5 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vality-swag-payments.mjs","sources":["../../../../projects/vality/swag-payments/src/lib/encoder.ts","../../../../projects/vality/swag-payments/src/lib/variables.ts","../../../../projects/vality/swag-payments/src/lib/configuration.ts","../../../../projects/vality/swag-payments/src/lib/api/categories.service.ts","../../../../projects/vality/swag-payments/src/lib/api/contracts.service.ts","../../../../projects/vality/swag-payments/src/lib/api/countries.service.ts","../../../../projects/vality/swag-payments/src/lib/api/customers.service.ts","../../../../projects/vality/swag-payments/src/lib/api/invoice-templates.service.ts","../../../../projects/vality/swag-payments/src/lib/api/invoices.service.ts","../../../../projects/vality/swag-payments/src/lib/api/parties.service.ts","../../../../projects/vality/swag-payments/src/lib/api/payment-institutions.service.ts","../../../../projects/vality/swag-payments/src/lib/api/payments.service.ts","../../../../projects/vality/swag-payments/src/lib/api/payouts.service.ts","../../../../projects/vality/swag-payments/src/lib/api/search.service.ts","../../../../projects/vality/swag-payments/src/lib/api/shops.service.ts","../../../../projects/vality/swag-payments/src/lib/api/tokens.service.ts","../../../../projects/vality/swag-payments/src/lib/api/trade-blocs.service.ts","../../../../projects/vality/swag-payments/src/lib/api/webhooks.service.ts","../../../../projects/vality/swag-payments/src/lib/api/api.ts","../../../../projects/vality/swag-payments/src/lib/model/access-token.ts","../../../../projects/vality/swag-payments/src/lib/model/allocation-body-amount-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/allocation-fee.ts","../../../../projects/vality/swag-payments/src/lib/model/allocation-fee-fixed-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/allocation-fee-target.ts","../../../../projects/vality/swag-payments/src/lib/model/allocation-target.ts","../../../../projects/vality/swag-payments/src/lib/model/allocation-target-shop-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/allocation-transaction.ts","../../../../projects/vality/swag-payments/src/lib/model/apple-pay-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/bank-account.ts","../../../../projects/vality/swag-payments/src/lib/model/bank-card-all-of-token-provider-data.ts","../../../../projects/vality/swag-payments/src/lib/model/bank-card-details.ts","../../../../projects/vality/swag-payments/src/lib/model/bank-card-token-provider-data.ts","../../../../projects/vality/swag-payments/src/lib/model/bank-card-tokenization-method.ts","../../../../projects/vality/swag-payments/src/lib/model/browser-get-request-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/browser-request.ts","../../../../projects/vality/swag-payments/src/lib/model/cancel-payment400-response.ts","../../../../projects/vality/swag-payments/src/lib/model/capture-payment400-response.ts","../../../../projects/vality/swag-payments/src/lib/model/card-data-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/category.ts","../../../../projects/vality/swag-payments/src/lib/model/chargeback.ts","../../../../projects/vality/swag-payments/src/lib/model/client-info.ts","../../../../projects/vality/swag-payments/src/lib/model/contact-info.ts","../../../../projects/vality/swag-payments/src/lib/model/contract.ts","../../../../projects/vality/swag-payments/src/lib/model/contract-adjustment.ts","../../../../projects/vality/swag-payments/src/lib/model/contractor.ts","../../../../projects/vality/swag-payments/src/lib/model/cost-amount-range.ts","../../../../projects/vality/swag-payments/src/lib/model/country.ts","../../../../projects/vality/swag-payments/src/lib/model/create-binding400-response.ts","../../../../projects/vality/swag-payments/src/lib/model/create-customer400-response.ts","../../../../projects/vality/swag-payments/src/lib/model/create-invoice400-response.ts","../../../../projects/vality/swag-payments/src/lib/model/create-invoice-template400-response.ts","../../../../projects/vality/swag-payments/src/lib/model/create-invoice-with-template400-response.ts","../../../../projects/vality/swag-payments/src/lib/model/create-payment400-response.ts","../../../../projects/vality/swag-payments/src/lib/model/create-payout400-response.ts","../../../../projects/vality/swag-payments/src/lib/model/create-refund400-response.ts","../../../../projects/vality/swag-payments/src/lib/model/create-webhook400-response.ts","../../../../projects/vality/swag-payments/src/lib/model/create-webhook429-response.ts","../../../../projects/vality/swag-payments/src/lib/model/crypto-currency-transfer-request-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/crypto-wallet-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/crypto-wallet-details.ts","../../../../projects/vality/swag-payments/src/lib/model/customer.ts","../../../../projects/vality/swag-payments/src/lib/model/customer-binding.ts","../../../../projects/vality/swag-payments/src/lib/model/customer-binding-error.ts","../../../../projects/vality/swag-payments/src/lib/model/customer-binding-status.ts","../../../../projects/vality/swag-payments/src/lib/model/customer-binding-status-changed.ts","../../../../projects/vality/swag-payments/src/lib/model/customer-binding-status-changed-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/customer-change.ts","../../../../projects/vality/swag-payments/src/lib/model/customers-topic.ts","../../../../projects/vality/swag-payments/src/lib/model/customers-topic-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/decimal.ts","../../../../projects/vality/swag-payments/src/lib/model/default-logic-error.ts","../../../../projects/vality/swag-payments/src/lib/model/delete-customer400-response.ts","../../../../projects/vality/swag-payments/src/lib/model/digital-wallet-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/digital-wallet-data-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/digital-wallet-details.ts","../../../../projects/vality/swag-payments/src/lib/model/external-id-conflict-error.ts","../../../../projects/vality/swag-payments/src/lib/model/fulfill-invoice400-response.ts","../../../../projects/vality/swag-payments/src/lib/model/general-error.ts","../../../../projects/vality/swag-payments/src/lib/model/google-pay-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/international-bank-details.ts","../../../../projects/vality/swag-payments/src/lib/model/international-legal-entity-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/invoice.ts","../../../../projects/vality/swag-payments/src/lib/model/invoice-bank-account.ts","../../../../projects/vality/swag-payments/src/lib/model/invoice-change.ts","../../../../projects/vality/swag-payments/src/lib/model/invoice-client-info.ts","../../../../projects/vality/swag-payments/src/lib/model/invoice-line-tax-mode.ts","../../../../projects/vality/swag-payments/src/lib/model/invoice-line-tax-vat.ts","../../../../projects/vality/swag-payments/src/lib/model/invoice-line-tax-vat-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/invoice-params-with-template.ts","../../../../projects/vality/swag-payments/src/lib/model/invoice-russian-bank-account-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/invoice-status.ts","../../../../projects/vality/swag-payments/src/lib/model/invoice-status-changed.ts","../../../../projects/vality/swag-payments/src/lib/model/invoice-template-details.ts","../../../../projects/vality/swag-payments/src/lib/model/invoice-template-line-cost.ts","../../../../projects/vality/swag-payments/src/lib/model/invoice-template-line-cost-fixed-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/invoices-topic.ts","../../../../projects/vality/swag-payments/src/lib/model/invoices-topic-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/legal-agreement.ts","../../../../projects/vality/swag-payments/src/lib/model/legal-entity-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/lifetime-interval.ts","../../../../projects/vality/swag-payments/src/lib/model/logic-error.ts","../../../../projects/vality/swag-payments/src/lib/model/mobile-commerce-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/mobile-commerce-details.ts","../../../../projects/vality/swag-payments/src/lib/model/mobile-commerce-phone.ts","../../../../projects/vality/swag-payments/src/lib/model/party.ts","../../../../projects/vality/swag-payments/src/lib/model/payer-session-info.ts","../../../../projects/vality/swag-payments/src/lib/model/payment.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-flow.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-flow-hold.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-flow-hold-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-institution.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-method.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-recurrent-parent.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-resource-client-info.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-search-result.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-status.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-status-changed.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-status-changed-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-terminal-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-terminal-data-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-terminal-details.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-terminal-receipt-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-terms.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-tool.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-tool-details.ts","../../../../projects/vality/swag-payments/src/lib/model/payment-tool-details-bank-card.ts","../../../../projects/vality/swag-payments/src/lib/model/payout-params.ts","../../../../projects/vality/swag-payments/src/lib/model/payout-tool-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/payout-tool-details.ts","../../../../projects/vality/swag-payments/src/lib/model/payout-tool-details-wallet-info-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/private-entity-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/qr-code-display-request-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/realm-mode.ts","../../../../projects/vality/swag-payments/src/lib/model/reason.ts","../../../../projects/vality/swag-payments/src/lib/model/refund.ts","../../../../projects/vality/swag-payments/src/lib/model/refund-error.ts","../../../../projects/vality/swag-payments/src/lib/model/refund-search-result.ts","../../../../projects/vality/swag-payments/src/lib/model/refund-search-result-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/refund-status.ts","../../../../projects/vality/swag-payments/src/lib/model/refund-status-changed.ts","../../../../projects/vality/swag-payments/src/lib/model/refund-status-changed-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/registered-user-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/report-link.ts","../../../../projects/vality/swag-payments/src/lib/model/report-params.ts","../../../../projects/vality/swag-payments/src/lib/model/representative-document.ts","../../../../projects/vality/swag-payments/src/lib/model/rescind-invoice400-response.ts","../../../../projects/vality/swag-payments/src/lib/model/samsung-pay-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/schedule.ts","../../../../projects/vality/swag-payments/src/lib/model/service-provider.ts","../../../../projects/vality/swag-payments/src/lib/model/shop-details.ts","../../../../projects/vality/swag-payments/src/lib/model/shop-location.ts","../../../../projects/vality/swag-payments/src/lib/model/shop-location-url-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/sub-error.ts","../../../../projects/vality/swag-payments/src/lib/model/tokenized-card-data-all-of.ts","../../../../projects/vality/swag-payments/src/lib/model/trade-bloc.ts","../../../../projects/vality/swag-payments/src/lib/model/transaction-info.ts","../../../../projects/vality/swag-payments/src/lib/model/update-invoice-template400-response.ts","../../../../projects/vality/swag-payments/src/lib/model/user-interaction.ts","../../../../projects/vality/swag-payments/src/lib/model/user-interaction-form-inner.ts","../../../../projects/vality/swag-payments/src/lib/model/webhook-scope.ts","../../../../projects/vality/swag-payments/src/lib/model/yandex-pay-all-of.ts","../../../../projects/vality/swag-payments/src/lib/api.module.ts","../../../../projects/vality/swag-payments/src/vality-swag-payments.ts"],"sourcesContent":["import { HttpParameterCodec } from '@angular/common/http';\n\n/**\n * Custom HttpParameterCodec\n * Workaround for https://github.com/angular/angular/issues/18261\n */\nexport class CustomHttpParameterCodec implements HttpParameterCodec {\n encodeKey(k: string): string {\n return encodeURIComponent(k);\n }\n encodeValue(v: string): string {\n return encodeURIComponent(v);\n }\n decodeKey(k: string): string {\n return decodeURIComponent(k);\n }\n decodeValue(v: string): string {\n return decodeURIComponent(v);\n }\n}\n","import { InjectionToken } from '@angular/core';\n\nexport const BASE_PATH = new InjectionToken<string>('basePath');\nexport const COLLECTION_FORMATS = {\n 'csv': ',',\n 'tsv': ' ',\n 'ssv': ' ',\n 'pipes': '|'\n}\n","import { HttpParameterCodec } from '@angular/common/http';\nimport { Param } from './param';\n\nexport interface ConfigurationParameters {\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n /**\n * Takes care of encoding query- and form-parameters.\n */\n encoder?: HttpParameterCodec;\n /**\n * Override the default method for encoding path parameters in various\n * <a href=\"https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#style-values\">styles</a>.\n * <p>\n * See {@link README.md} for more details\n * </p>\n */\n encodeParam?: (param: Param) => string;\n /**\n * The keys are the names in the securitySchemes section of the OpenAPI\n * document. They should map to the value used for authentication\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\n */\n credentials?: {[ key: string ]: string | (() => string | undefined)};\n}\n\nexport class Configuration {\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n apiKeys?: {[ key: string ]: string};\n username?: string;\n password?: string;\n /**\n * @deprecated Since 5.0. Use credentials instead\n */\n accessToken?: string | (() => string);\n basePath?: string;\n withCredentials?: boolean;\n /**\n * Takes care of encoding query- and form-parameters.\n */\n encoder?: HttpParameterCodec;\n /**\n * Encoding of various path parameter\n * <a href=\"https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.1.0.md#style-values\">styles</a>.\n * <p>\n * See {@link README.md} for more details\n * </p>\n */\n encodeParam: (param: Param) => string;\n /**\n * The keys are the names in the securitySchemes section of the OpenAPI\n * document. They should map to the value used for authentication\n * minus any standard prefixes such as 'Basic' or 'Bearer'.\n */\n credentials: {[ key: string ]: string | (() => string | undefined)};\n\n constructor(configurationParameters: ConfigurationParameters = {}) {\n this.apiKeys = configurationParameters.apiKeys;\n this.username = configurationParameters.username;\n this.password = configurationParameters.password;\n this.accessToken = configurationParameters.accessToken;\n this.basePath = configurationParameters.basePath;\n this.withCredentials = configurationParameters.withCredentials;\n this.encoder = configurationParameters.encoder;\n if (configurationParameters.encodeParam) {\n this.encodeParam = configurationParameters.encodeParam;\n }\n else {\n this.encodeParam = param => this.defaultEncodeParam(param);\n }\n if (configurationParameters.credentials) {\n this.credentials = configurationParameters.credentials;\n }\n else {\n this.credentials = {};\n }\n\n // init default bearer credential\n if (!this.credentials['bearer']) {\n this.credentials['bearer'] = () => {\n if (this.apiKeys === null || this.apiKeys === undefined) {\n return undefined;\n } else {\n return this.apiKeys['bearer'] || this.apiKeys['Authorization'];\n }\n };\n }\n }\n\n /**\n * Select the correct content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param contentTypes - the array of content types that are available for selection\n * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n */\n public selectHeaderContentType (contentTypes: string[]): string | undefined {\n if (contentTypes.length === 0) {\n return undefined;\n }\n\n const type = contentTypes.find((x: string) => this.isJsonMime(x));\n if (type === undefined) {\n return contentTypes[0];\n }\n return type;\n }\n\n /**\n * Select the correct accept content-type to use for a request.\n * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.\n * If no content type is found return the first found type if the contentTypes is not empty\n * @param accepts - the array of content types that are available for selection.\n * @returns the selected content-type or <code>undefined</code> if no selection could be made.\n */\n public selectHeaderAccept(accepts: string[]): string | undefined {\n if (accepts.length === 0) {\n return undefined;\n }\n\n const type = accepts.find((x: string) => this.isJsonMime(x));\n if (type === undefined) {\n return accepts[0];\n }\n return type;\n }\n\n /**\n * Check if the given MIME is a JSON MIME.\n * JSON MIME examples:\n * application/json\n * application/json; charset=UTF8\n * APPLICATION/JSON\n * application/vnd.company+json\n * @param mime - MIME (Multipurpose Internet Mail Extensions)\n * @return True if the given MIME is JSON, false otherwise.\n */\n public isJsonMime(mime: string): boolean {\n const jsonMime: RegExp = new RegExp('^(application\\/json|[^;/ \\t]+\\/[^;/ \\t]+[+]json)[ \\t]*(;.*)?$', 'i');\n return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');\n }\n\n public lookupCredential(key: string): string | undefined {\n const value = this.credentials[key];\n return typeof value === 'function'\n ? value()\n : value;\n }\n\n private defaultEncodeParam(param: Param): string {\n // This implementation exists as fallback for missing configuration\n // and for backwards compatibility to older typescript-angular generator versions.\n // It only works for the 'simple' parameter style.\n // Date-handling only works for the 'date-time' format.\n // All other styles and Date-formats are probably handled incorrectly.\n //\n // But: if that's all you need (i.e.: the most common use-case): no need for customization!\n\n const value = param.dataFormat === 'date-time' && param.value instanceof Date\n ? (param.value as Date).toISOString()\n : param.value;\n\n return encodeURIComponent(String(value));\n }\n}\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { Category } from '../model/category';\n// @ts-ignore\nimport { DefaultLogicError } from '../model/default-logic-error';\n// @ts-ignore\nimport { GeneralError } from '../model/general-error';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\nexport interface GetCategoriesRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetCategoryByRefRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Category reference */\n categoryID: number;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CategoriesService {\n\n protected basePath = '/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (Array.isArray(basePath) && basePath.length > 0) {\n basePath = basePath[0];\n }\n\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Get list of categories\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getCategories(requestParameters: GetCategoriesRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<Category>>;\n public getCategories(requestParameters: GetCategoriesRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<Category>>>;\n public getCategories(requestParameters: GetCategoriesRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<Category>>>;\n public getCategories(requestParameters: GetCategoriesRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getCategories.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/categories`;\n return this.httpClient.request<Array<Category>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get category data by identifier\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getCategoryByRef(requestParameters: GetCategoryByRefRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Category>;\n public getCategoryByRef(requestParameters: GetCategoryByRefRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Category>>;\n public getCategoryByRef(requestParameters: GetCategoryByRefRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Category>>;\n public getCategoryByRef(requestParameters: GetCategoryByRefRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getCategoryByRef.');\n }\n const categoryID = requestParameters.categoryID;\n if (categoryID === null || categoryID === undefined) {\n throw new Error('Required parameter categoryID was null or undefined when calling getCategoryByRef.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/categories/${this.configuration.encodeParam({name: \"categoryID\", value: categoryID, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: \"int32\"})}`;\n return this.httpClient.request<Category>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { Contract } from '../model/contract';\n// @ts-ignore\nimport { ContractAdjustment } from '../model/contract-adjustment';\n// @ts-ignore\nimport { DefaultLogicError } from '../model/default-logic-error';\n// @ts-ignore\nimport { GeneralError } from '../model/general-error';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\nexport interface GetContractAdjustmentByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Contract ID */\n contractID: string;\n /** Contract adjustment identifier */\n adjustmentID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetContractAdjustmentByIDForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Contract ID */\n contractID: string;\n /** Contract adjustment identifier */\n adjustmentID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetContractAdjustmentsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Contract ID */\n contractID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetContractAdjustmentsForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Contract ID */\n contractID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetContractByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Contract ID */\n contractID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetContractByIDForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Contract ID */\n contractID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetContractsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetContractsForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ContractsService {\n\n protected basePath = '/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (Array.isArray(basePath) && basePath.length > 0) {\n basePath = basePath[0];\n }\n\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Get contract adjustment data by identifier\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getContractAdjustmentByID(requestParameters: GetContractAdjustmentByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<ContractAdjustment>;\n public getContractAdjustmentByID(requestParameters: GetContractAdjustmentByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<ContractAdjustment>>;\n public getContractAdjustmentByID(requestParameters: GetContractAdjustmentByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<ContractAdjustment>>;\n public getContractAdjustmentByID(requestParameters: GetContractAdjustmentByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getContractAdjustmentByID.');\n }\n const contractID = requestParameters.contractID;\n if (contractID === null || contractID === undefined) {\n throw new Error('Required parameter contractID was null or undefined when calling getContractAdjustmentByID.');\n }\n const adjustmentID = requestParameters.adjustmentID;\n if (adjustmentID === null || adjustmentID === undefined) {\n throw new Error('Required parameter adjustmentID was null or undefined when calling getContractAdjustmentByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/contracts/${this.configuration.encodeParam({name: \"contractID\", value: contractID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/adjustments/${this.configuration.encodeParam({name: \"adjustmentID\", value: adjustmentID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<ContractAdjustment>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get contract adjustment data by identifier\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getContractAdjustmentByIDForParty(requestParameters: GetContractAdjustmentByIDForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<ContractAdjustment>;\n public getContractAdjustmentByIDForParty(requestParameters: GetContractAdjustmentByIDForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<ContractAdjustment>>;\n public getContractAdjustmentByIDForParty(requestParameters: GetContractAdjustmentByIDForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<ContractAdjustment>>;\n public getContractAdjustmentByIDForParty(requestParameters: GetContractAdjustmentByIDForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getContractAdjustmentByIDForParty.');\n }\n const contractID = requestParameters.contractID;\n if (contractID === null || contractID === undefined) {\n throw new Error('Required parameter contractID was null or undefined when calling getContractAdjustmentByIDForParty.');\n }\n const adjustmentID = requestParameters.adjustmentID;\n if (adjustmentID === null || adjustmentID === undefined) {\n throw new Error('Required parameter adjustmentID was null or undefined when calling getContractAdjustmentByIDForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling getContractAdjustmentByIDForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/contracts/${this.configuration.encodeParam({name: \"contractID\", value: contractID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/adjustments/${this.configuration.encodeParam({name: \"adjustmentID\", value: adjustmentID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<ContractAdjustment>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get all adjustments to the specified contract\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getContractAdjustments(requestParameters: GetContractAdjustmentsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<ContractAdjustment>>;\n public getContractAdjustments(requestParameters: GetContractAdjustmentsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<ContractAdjustment>>>;\n public getContractAdjustments(requestParameters: GetContractAdjustmentsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<ContractAdjustment>>>;\n public getContractAdjustments(requestParameters: GetContractAdjustmentsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getContractAdjustments.');\n }\n const contractID = requestParameters.contractID;\n if (contractID === null || contractID === undefined) {\n throw new Error('Required parameter contractID was null or undefined when calling getContractAdjustments.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/contracts/${this.configuration.encodeParam({name: \"contractID\", value: contractID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/adjustments`;\n return this.httpClient.request<Array<ContractAdjustment>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get all adjustments to the specified contract\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getContractAdjustmentsForParty(requestParameters: GetContractAdjustmentsForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<ContractAdjustment>>;\n public getContractAdjustmentsForParty(requestParameters: GetContractAdjustmentsForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<ContractAdjustment>>>;\n public getContractAdjustmentsForParty(requestParameters: GetContractAdjustmentsForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<ContractAdjustment>>>;\n public getContractAdjustmentsForParty(requestParameters: GetContractAdjustmentsForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getContractAdjustmentsForParty.');\n }\n const contractID = requestParameters.contractID;\n if (contractID === null || contractID === undefined) {\n throw new Error('Required parameter contractID was null or undefined when calling getContractAdjustmentsForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling getContractAdjustmentsForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/contracts/${this.configuration.encodeParam({name: \"contractID\", value: contractID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/adjustments`;\n return this.httpClient.request<Array<ContractAdjustment>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get contract by identifier\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getContractByID(requestParameters: GetContractByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Contract>;\n public getContractByID(requestParameters: GetContractByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Contract>>;\n public getContractByID(requestParameters: GetContractByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Contract>>;\n public getContractByID(requestParameters: GetContractByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getContractByID.');\n }\n const contractID = requestParameters.contractID;\n if (contractID === null || contractID === undefined) {\n throw new Error('Required parameter contractID was null or undefined when calling getContractByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/contracts/${this.configuration.encodeParam({name: \"contractID\", value: contractID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<Contract>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get contract data by identifier\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getContractByIDForParty(requestParameters: GetContractByIDForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Contract>;\n public getContractByIDForParty(requestParameters: GetContractByIDForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Contract>>;\n public getContractByIDForParty(requestParameters: GetContractByIDForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Contract>>;\n public getContractByIDForParty(requestParameters: GetContractByIDForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getContractByIDForParty.');\n }\n const contractID = requestParameters.contractID;\n if (contractID === null || contractID === undefined) {\n throw new Error('Required parameter contractID was null or undefined when calling getContractByIDForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling getContractByIDForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/contracts/${this.configuration.encodeParam({name: \"contractID\", value: contractID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<Contract>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get data from all of the contracts\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getContracts(requestParameters: GetContractsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<Contract>>;\n public getContracts(requestParameters: GetContractsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<Contract>>>;\n public getContracts(requestParameters: GetContractsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<Contract>>>;\n public getContracts(requestParameters: GetContractsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getContracts.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/contracts`;\n return this.httpClient.request<Array<Contract>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get data from all of the contracts\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getContractsForParty(requestParameters: GetContractsForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<Contract>>;\n public getContractsForParty(requestParameters: GetContractsForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<Contract>>>;\n public getContractsForParty(requestParameters: GetContractsForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<Contract>>>;\n public getContractsForParty(requestParameters: GetContractsForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getContractsForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling getContractsForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/contracts`;\n return this.httpClient.request<Array<Contract>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { Country } from '../model/country';\n// @ts-ignore\nimport { DefaultLogicError } from '../model/default-logic-error';\n// @ts-ignore\nimport { GeneralError } from '../model/general-error';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\nexport interface GetCountriesRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetCountryByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Alpha-3 country code by standard [ISO 3166-1] (https://en.wikipedia.org/wiki/ISO_3166-1) */\n countryID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CountriesService {\n\n protected basePath = '/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (Array.isArray(basePath) && basePath.length > 0) {\n basePath = basePath[0];\n }\n\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Get list of countries\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getCountries(requestParameters: GetCountriesRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<Country>>;\n public getCountries(requestParameters: GetCountriesRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<Country>>>;\n public getCountries(requestParameters: GetCountriesRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<Country>>>;\n public getCountries(requestParameters: GetCountriesRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getCountries.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/countries`;\n return this.httpClient.request<Array<Country>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get country data by country identifier\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getCountryByID(requestParameters: GetCountryByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Country>;\n public getCountryByID(requestParameters: GetCountryByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Country>>;\n public getCountryByID(requestParameters: GetCountryByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Country>>;\n public getCountryByID(requestParameters: GetCountryByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getCountryByID.');\n }\n const countryID = requestParameters.countryID;\n if (countryID === null || countryID === undefined) {\n throw new Error('Required parameter countryID was null or undefined when calling getCountryByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/countries/${this.configuration.encodeParam({name: \"countryID\", value: countryID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<Country>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { AccessToken } from '../model/access-token';\n// @ts-ignore\nimport { CreateBinding400Response } from '../model/create-binding400-response';\n// @ts-ignore\nimport { CreateCustomer400Response } from '../model/create-customer400-response';\n// @ts-ignore\nimport { Customer } from '../model/customer';\n// @ts-ignore\nimport { CustomerAndToken } from '../model/customer-and-token';\n// @ts-ignore\nimport { CustomerBinding } from '../model/customer-binding';\n// @ts-ignore\nimport { CustomerBindingParams } from '../model/customer-binding-params';\n// @ts-ignore\nimport { CustomerEvent } from '../model/customer-event';\n// @ts-ignore\nimport { CustomerParams } from '../model/customer-params';\n// @ts-ignore\nimport { DefaultLogicError } from '../model/default-logic-error';\n// @ts-ignore\nimport { DeleteCustomer400Response } from '../model/delete-customer400-response';\n// @ts-ignore\nimport { ExternalIDConflictError } from '../model/external-id-conflict-error';\n// @ts-ignore\nimport { GeneralError } from '../model/general-error';\n// @ts-ignore\nimport { PaymentMethod } from '../model/payment-method';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\nexport interface CreateBindingRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Customer ID */\n customerID: string;\n /** Parameters of the created binding */\n bindingParams: CustomerBindingParams;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface CreateCustomerRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Parameters of the customer to be created */\n customerParams: CustomerParams;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface CreateCustomerAccessTokenRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Customer ID */\n customerID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface DeleteCustomerRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Customer ID */\n customerID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetBindingRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Customer ID */\n customerID: string;\n /** Customer binding identifier */\n customerBindingID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetBindingsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Customer ID */\n customerID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetCustomerByIdRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Customer ID */\n customerID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetCustomerEventsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Customer ID */\n customerID: string;\n /** Selection limit */\n limit: number;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n /** Event identifier. All events that occurred in the system _after_ the specified event will be included in the selection. */\n eventID?: number;\n}\n\nexport interface GetCustomerPaymentMethodsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Customer ID */\n customerID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CustomersService {\n\n protected basePath = '/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (Array.isArray(basePath) && basePath.length > 0) {\n basePath = basePath[0];\n }\n\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Start a new payer binding.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public createBinding(requestParameters: CreateBindingRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<CustomerBinding>;\n public createBinding(requestParameters: CreateBindingRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<CustomerBinding>>;\n public createBinding(requestParameters: CreateBindingRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<CustomerBinding>>;\n public createBinding(requestParameters: CreateBindingRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling createBinding.');\n }\n const customerID = requestParameters.customerID;\n if (customerID === null || customerID === undefined) {\n throw new Error('Required parameter customerID was null or undefined when calling createBinding.');\n }\n const bindingParams = requestParameters.bindingParams;\n if (bindingParams === null || bindingParams === undefined) {\n throw new Error('Required parameter bindingParams was null or undefined when calling createBinding.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json; charset=utf-8'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/customers/${this.configuration.encodeParam({name: \"customerID\", value: customerID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/bindings`;\n return this.httpClient.request<CustomerBinding>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n body: bindingParams,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Create a new customer.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public createCustomer(requestParameters: CreateCustomerRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<CustomerAndToken>;\n public createCustomer(requestParameters: CreateCustomerRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<CustomerAndToken>>;\n public createCustomer(requestParameters: CreateCustomerRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<CustomerAndToken>>;\n public createCustomer(requestParameters: CreateCustomerRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling createCustomer.');\n }\n const customerParams = requestParameters.customerParams;\n if (customerParams === null || customerParams === undefined) {\n throw new Error('Required parameter customerParams was null or undefined when calling createCustomer.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json; charset=utf-8'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/customers`;\n return this.httpClient.request<CustomerAndToken>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n body: customerParams,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Create a new token to access the specified customer. \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public createCustomerAccessToken(requestParameters: CreateCustomerAccessTokenRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<AccessToken>;\n public createCustomerAccessToken(requestParameters: CreateCustomerAccessTokenRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<AccessToken>>;\n public createCustomerAccessToken(requestParameters: CreateCustomerAccessTokenRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<AccessToken>>;\n public createCustomerAccessToken(requestParameters: CreateCustomerAccessTokenRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling createCustomerAccessToken.');\n }\n const customerID = requestParameters.customerID;\n if (customerID === null || customerID === undefined) {\n throw new Error('Required parameter customerID was null or undefined when calling createCustomerAccessToken.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/customers/${this.configuration.encodeParam({name: \"customerID\", value: customerID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/access-tokens`;\n return this.httpClient.request<AccessToken>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Delete a customer by identifier\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public deleteCustomer(requestParameters: DeleteCustomerRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any>;\n public deleteCustomer(requestParameters: DeleteCustomerRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<any>>;\n public deleteCustomer(requestParameters: DeleteCustomerRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<any>>;\n public deleteCustomer(requestParameters: DeleteCustomerRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling deleteCustomer.');\n }\n const customerID = requestParameters.customerID;\n if (customerID === null || customerID === undefined) {\n throw new Error('Required parameter customerID was null or undefined when calling deleteCustomer.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/customers/${this.configuration.encodeParam({name: \"customerID\", value: customerID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get customer binding data.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getBinding(requestParameters: GetBindingRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<CustomerBinding>;\n public getBinding(requestParameters: GetBindingRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<CustomerBinding>>;\n public getBinding(requestParameters: GetBindingRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<CustomerBinding>>;\n public getBinding(requestParameters: GetBindingRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getBinding.');\n }\n const customerID = requestParameters.customerID;\n if (customerID === null || customerID === undefined) {\n throw new Error('Required parameter customerID was null or undefined when calling getBinding.');\n }\n const customerBindingID = requestParameters.customerBindingID;\n if (customerBindingID === null || customerBindingID === undefined) {\n throw new Error('Required parameter customerBindingID was null or undefined when calling getBinding.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/customers/${this.configuration.encodeParam({name: \"customerID\", value: customerID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/bindings/${this.configuration.encodeParam({name: \"customerBindingID\", value: customerBindingID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<CustomerBinding>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get all payer bindings.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getBindings(requestParameters: GetBindingsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<CustomerBinding>>;\n public getBindings(requestParameters: GetBindingsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<CustomerBinding>>>;\n public getBindings(requestParameters: GetBindingsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<CustomerBinding>>>;\n public getBindings(requestParameters: GetBindingsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getBindings.');\n }\n const customerID = requestParameters.customerID;\n if (customerID === null || customerID === undefined) {\n throw new Error('Required parameter customerID was null or undefined when calling getBindings.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/customers/${this.configuration.encodeParam({name: \"customerID\", value: customerID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/bindings`;\n return this.httpClient.request<Array<CustomerBinding>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get a customer data by identifier.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getCustomerById(requestParameters: GetCustomerByIdRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Customer>;\n public getCustomerById(requestParameters: GetCustomerByIdRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Customer>>;\n public getCustomerById(requestParameters: GetCustomerByIdRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Customer>>;\n public getCustomerById(requestParameters: GetCustomerByIdRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getCustomerById.');\n }\n const customerID = requestParameters.customerID;\n if (customerID === null || customerID === undefined) {\n throw new Error('Required parameter customerID was null or undefined when calling getCustomerById.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/customers/${this.configuration.encodeParam({name: \"customerID\", value: customerID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<Customer>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get the history of the specified customer as a list of events.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getCustomerEvents(requestParameters: GetCustomerEventsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<CustomerEvent>>;\n public getCustomerEvents(requestParameters: GetCustomerEventsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<CustomerEvent>>>;\n public getCustomerEvents(requestParameters: GetCustomerEventsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<CustomerEvent>>>;\n public getCustomerEvents(requestParameters: GetCustomerEventsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getCustomerEvents.');\n }\n const customerID = requestParameters.customerID;\n if (customerID === null || customerID === undefined) {\n throw new Error('Required parameter customerID was null or undefined when calling getCustomerEvents.');\n }\n const limit = requestParameters.limit;\n if (limit === null || limit === undefined) {\n throw new Error('Required parameter limit was null or undefined when calling getCustomerEvents.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n const eventID = requestParameters.eventID;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (limit !== undefined && limit !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>limit, 'limit');\n }\n if (eventID !== undefined && eventID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>eventID, 'eventID');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/customers/${this.configuration.encodeParam({name: \"customerID\", value: customerID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/events`;\n return this.httpClient.request<Array<CustomerEvent>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get the payment methods available for the customer.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getCustomerPaymentMethods(requestParameters: GetCustomerPaymentMethodsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<PaymentMethod>>;\n public getCustomerPaymentMethods(requestParameters: GetCustomerPaymentMethodsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<PaymentMethod>>>;\n public getCustomerPaymentMethods(requestParameters: GetCustomerPaymentMethodsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<PaymentMethod>>>;\n public getCustomerPaymentMethods(requestParameters: GetCustomerPaymentMethodsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getCustomerPaymentMethods.');\n }\n const customerID = requestParameters.customerID;\n if (customerID === null || customerID === undefined) {\n throw new Error('Required parameter customerID was null or undefined when calling getCustomerPaymentMethods.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/customers/${this.configuration.encodeParam({name: \"customerID\", value: customerID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payment-methods`;\n return this.httpClient.request<Array<PaymentMethod>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CreateInvoiceTemplate400Response } from '../model/create-invoice-template400-response';\n// @ts-ignore\nimport { CreateInvoiceWithTemplate400Response } from '../model/create-invoice-with-template400-response';\n// @ts-ignore\nimport { DefaultLogicError } from '../model/default-logic-error';\n// @ts-ignore\nimport { DeleteCustomer400Response } from '../model/delete-customer400-response';\n// @ts-ignore\nimport { ExternalIDConflictError } from '../model/external-id-conflict-error';\n// @ts-ignore\nimport { GeneralError } from '../model/general-error';\n// @ts-ignore\nimport { InvoiceAndToken } from '../model/invoice-and-token';\n// @ts-ignore\nimport { InvoiceParamsWithTemplate } from '../model/invoice-params-with-template';\n// @ts-ignore\nimport { InvoiceTemplate } from '../model/invoice-template';\n// @ts-ignore\nimport { InvoiceTemplateAndToken } from '../model/invoice-template-and-token';\n// @ts-ignore\nimport { InvoiceTemplateCreateParams } from '../model/invoice-template-create-params';\n// @ts-ignore\nimport { InvoiceTemplateUpdateParams } from '../model/invoice-template-update-params';\n// @ts-ignore\nimport { PaymentMethod } from '../model/payment-method';\n// @ts-ignore\nimport { UpdateInvoiceTemplate400Response } from '../model/update-invoice-template400-response';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\nexport interface CreateInvoiceTemplateRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice template parameters. */\n invoiceTemplateCreateParams: InvoiceTemplateCreateParams;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface CreateInvoiceWithTemplateRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice template ID */\n invoiceTemplateID: string;\n /** Invoice parameters */\n invoiceParamsWithTemplate: InvoiceParamsWithTemplate;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface DeleteInvoiceTemplateRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice template ID */\n invoiceTemplateID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetInvoicePaymentMethodsByTemplateIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice template ID */\n invoiceTemplateID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetInvoiceTemplateByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice template ID */\n invoiceTemplateID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface UpdateInvoiceTemplateRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice template ID */\n invoiceTemplateID: string;\n /** Invoice template parameters. */\n invoiceTemplateUpdateParams: InvoiceTemplateUpdateParams;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InvoiceTemplatesService {\n\n protected basePath = '/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (Array.isArray(basePath) && basePath.length > 0) {\n basePath = basePath[0];\n }\n\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Create an new invoice template.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public createInvoiceTemplate(requestParameters: CreateInvoiceTemplateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<InvoiceTemplateAndToken>;\n public createInvoiceTemplate(requestParameters: CreateInvoiceTemplateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<InvoiceTemplateAndToken>>;\n public createInvoiceTemplate(requestParameters: CreateInvoiceTemplateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<InvoiceTemplateAndToken>>;\n public createInvoiceTemplate(requestParameters: CreateInvoiceTemplateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling createInvoiceTemplate.');\n }\n const invoiceTemplateCreateParams = requestParameters.invoiceTemplateCreateParams;\n if (invoiceTemplateCreateParams === null || invoiceTemplateCreateParams === undefined) {\n throw new Error('Required parameter invoiceTemplateCreateParams was null or undefined when calling createInvoiceTemplate.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json; charset=utf-8'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoice-templates`;\n return this.httpClient.request<InvoiceTemplateAndToken>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n body: invoiceTemplateCreateParams,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Create a new invoice using the invoice template.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public createInvoiceWithTemplate(requestParameters: CreateInvoiceWithTemplateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<InvoiceAndToken>;\n public createInvoiceWithTemplate(requestParameters: CreateInvoiceWithTemplateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<InvoiceAndToken>>;\n public createInvoiceWithTemplate(requestParameters: CreateInvoiceWithTemplateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<InvoiceAndToken>>;\n public createInvoiceWithTemplate(requestParameters: CreateInvoiceWithTemplateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling createInvoiceWithTemplate.');\n }\n const invoiceTemplateID = requestParameters.invoiceTemplateID;\n if (invoiceTemplateID === null || invoiceTemplateID === undefined) {\n throw new Error('Required parameter invoiceTemplateID was null or undefined when calling createInvoiceWithTemplate.');\n }\n const invoiceParamsWithTemplate = requestParameters.invoiceParamsWithTemplate;\n if (invoiceParamsWithTemplate === null || invoiceParamsWithTemplate === undefined) {\n throw new Error('Required parameter invoiceParamsWithTemplate was null or undefined when calling createInvoiceWithTemplate.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json; charset=utf-8'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoice-templates/${this.configuration.encodeParam({name: \"invoiceTemplateID\", value: invoiceTemplateID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/invoices`;\n return this.httpClient.request<InvoiceAndToken>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n body: invoiceParamsWithTemplate,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Remove invoice template.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public deleteInvoiceTemplate(requestParameters: DeleteInvoiceTemplateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any>;\n public deleteInvoiceTemplate(requestParameters: DeleteInvoiceTemplateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<any>>;\n public deleteInvoiceTemplate(requestParameters: DeleteInvoiceTemplateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<any>>;\n public deleteInvoiceTemplate(requestParameters: DeleteInvoiceTemplateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling deleteInvoiceTemplate.');\n }\n const invoiceTemplateID = requestParameters.invoiceTemplateID;\n if (invoiceTemplateID === null || invoiceTemplateID === undefined) {\n throw new Error('Required parameter invoiceTemplateID was null or undefined when calling deleteInvoiceTemplate.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoice-templates/${this.configuration.encodeParam({name: \"invoiceTemplateID\", value: invoiceTemplateID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get the available payment methods for the invoice from the invoice template.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getInvoicePaymentMethodsByTemplateID(requestParameters: GetInvoicePaymentMethodsByTemplateIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<PaymentMethod>>;\n public getInvoicePaymentMethodsByTemplateID(requestParameters: GetInvoicePaymentMethodsByTemplateIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<PaymentMethod>>>;\n public getInvoicePaymentMethodsByTemplateID(requestParameters: GetInvoicePaymentMethodsByTemplateIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<PaymentMethod>>>;\n public getInvoicePaymentMethodsByTemplateID(requestParameters: GetInvoicePaymentMethodsByTemplateIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getInvoicePaymentMethodsByTemplateID.');\n }\n const invoiceTemplateID = requestParameters.invoiceTemplateID;\n if (invoiceTemplateID === null || invoiceTemplateID === undefined) {\n throw new Error('Required parameter invoiceTemplateID was null or undefined when calling getInvoicePaymentMethodsByTemplateID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoice-templates/${this.configuration.encodeParam({name: \"invoiceTemplateID\", value: invoiceTemplateID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payment-methods`;\n return this.httpClient.request<Array<PaymentMethod>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get an invoice template by identifier.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getInvoiceTemplateByID(requestParameters: GetInvoiceTemplateByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<InvoiceTemplate>;\n public getInvoiceTemplateByID(requestParameters: GetInvoiceTemplateByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<InvoiceTemplate>>;\n public getInvoiceTemplateByID(requestParameters: GetInvoiceTemplateByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<InvoiceTemplate>>;\n public getInvoiceTemplateByID(requestParameters: GetInvoiceTemplateByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getInvoiceTemplateByID.');\n }\n const invoiceTemplateID = requestParameters.invoiceTemplateID;\n if (invoiceTemplateID === null || invoiceTemplateID === undefined) {\n throw new Error('Required parameter invoiceTemplateID was null or undefined when calling getInvoiceTemplateByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoice-templates/${this.configuration.encodeParam({name: \"invoiceTemplateID\", value: invoiceTemplateID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<InvoiceTemplate>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Change the invoice template.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public updateInvoiceTemplate(requestParameters: UpdateInvoiceTemplateRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<InvoiceTemplate>;\n public updateInvoiceTemplate(requestParameters: UpdateInvoiceTemplateRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<InvoiceTemplate>>;\n public updateInvoiceTemplate(requestParameters: UpdateInvoiceTemplateRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<InvoiceTemplate>>;\n public updateInvoiceTemplate(requestParameters: UpdateInvoiceTemplateRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling updateInvoiceTemplate.');\n }\n const invoiceTemplateID = requestParameters.invoiceTemplateID;\n if (invoiceTemplateID === null || invoiceTemplateID === undefined) {\n throw new Error('Required parameter invoiceTemplateID was null or undefined when calling updateInvoiceTemplate.');\n }\n const invoiceTemplateUpdateParams = requestParameters.invoiceTemplateUpdateParams;\n if (invoiceTemplateUpdateParams === null || invoiceTemplateUpdateParams === undefined) {\n throw new Error('Required parameter invoiceTemplateUpdateParams was null or undefined when calling updateInvoiceTemplate.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json; charset=utf-8'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoice-templates/${this.configuration.encodeParam({name: \"invoiceTemplateID\", value: invoiceTemplateID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<InvoiceTemplate>('put', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n body: invoiceTemplateUpdateParams,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { AccessToken } from '../model/access-token';\n// @ts-ignore\nimport { CreateInvoice400Response } from '../model/create-invoice400-response';\n// @ts-ignore\nimport { DefaultLogicError } from '../model/default-logic-error';\n// @ts-ignore\nimport { ExternalIDConflictError } from '../model/external-id-conflict-error';\n// @ts-ignore\nimport { FulfillInvoice400Response } from '../model/fulfill-invoice400-response';\n// @ts-ignore\nimport { GeneralError } from '../model/general-error';\n// @ts-ignore\nimport { Invoice } from '../model/invoice';\n// @ts-ignore\nimport { InvoiceAndToken } from '../model/invoice-and-token';\n// @ts-ignore\nimport { InvoiceEvent } from '../model/invoice-event';\n// @ts-ignore\nimport { InvoiceParams } from '../model/invoice-params';\n// @ts-ignore\nimport { PaymentMethod } from '../model/payment-method';\n// @ts-ignore\nimport { Reason } from '../model/reason';\n// @ts-ignore\nimport { RescindInvoice400Response } from '../model/rescind-invoice400-response';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\nexport interface CreateInvoiceRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice parameters */\n invoiceParams: InvoiceParams;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface CreateInvoiceAccessTokenRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface FulfillInvoiceRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Reason for the operation */\n fulfillInvoice: Reason;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetInvoiceByExternalIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** External invoice identifier */\n externalID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetInvoiceByExternalIDForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** External invoice identifier */\n externalID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetInvoiceByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetInvoiceEventsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Selection limit */\n limit: number;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n /** Event identifier. All events that occurred in the system _after_ the specified event will be included in the selection. */\n eventID?: number;\n}\n\nexport interface GetInvoicePaymentMethodsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface RescindInvoiceRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Reason for the operation */\n rescindInvoice: Reason;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class InvoicesService {\n\n protected basePath = '/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (Array.isArray(basePath) && basePath.length > 0) {\n basePath = basePath[0];\n }\n\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Create a new invoice.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public createInvoice(requestParameters: CreateInvoiceRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<InvoiceAndToken>;\n public createInvoice(requestParameters: CreateInvoiceRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<InvoiceAndToken>>;\n public createInvoice(requestParameters: CreateInvoiceRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<InvoiceAndToken>>;\n public createInvoice(requestParameters: CreateInvoiceRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling createInvoice.');\n }\n const invoiceParams = requestParameters.invoiceParams;\n if (invoiceParams === null || invoiceParams === undefined) {\n throw new Error('Required parameter invoiceParams was null or undefined when calling createInvoice.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json; charset=utf-8'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices`;\n return this.httpClient.request<InvoiceAndToken>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n body: invoiceParams,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Create a new token to access the specified invoice.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public createInvoiceAccessToken(requestParameters: CreateInvoiceAccessTokenRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<AccessToken>;\n public createInvoiceAccessToken(requestParameters: CreateInvoiceAccessTokenRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<AccessToken>>;\n public createInvoiceAccessToken(requestParameters: CreateInvoiceAccessTokenRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<AccessToken>>;\n public createInvoiceAccessToken(requestParameters: CreateInvoiceAccessTokenRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling createInvoiceAccessToken.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling createInvoiceAccessToken.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/access-tokens`;\n return this.httpClient.request<AccessToken>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * To fulfill the specified invoice.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public fulfillInvoice(requestParameters: FulfillInvoiceRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any>;\n public fulfillInvoice(requestParameters: FulfillInvoiceRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<any>>;\n public fulfillInvoice(requestParameters: FulfillInvoiceRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<any>>;\n public fulfillInvoice(requestParameters: FulfillInvoiceRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling fulfillInvoice.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling fulfillInvoice.');\n }\n const fulfillInvoice = requestParameters.fulfillInvoice;\n if (fulfillInvoice === null || fulfillInvoice === undefined) {\n throw new Error('Required parameter fulfillInvoice was null or undefined when calling fulfillInvoice.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json; charset=utf-8'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/fulfill`;\n return this.httpClient.request<any>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n body: fulfillInvoice,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get invoice by specified external identifier.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getInvoiceByExternalID(requestParameters: GetInvoiceByExternalIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Invoice>;\n public getInvoiceByExternalID(requestParameters: GetInvoiceByExternalIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Invoice>>;\n public getInvoiceByExternalID(requestParameters: GetInvoiceByExternalIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Invoice>>;\n public getInvoiceByExternalID(requestParameters: GetInvoiceByExternalIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getInvoiceByExternalID.');\n }\n const externalID = requestParameters.externalID;\n if (externalID === null || externalID === undefined) {\n throw new Error('Required parameter externalID was null or undefined when calling getInvoiceByExternalID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (externalID !== undefined && externalID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>externalID, 'externalID');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices`;\n return this.httpClient.request<Invoice>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get an invoice by external identifier.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getInvoiceByExternalIDForParty(requestParameters: GetInvoiceByExternalIDForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Invoice>;\n public getInvoiceByExternalIDForParty(requestParameters: GetInvoiceByExternalIDForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Invoice>>;\n public getInvoiceByExternalIDForParty(requestParameters: GetInvoiceByExternalIDForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Invoice>>;\n public getInvoiceByExternalIDForParty(requestParameters: GetInvoiceByExternalIDForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getInvoiceByExternalIDForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling getInvoiceByExternalIDForParty.');\n }\n const externalID = requestParameters.externalID;\n if (externalID === null || externalID === undefined) {\n throw new Error('Required parameter externalID was null or undefined when calling getInvoiceByExternalIDForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (externalID !== undefined && externalID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>externalID, 'externalID');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/invoices`;\n return this.httpClient.request<Invoice>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get an invoice by identifier.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getInvoiceByID(requestParameters: GetInvoiceByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Invoice>;\n public getInvoiceByID(requestParameters: GetInvoiceByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Invoice>>;\n public getInvoiceByID(requestParameters: GetInvoiceByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Invoice>>;\n public getInvoiceByID(requestParameters: GetInvoiceByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getInvoiceByID.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling getInvoiceByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<Invoice>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get the history of the specified invoice as a list of events.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getInvoiceEvents(requestParameters: GetInvoiceEventsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<InvoiceEvent>>;\n public getInvoiceEvents(requestParameters: GetInvoiceEventsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<InvoiceEvent>>>;\n public getInvoiceEvents(requestParameters: GetInvoiceEventsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<InvoiceEvent>>>;\n public getInvoiceEvents(requestParameters: GetInvoiceEventsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getInvoiceEvents.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling getInvoiceEvents.');\n }\n const limit = requestParameters.limit;\n if (limit === null || limit === undefined) {\n throw new Error('Required parameter limit was null or undefined when calling getInvoiceEvents.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n const eventID = requestParameters.eventID;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (limit !== undefined && limit !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>limit, 'limit');\n }\n if (eventID !== undefined && eventID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>eventID, 'eventID');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/events`;\n return this.httpClient.request<Array<InvoiceEvent>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get the payment methods available for the invoice.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getInvoicePaymentMethods(requestParameters: GetInvoicePaymentMethodsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<PaymentMethod>>;\n public getInvoicePaymentMethods(requestParameters: GetInvoicePaymentMethodsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<PaymentMethod>>>;\n public getInvoicePaymentMethods(requestParameters: GetInvoicePaymentMethodsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<PaymentMethod>>>;\n public getInvoicePaymentMethods(requestParameters: GetInvoicePaymentMethodsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getInvoicePaymentMethods.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling getInvoicePaymentMethods.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payment-methods`;\n return this.httpClient.request<Array<PaymentMethod>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Set the invoice to \\&quot;Rescind\\&quot;\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public rescindInvoice(requestParameters: RescindInvoiceRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any>;\n public rescindInvoice(requestParameters: RescindInvoiceRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<any>>;\n public rescindInvoice(requestParameters: RescindInvoiceRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<any>>;\n public rescindInvoice(requestParameters: RescindInvoiceRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling rescindInvoice.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling rescindInvoice.');\n }\n const rescindInvoice = requestParameters.rescindInvoice;\n if (rescindInvoice === null || rescindInvoice === undefined) {\n throw new Error('Required parameter rescindInvoice was null or undefined when calling rescindInvoice.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json; charset=utf-8'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/rescind`;\n return this.httpClient.request<any>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n body: rescindInvoice,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { DefaultLogicError } from '../model/default-logic-error';\n// @ts-ignore\nimport { GeneralError } from '../model/general-error';\n// @ts-ignore\nimport { Party } from '../model/party';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\nexport interface ActivateMyPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface ActivatePartyByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetMyPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetPartyByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface SuspendMyPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface SuspendPartyByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PartiesService {\n\n protected basePath = '/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (Array.isArray(basePath) && basePath.length > 0) {\n basePath = basePath[0];\n }\n\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Activate my party\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public activateMyParty(requestParameters: ActivateMyPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any>;\n public activateMyParty(requestParameters: ActivateMyPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<any>>;\n public activateMyParty(requestParameters: ActivateMyPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<any>>;\n public activateMyParty(requestParameters: ActivateMyPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling activateMyParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/me/activate`;\n return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Activate party by ID\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public activatePartyByID(requestParameters: ActivatePartyByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any>;\n public activatePartyByID(requestParameters: ActivatePartyByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<any>>;\n public activatePartyByID(requestParameters: ActivatePartyByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<any>>;\n public activatePartyByID(requestParameters: ActivatePartyByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling activatePartyByID.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling activatePartyByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/activate`;\n return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getMyParty(requestParameters: GetMyPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Party>;\n public getMyParty(requestParameters: GetMyPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Party>>;\n public getMyParty(requestParameters: GetMyPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Party>>;\n public getMyParty(requestParameters: GetMyPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getMyParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/me`;\n return this.httpClient.request<Party>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPartyByID(requestParameters: GetPartyByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Party>;\n public getPartyByID(requestParameters: GetPartyByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Party>>;\n public getPartyByID(requestParameters: GetPartyByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Party>>;\n public getPartyByID(requestParameters: GetPartyByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPartyByID.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling getPartyByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<Party>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Suspend my party\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public suspendMyParty(requestParameters: SuspendMyPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any>;\n public suspendMyParty(requestParameters: SuspendMyPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<any>>;\n public suspendMyParty(requestParameters: SuspendMyPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<any>>;\n public suspendMyParty(requestParameters: SuspendMyPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling suspendMyParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/me/suspend`;\n return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Suspend party by ID\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public suspendPartyByID(requestParameters: SuspendPartyByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any>;\n public suspendPartyByID(requestParameters: SuspendPartyByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<any>>;\n public suspendPartyByID(requestParameters: SuspendPartyByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<any>>;\n public suspendPartyByID(requestParameters: SuspendPartyByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling suspendPartyByID.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling suspendPartyByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/suspend`;\n return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { DefaultLogicError } from '../model/default-logic-error';\n// @ts-ignore\nimport { GeneralError } from '../model/general-error';\n// @ts-ignore\nimport { PaymentInstitution } from '../model/payment-institution';\n// @ts-ignore\nimport { PaymentTerms } from '../model/payment-terms';\n// @ts-ignore\nimport { ServiceProvider } from '../model/service-provider';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\nexport interface GetPaymentInstitutionByRefRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Payment institution reference */\n paymentInstitutionID: number;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetPaymentInstitutionPaymentTermsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Payment institution reference */\n paymentInstitutionID: number;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetPaymentInstitutionPayoutMethodsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Payment institution reference */\n paymentInstitutionID: number;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n /** Currency character code according to [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm). */\n currency?: string;\n}\n\nexport interface GetPaymentInstitutionPayoutMethodsForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Payment institution reference */\n paymentInstitutionID: number;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n /** Currency character code according to [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm). */\n currency?: string;\n}\n\nexport interface GetPaymentInstitutionPayoutSchedulesRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Payment institution reference */\n paymentInstitutionID: number;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n /** Currency character code according to [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm). */\n currency?: string;\n /** Payout method */\n payoutMethod?: 'BankAccount' | 'InternationalBankAccount' | 'Wallet';\n}\n\nexport interface GetPaymentInstitutionPayoutSchedulesForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Payment institution reference */\n paymentInstitutionID: number;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n /** Currency character code according to [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm). */\n currency?: string;\n /** Payout method */\n payoutMethod?: 'BankAccount' | 'InternationalBankAccount' | 'Wallet';\n}\n\nexport interface GetPaymentInstitutionsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n /** Residence, alpha-3 code according to standard [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) */\n residence?: string;\n /** Payment institution\\&#39;s mode */\n realm?: 'test' | 'live';\n}\n\nexport interface GetServiceProviderByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Service provider identifier */\n serviceProviderID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaymentInstitutionsService {\n\n protected basePath = '/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (Array.isArray(basePath) && basePath.length > 0) {\n basePath = basePath[0];\n }\n\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Get data of the payment institution by identifier\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPaymentInstitutionByRef(requestParameters: GetPaymentInstitutionByRefRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<PaymentInstitution>;\n public getPaymentInstitutionByRef(requestParameters: GetPaymentInstitutionByRefRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<PaymentInstitution>>;\n public getPaymentInstitutionByRef(requestParameters: GetPaymentInstitutionByRefRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<PaymentInstitution>>;\n public getPaymentInstitutionByRef(requestParameters: GetPaymentInstitutionByRefRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPaymentInstitutionByRef.');\n }\n const paymentInstitutionID = requestParameters.paymentInstitutionID;\n if (paymentInstitutionID === null || paymentInstitutionID === undefined) {\n throw new Error('Required parameter paymentInstitutionID was null or undefined when calling getPaymentInstitutionByRef.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/payment-institutions/${this.configuration.encodeParam({name: \"paymentInstitutionID\", value: paymentInstitutionID, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: \"int32\"})}`;\n return this.httpClient.request<PaymentInstitution>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get payment terms and conditions for the payment institution\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPaymentInstitutionPaymentTerms(requestParameters: GetPaymentInstitutionPaymentTermsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<PaymentTerms>;\n public getPaymentInstitutionPaymentTerms(requestParameters: GetPaymentInstitutionPaymentTermsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<PaymentTerms>>;\n public getPaymentInstitutionPaymentTerms(requestParameters: GetPaymentInstitutionPaymentTermsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<PaymentTerms>>;\n public getPaymentInstitutionPaymentTerms(requestParameters: GetPaymentInstitutionPaymentTermsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPaymentInstitutionPaymentTerms.');\n }\n const paymentInstitutionID = requestParameters.paymentInstitutionID;\n if (paymentInstitutionID === null || paymentInstitutionID === undefined) {\n throw new Error('Required parameter paymentInstitutionID was null or undefined when calling getPaymentInstitutionPaymentTerms.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/payment-institutions/${this.configuration.encodeParam({name: \"paymentInstitutionID\", value: paymentInstitutionID, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: \"int32\"})}/terms/payments`;\n return this.httpClient.request<PaymentTerms>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get payout methods for the payment institution\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPaymentInstitutionPayoutMethods(requestParameters: GetPaymentInstitutionPayoutMethodsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<string>>;\n public getPaymentInstitutionPayoutMethods(requestParameters: GetPaymentInstitutionPayoutMethodsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<string>>>;\n public getPaymentInstitutionPayoutMethods(requestParameters: GetPaymentInstitutionPayoutMethodsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<string>>>;\n public getPaymentInstitutionPayoutMethods(requestParameters: GetPaymentInstitutionPayoutMethodsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPaymentInstitutionPayoutMethods.');\n }\n const paymentInstitutionID = requestParameters.paymentInstitutionID;\n if (paymentInstitutionID === null || paymentInstitutionID === undefined) {\n throw new Error('Required parameter paymentInstitutionID was null or undefined when calling getPaymentInstitutionPayoutMethods.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n const currency = requestParameters.currency;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (currency !== undefined && currency !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>currency, 'currency');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/payment-institutions/${this.configuration.encodeParam({name: \"paymentInstitutionID\", value: paymentInstitutionID, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: \"int32\"})}/terms/payouts/methods`;\n return this.httpClient.request<Array<string>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get payout methods for the payment institution\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPaymentInstitutionPayoutMethodsForParty(requestParameters: GetPaymentInstitutionPayoutMethodsForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<string>>;\n public getPaymentInstitutionPayoutMethodsForParty(requestParameters: GetPaymentInstitutionPayoutMethodsForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<string>>>;\n public getPaymentInstitutionPayoutMethodsForParty(requestParameters: GetPaymentInstitutionPayoutMethodsForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<string>>>;\n public getPaymentInstitutionPayoutMethodsForParty(requestParameters: GetPaymentInstitutionPayoutMethodsForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPaymentInstitutionPayoutMethodsForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling getPaymentInstitutionPayoutMethodsForParty.');\n }\n const paymentInstitutionID = requestParameters.paymentInstitutionID;\n if (paymentInstitutionID === null || paymentInstitutionID === undefined) {\n throw new Error('Required parameter paymentInstitutionID was null or undefined when calling getPaymentInstitutionPayoutMethodsForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n const currency = requestParameters.currency;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (currency !== undefined && currency !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>currency, 'currency');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payment-institutions/${this.configuration.encodeParam({name: \"paymentInstitutionID\", value: paymentInstitutionID, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: \"int32\"})}/terms/payouts/methods`;\n return this.httpClient.request<Array<string>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get available payout schedules for the payment organization\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPaymentInstitutionPayoutSchedules(requestParameters: GetPaymentInstitutionPayoutSchedulesRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<number>>;\n public getPaymentInstitutionPayoutSchedules(requestParameters: GetPaymentInstitutionPayoutSchedulesRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<number>>>;\n public getPaymentInstitutionPayoutSchedules(requestParameters: GetPaymentInstitutionPayoutSchedulesRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<number>>>;\n public getPaymentInstitutionPayoutSchedules(requestParameters: GetPaymentInstitutionPayoutSchedulesRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPaymentInstitutionPayoutSchedules.');\n }\n const paymentInstitutionID = requestParameters.paymentInstitutionID;\n if (paymentInstitutionID === null || paymentInstitutionID === undefined) {\n throw new Error('Required parameter paymentInstitutionID was null or undefined when calling getPaymentInstitutionPayoutSchedules.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n const currency = requestParameters.currency;\n const payoutMethod = requestParameters.payoutMethod;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (currency !== undefined && currency !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>currency, 'currency');\n }\n if (payoutMethod !== undefined && payoutMethod !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>payoutMethod, 'payoutMethod');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/payment-institutions/${this.configuration.encodeParam({name: \"paymentInstitutionID\", value: paymentInstitutionID, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: \"int32\"})}/terms/payouts/schedules`;\n return this.httpClient.request<Array<number>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get available payout schedules for the payment institution\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPaymentInstitutionPayoutSchedulesForParty(requestParameters: GetPaymentInstitutionPayoutSchedulesForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<number>>;\n public getPaymentInstitutionPayoutSchedulesForParty(requestParameters: GetPaymentInstitutionPayoutSchedulesForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<number>>>;\n public getPaymentInstitutionPayoutSchedulesForParty(requestParameters: GetPaymentInstitutionPayoutSchedulesForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<number>>>;\n public getPaymentInstitutionPayoutSchedulesForParty(requestParameters: GetPaymentInstitutionPayoutSchedulesForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPaymentInstitutionPayoutSchedulesForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling getPaymentInstitutionPayoutSchedulesForParty.');\n }\n const paymentInstitutionID = requestParameters.paymentInstitutionID;\n if (paymentInstitutionID === null || paymentInstitutionID === undefined) {\n throw new Error('Required parameter paymentInstitutionID was null or undefined when calling getPaymentInstitutionPayoutSchedulesForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n const currency = requestParameters.currency;\n const payoutMethod = requestParameters.payoutMethod;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (currency !== undefined && currency !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>currency, 'currency');\n }\n if (payoutMethod !== undefined && payoutMethod !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>payoutMethod, 'payoutMethod');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payment-institutions/${this.configuration.encodeParam({name: \"paymentInstitutionID\", value: paymentInstitutionID, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: \"int32\"})}/terms/payouts/schedules`;\n return this.httpClient.request<Array<number>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get a list of payment institutions\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPaymentInstitutions(requestParameters: GetPaymentInstitutionsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<PaymentInstitution>>;\n public getPaymentInstitutions(requestParameters: GetPaymentInstitutionsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<PaymentInstitution>>>;\n public getPaymentInstitutions(requestParameters: GetPaymentInstitutionsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<PaymentInstitution>>>;\n public getPaymentInstitutions(requestParameters: GetPaymentInstitutionsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPaymentInstitutions.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n const residence = requestParameters.residence;\n const realm = requestParameters.realm;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (residence !== undefined && residence !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>residence, 'residence');\n }\n if (realm !== undefined && realm !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>realm, 'realm');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/payment-institutions`;\n return this.httpClient.request<Array<PaymentInstitution>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get data of payment service provider by identifier\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getServiceProviderByID(requestParameters: GetServiceProviderByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<ServiceProvider>;\n public getServiceProviderByID(requestParameters: GetServiceProviderByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<ServiceProvider>>;\n public getServiceProviderByID(requestParameters: GetServiceProviderByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<ServiceProvider>>;\n public getServiceProviderByID(requestParameters: GetServiceProviderByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getServiceProviderByID.');\n }\n const serviceProviderID = requestParameters.serviceProviderID;\n if (serviceProviderID === null || serviceProviderID === undefined) {\n throw new Error('Required parameter serviceProviderID was null or undefined when calling getServiceProviderByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/service-providers/${this.configuration.encodeParam({name: \"serviceProviderID\", value: serviceProviderID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<ServiceProvider>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CancelPayment400Response } from '../model/cancel-payment400-response';\n// @ts-ignore\nimport { CaptureParams } from '../model/capture-params';\n// @ts-ignore\nimport { CapturePayment400Response } from '../model/capture-payment400-response';\n// @ts-ignore\nimport { Chargeback } from '../model/chargeback';\n// @ts-ignore\nimport { CreatePayment400Response } from '../model/create-payment400-response';\n// @ts-ignore\nimport { CreateRefund400Response } from '../model/create-refund400-response';\n// @ts-ignore\nimport { DefaultLogicError } from '../model/default-logic-error';\n// @ts-ignore\nimport { ExternalIDConflictError } from '../model/external-id-conflict-error';\n// @ts-ignore\nimport { GeneralError } from '../model/general-error';\n// @ts-ignore\nimport { Payment } from '../model/payment';\n// @ts-ignore\nimport { PaymentParams } from '../model/payment-params';\n// @ts-ignore\nimport { Reason } from '../model/reason';\n// @ts-ignore\nimport { Refund } from '../model/refund';\n// @ts-ignore\nimport { RefundParams } from '../model/refund-params';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\nexport interface CancelPaymentRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Invoice payment identifier */\n paymentID: string;\n /** Reason for the operation */\n cancelPayment: Reason;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface CapturePaymentRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Invoice payment identifier */\n paymentID: string;\n /** Payment capture parameters */\n capturePayment: CaptureParams;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface CreatePaymentRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Parameters of the payment to be created */\n paymentParams: PaymentParams;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface CreateRefundRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Invoice payment identifier */\n paymentID: string;\n /** Parameters of the payment refund to be created */\n refundParams: RefundParams;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetChargebackByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Invoice payment identifier */\n paymentID: string;\n /** Chargeback identifier within the payment */\n chargebackID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetChargebacksRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Invoice payment identifier */\n paymentID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetPaymentByExternalIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** External payment identifier */\n externalID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetPaymentByExternalIDForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** External payment identifier */\n externalID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetPaymentByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Invoice payment identifier */\n paymentID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetPaymentsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetRefundByExternalIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** External refund identifier */\n externalID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetRefundByExternalIDForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** External refund identifier */\n externalID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetRefundByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Invoice payment identifier */\n paymentID: string;\n /** Refund identifier within the payment */\n refundID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetRefundsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Invoice ID */\n invoiceID: string;\n /** Invoice payment identifier */\n paymentID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PaymentsService {\n\n protected basePath = '/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (Array.isArray(basePath) && basePath.length > 0) {\n basePath = basePath[0];\n }\n\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Cancel the specified payment\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public cancelPayment(requestParameters: CancelPaymentRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any>;\n public cancelPayment(requestParameters: CancelPaymentRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<any>>;\n public cancelPayment(requestParameters: CancelPaymentRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<any>>;\n public cancelPayment(requestParameters: CancelPaymentRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling cancelPayment.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling cancelPayment.');\n }\n const paymentID = requestParameters.paymentID;\n if (paymentID === null || paymentID === undefined) {\n throw new Error('Required parameter paymentID was null or undefined when calling cancelPayment.');\n }\n const cancelPayment = requestParameters.cancelPayment;\n if (cancelPayment === null || cancelPayment === undefined) {\n throw new Error('Required parameter cancelPayment was null or undefined when calling cancelPayment.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json; charset=utf-8'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payments/${this.configuration.encodeParam({name: \"paymentID\", value: paymentID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/cancel`;\n return this.httpClient.request<any>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n body: cancelPayment,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Capture the specified payment. In case the capture amount is less than the original amount, the remainder of the payment will be refunded. (see. [Payment options](#tag/Payments)) \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public capturePayment(requestParameters: CapturePaymentRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any>;\n public capturePayment(requestParameters: CapturePaymentRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<any>>;\n public capturePayment(requestParameters: CapturePaymentRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<any>>;\n public capturePayment(requestParameters: CapturePaymentRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling capturePayment.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling capturePayment.');\n }\n const paymentID = requestParameters.paymentID;\n if (paymentID === null || paymentID === undefined) {\n throw new Error('Required parameter paymentID was null or undefined when calling capturePayment.');\n }\n const capturePayment = requestParameters.capturePayment;\n if (capturePayment === null || capturePayment === undefined) {\n throw new Error('Required parameter capturePayment was null or undefined when calling capturePayment.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json; charset=utf-8'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payments/${this.configuration.encodeParam({name: \"paymentID\", value: paymentID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/capture`;\n return this.httpClient.request<any>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n body: capturePayment,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Create a new payment for the specified invoice.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public createPayment(requestParameters: CreatePaymentRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Payment>;\n public createPayment(requestParameters: CreatePaymentRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Payment>>;\n public createPayment(requestParameters: CreatePaymentRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Payment>>;\n public createPayment(requestParameters: CreatePaymentRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling createPayment.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling createPayment.');\n }\n const paymentParams = requestParameters.paymentParams;\n if (paymentParams === null || paymentParams === undefined) {\n throw new Error('Required parameter paymentParams was null or undefined when calling createPayment.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json; charset=utf-8'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payments`;\n return this.httpClient.request<Payment>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n body: paymentParams,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Create a refund of the specified payment\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public createRefund(requestParameters: CreateRefundRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Refund>;\n public createRefund(requestParameters: CreateRefundRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Refund>>;\n public createRefund(requestParameters: CreateRefundRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Refund>>;\n public createRefund(requestParameters: CreateRefundRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling createRefund.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling createRefund.');\n }\n const paymentID = requestParameters.paymentID;\n if (paymentID === null || paymentID === undefined) {\n throw new Error('Required parameter paymentID was null or undefined when calling createRefund.');\n }\n const refundParams = requestParameters.refundParams;\n if (refundParams === null || refundParams === undefined) {\n throw new Error('Required parameter refundParams was null or undefined when calling createRefund.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json; charset=utf-8'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payments/${this.configuration.encodeParam({name: \"paymentID\", value: paymentID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/refunds`;\n return this.httpClient.request<Refund>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n body: refundParams,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get data on the chargeback of the specified payment.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getChargebackByID(requestParameters: GetChargebackByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Chargeback>;\n public getChargebackByID(requestParameters: GetChargebackByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Chargeback>>;\n public getChargebackByID(requestParameters: GetChargebackByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Chargeback>>;\n public getChargebackByID(requestParameters: GetChargebackByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getChargebackByID.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling getChargebackByID.');\n }\n const paymentID = requestParameters.paymentID;\n if (paymentID === null || paymentID === undefined) {\n throw new Error('Required parameter paymentID was null or undefined when calling getChargebackByID.');\n }\n const chargebackID = requestParameters.chargebackID;\n if (chargebackID === null || chargebackID === undefined) {\n throw new Error('Required parameter chargebackID was null or undefined when calling getChargebackByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payments/${this.configuration.encodeParam({name: \"paymentID\", value: paymentID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/chargebacks/${this.configuration.encodeParam({name: \"chargebackID\", value: chargebackID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<Chargeback>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get all chargebacks on the specified payment.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getChargebacks(requestParameters: GetChargebacksRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<Chargeback>>;\n public getChargebacks(requestParameters: GetChargebacksRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<Chargeback>>>;\n public getChargebacks(requestParameters: GetChargebacksRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<Chargeback>>>;\n public getChargebacks(requestParameters: GetChargebacksRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getChargebacks.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling getChargebacks.');\n }\n const paymentID = requestParameters.paymentID;\n if (paymentID === null || paymentID === undefined) {\n throw new Error('Required parameter paymentID was null or undefined when calling getChargebacks.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payments/${this.configuration.encodeParam({name: \"paymentID\", value: paymentID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/chargebacks`;\n return this.httpClient.request<Array<Chargeback>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get payment by the specified external identifier.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPaymentByExternalID(requestParameters: GetPaymentByExternalIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Payment>;\n public getPaymentByExternalID(requestParameters: GetPaymentByExternalIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Payment>>;\n public getPaymentByExternalID(requestParameters: GetPaymentByExternalIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Payment>>;\n public getPaymentByExternalID(requestParameters: GetPaymentByExternalIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPaymentByExternalID.');\n }\n const externalID = requestParameters.externalID;\n if (externalID === null || externalID === undefined) {\n throw new Error('Required parameter externalID was null or undefined when calling getPaymentByExternalID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (externalID !== undefined && externalID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>externalID, 'externalID');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/payments`;\n return this.httpClient.request<Payment>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get payment by specified external identifier.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPaymentByExternalIDForParty(requestParameters: GetPaymentByExternalIDForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Payment>;\n public getPaymentByExternalIDForParty(requestParameters: GetPaymentByExternalIDForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Payment>>;\n public getPaymentByExternalIDForParty(requestParameters: GetPaymentByExternalIDForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Payment>>;\n public getPaymentByExternalIDForParty(requestParameters: GetPaymentByExternalIDForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPaymentByExternalIDForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling getPaymentByExternalIDForParty.');\n }\n const externalID = requestParameters.externalID;\n if (externalID === null || externalID === undefined) {\n throw new Error('Required parameter externalID was null or undefined when calling getPaymentByExternalIDForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (externalID !== undefined && externalID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>externalID, 'externalID');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payments`;\n return this.httpClient.request<Payment>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get payment for the specified invoice.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPaymentByID(requestParameters: GetPaymentByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Payment>;\n public getPaymentByID(requestParameters: GetPaymentByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Payment>>;\n public getPaymentByID(requestParameters: GetPaymentByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Payment>>;\n public getPaymentByID(requestParameters: GetPaymentByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPaymentByID.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling getPaymentByID.');\n }\n const paymentID = requestParameters.paymentID;\n if (paymentID === null || paymentID === undefined) {\n throw new Error('Required parameter paymentID was null or undefined when calling getPaymentByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payments/${this.configuration.encodeParam({name: \"paymentID\", value: paymentID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<Payment>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get all payments for the specified invoice.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPayments(requestParameters: GetPaymentsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<Payment>>;\n public getPayments(requestParameters: GetPaymentsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<Payment>>>;\n public getPayments(requestParameters: GetPaymentsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<Payment>>>;\n public getPayments(requestParameters: GetPaymentsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPayments.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling getPayments.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payments`;\n return this.httpClient.request<Array<Payment>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get refund by specified external identifier.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getRefundByExternalID(requestParameters: GetRefundByExternalIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Refund>;\n public getRefundByExternalID(requestParameters: GetRefundByExternalIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Refund>>;\n public getRefundByExternalID(requestParameters: GetRefundByExternalIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Refund>>;\n public getRefundByExternalID(requestParameters: GetRefundByExternalIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getRefundByExternalID.');\n }\n const externalID = requestParameters.externalID;\n if (externalID === null || externalID === undefined) {\n throw new Error('Required parameter externalID was null or undefined when calling getRefundByExternalID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (externalID !== undefined && externalID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>externalID, 'externalID');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/refunds`;\n return this.httpClient.request<Refund>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get refund by specified external identifier.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getRefundByExternalIDForParty(requestParameters: GetRefundByExternalIDForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Refund>;\n public getRefundByExternalIDForParty(requestParameters: GetRefundByExternalIDForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Refund>>;\n public getRefundByExternalIDForParty(requestParameters: GetRefundByExternalIDForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Refund>>;\n public getRefundByExternalIDForParty(requestParameters: GetRefundByExternalIDForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getRefundByExternalIDForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling getRefundByExternalIDForParty.');\n }\n const externalID = requestParameters.externalID;\n if (externalID === null || externalID === undefined) {\n throw new Error('Required parameter externalID was null or undefined when calling getRefundByExternalIDForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (externalID !== undefined && externalID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>externalID, 'externalID');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/refunds`;\n return this.httpClient.request<Refund>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get data on the refund of the specified payment.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getRefundByID(requestParameters: GetRefundByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Refund>;\n public getRefundByID(requestParameters: GetRefundByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Refund>>;\n public getRefundByID(requestParameters: GetRefundByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Refund>>;\n public getRefundByID(requestParameters: GetRefundByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getRefundByID.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling getRefundByID.');\n }\n const paymentID = requestParameters.paymentID;\n if (paymentID === null || paymentID === undefined) {\n throw new Error('Required parameter paymentID was null or undefined when calling getRefundByID.');\n }\n const refundID = requestParameters.refundID;\n if (refundID === null || refundID === undefined) {\n throw new Error('Required parameter refundID was null or undefined when calling getRefundByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payments/${this.configuration.encodeParam({name: \"paymentID\", value: paymentID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/refunds/${this.configuration.encodeParam({name: \"refundID\", value: refundID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<Refund>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get all refunds of the specified payment.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getRefunds(requestParameters: GetRefundsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<Refund>>;\n public getRefunds(requestParameters: GetRefundsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<Refund>>>;\n public getRefunds(requestParameters: GetRefundsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<Refund>>>;\n public getRefunds(requestParameters: GetRefundsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getRefunds.');\n }\n const invoiceID = requestParameters.invoiceID;\n if (invoiceID === null || invoiceID === undefined) {\n throw new Error('Required parameter invoiceID was null or undefined when calling getRefunds.');\n }\n const paymentID = requestParameters.paymentID;\n if (paymentID === null || paymentID === undefined) {\n throw new Error('Required parameter paymentID was null or undefined when calling getRefunds.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/invoices/${this.configuration.encodeParam({name: \"invoiceID\", value: invoiceID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payments/${this.configuration.encodeParam({name: \"paymentID\", value: paymentID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/refunds`;\n return this.httpClient.request<Array<Refund>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CreatePayout400Response } from '../model/create-payout400-response';\n// @ts-ignore\nimport { DefaultLogicError } from '../model/default-logic-error';\n// @ts-ignore\nimport { GeneralError } from '../model/general-error';\n// @ts-ignore\nimport { Payout } from '../model/payout';\n// @ts-ignore\nimport { PayoutParams } from '../model/payout-params';\n// @ts-ignore\nimport { PayoutTool } from '../model/payout-tool';\n// @ts-ignore\nimport { Schedule } from '../model/schedule';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\nexport interface CreatePayoutRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n payoutParams: PayoutParams;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetPayoutRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Withdrawal ID */\n payoutID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetPayoutToolByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Contract ID */\n contractID: string;\n /** Payout tool ID */\n payoutToolID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetPayoutToolByIDForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Contract ID */\n contractID: string;\n /** Payout tool ID */\n payoutToolID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetPayoutToolsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Contract ID */\n contractID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetPayoutToolsForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Contract ID */\n contractID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetScheduleByRefRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Schedule reference */\n scheduleID: number;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PayoutsService {\n\n protected basePath = '/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (Array.isArray(basePath) && basePath.length > 0) {\n basePath = basePath[0];\n }\n\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Create a new payout and send it to pre-moderation. \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public createPayout(requestParameters: CreatePayoutRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Payout>;\n public createPayout(requestParameters: CreatePayoutRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Payout>>;\n public createPayout(requestParameters: CreatePayoutRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Payout>>;\n public createPayout(requestParameters: CreatePayoutRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling createPayout.');\n }\n const payoutParams = requestParameters.payoutParams;\n if (payoutParams === null || payoutParams === undefined) {\n throw new Error('Required parameter payoutParams was null or undefined when calling createPayout.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json; charset=utf-8'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/payouts`;\n return this.httpClient.request<Payout>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n body: payoutParams,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get payout data\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPayout(requestParameters: GetPayoutRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Payout>;\n public getPayout(requestParameters: GetPayoutRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Payout>>;\n public getPayout(requestParameters: GetPayoutRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Payout>>;\n public getPayout(requestParameters: GetPayoutRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPayout.');\n }\n const payoutID = requestParameters.payoutID;\n if (payoutID === null || payoutID === undefined) {\n throw new Error('Required parameter payoutID was null or undefined when calling getPayout.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/payouts/${this.configuration.encodeParam({name: \"payoutID\", value: payoutID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<Payout>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get a payout tool data by identifier\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPayoutToolByID(requestParameters: GetPayoutToolByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<PayoutTool>;\n public getPayoutToolByID(requestParameters: GetPayoutToolByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<PayoutTool>>;\n public getPayoutToolByID(requestParameters: GetPayoutToolByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<PayoutTool>>;\n public getPayoutToolByID(requestParameters: GetPayoutToolByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPayoutToolByID.');\n }\n const contractID = requestParameters.contractID;\n if (contractID === null || contractID === undefined) {\n throw new Error('Required parameter contractID was null or undefined when calling getPayoutToolByID.');\n }\n const payoutToolID = requestParameters.payoutToolID;\n if (payoutToolID === null || payoutToolID === undefined) {\n throw new Error('Required parameter payoutToolID was null or undefined when calling getPayoutToolByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/contracts/${this.configuration.encodeParam({name: \"contractID\", value: contractID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payout_tools/${this.configuration.encodeParam({name: \"payoutToolID\", value: payoutToolID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<PayoutTool>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get a payout tool data by identifier\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPayoutToolByIDForParty(requestParameters: GetPayoutToolByIDForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<PayoutTool>;\n public getPayoutToolByIDForParty(requestParameters: GetPayoutToolByIDForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<PayoutTool>>;\n public getPayoutToolByIDForParty(requestParameters: GetPayoutToolByIDForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<PayoutTool>>;\n public getPayoutToolByIDForParty(requestParameters: GetPayoutToolByIDForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPayoutToolByIDForParty.');\n }\n const contractID = requestParameters.contractID;\n if (contractID === null || contractID === undefined) {\n throw new Error('Required parameter contractID was null or undefined when calling getPayoutToolByIDForParty.');\n }\n const payoutToolID = requestParameters.payoutToolID;\n if (payoutToolID === null || payoutToolID === undefined) {\n throw new Error('Required parameter payoutToolID was null or undefined when calling getPayoutToolByIDForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling getPayoutToolByIDForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/contracts/${this.configuration.encodeParam({name: \"contractID\", value: contractID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payout_tools/${this.configuration.encodeParam({name: \"payoutToolID\", value: payoutToolID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<PayoutTool>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get all payout tools to the specified contract\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPayoutTools(requestParameters: GetPayoutToolsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<PayoutTool>>;\n public getPayoutTools(requestParameters: GetPayoutToolsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<PayoutTool>>>;\n public getPayoutTools(requestParameters: GetPayoutToolsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<PayoutTool>>>;\n public getPayoutTools(requestParameters: GetPayoutToolsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPayoutTools.');\n }\n const contractID = requestParameters.contractID;\n if (contractID === null || contractID === undefined) {\n throw new Error('Required parameter contractID was null or undefined when calling getPayoutTools.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/contracts/${this.configuration.encodeParam({name: \"contractID\", value: contractID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payout_tools`;\n return this.httpClient.request<Array<PayoutTool>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get all payout tools to the specified contract\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getPayoutToolsForParty(requestParameters: GetPayoutToolsForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<PayoutTool>>;\n public getPayoutToolsForParty(requestParameters: GetPayoutToolsForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<PayoutTool>>>;\n public getPayoutToolsForParty(requestParameters: GetPayoutToolsForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<PayoutTool>>>;\n public getPayoutToolsForParty(requestParameters: GetPayoutToolsForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getPayoutToolsForParty.');\n }\n const contractID = requestParameters.contractID;\n if (contractID === null || contractID === undefined) {\n throw new Error('Required parameter contractID was null or undefined when calling getPayoutToolsForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling getPayoutToolsForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/contracts/${this.configuration.encodeParam({name: \"contractID\", value: contractID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payout_tools`;\n return this.httpClient.request<Array<PayoutTool>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get payout schedule data by identifier\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getScheduleByRef(requestParameters: GetScheduleByRefRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Schedule>;\n public getScheduleByRef(requestParameters: GetScheduleByRefRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Schedule>>;\n public getScheduleByRef(requestParameters: GetScheduleByRefRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Schedule>>;\n public getScheduleByRef(requestParameters: GetScheduleByRefRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getScheduleByRef.');\n }\n const scheduleID = requestParameters.scheduleID;\n if (scheduleID === null || scheduleID === undefined) {\n throw new Error('Required parameter scheduleID was null or undefined when calling getScheduleByRef.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/schedules/${this.configuration.encodeParam({name: \"scheduleID\", value: scheduleID, in: \"path\", style: \"simple\", explode: false, dataType: \"number\", dataFormat: \"int32\"})}`;\n return this.httpClient.request<Schedule>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { DefaultLogicError } from '../model/default-logic-error';\n// @ts-ignore\nimport { GeneralError } from '../model/general-error';\n// @ts-ignore\nimport { SearchInvoices200Response } from '../model/search-invoices200-response';\n// @ts-ignore\nimport { SearchPayments200Response } from '../model/search-payments200-response';\n// @ts-ignore\nimport { SearchPayouts200Response } from '../model/search-payouts200-response';\n// @ts-ignore\nimport { SearchRefunds200Response } from '../model/search-refunds200-response';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\nexport interface SearchInvoicesRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Shop ID */\n shopID: string;\n /** Start of the time period */\n fromTime: string;\n /** End of the time period */\n toTime: string;\n /** Selection limit */\n limit: number;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n /** Invoice status for search */\n invoiceStatus?: 'unpaid' | 'cancelled' | 'paid' | 'fulfilled';\n /** Payment status for search */\n paymentStatus?: 'pending' | 'processed' | 'captured' | 'cancelled' | 'refunded' | 'failed';\n /** Payment flow */\n paymentFlow?: 'instant' | 'hold';\n /** Payment method */\n paymentMethod?: 'bankCard' | 'paymentTerminal';\n /** Payment terminal provider */\n paymentTerminalProvider?: string;\n /** Invoice ID */\n invoiceID?: string;\n /** Payment ID */\n paymentID?: string;\n /** Payer\\&#39;s e-mail */\n payerEmail?: string;\n /** Payer IP-address */\n payerIP?: string;\n /** Payer\\&#39;s user agent unique fingerprint */\n payerFingerprint?: string;\n /** Customer ID */\n customerID?: string;\n /** Payment token provider. The list of providers available for making payments can be found by calling the corresponding [operation](#operation/getInvoicePaymentMethods) after creating an invoice. */\n bankCardTokenProvider?: string;\n /** Payment system. The list of systems available for making payments can be found by calling the corresponding [operation](#operation/getInvoicePaymentMethods) after creating an invoice. */\n bankCardPaymentSystem?: string;\n /** First 6 digits of the card number */\n first6?: string;\n /** Card last digits */\n last4?: string;\n /** Retrieval Reference Number */\n rrn?: string;\n /** Amount */\n paymentAmount?: number;\n /** Invoice amount */\n invoiceAmount?: number;\n /** A token signaling that only a part of the data has been transmitted in the response. To receive the next part of the data, it is necessary to reapply to the service, specifying the same list of conditions and the received token. If there is no token, the last part of data is received. */\n continuationToken?: string;\n}\n\nexport interface SearchPaymentsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Shop ID */\n shopID: string;\n /** Start of the time period */\n fromTime: string;\n /** End of the time period */\n toTime: string;\n /** Selection limit */\n limit: number;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n /** Payment status for search */\n paymentStatus?: 'pending' | 'processed' | 'captured' | 'cancelled' | 'refunded' | 'failed';\n /** Payment flow */\n paymentFlow?: 'instant' | 'hold';\n /** Payment method */\n paymentMethod?: 'bankCard' | 'paymentTerminal';\n /** Payment terminal provider */\n paymentTerminalProvider?: string;\n /** Invoice ID */\n invoiceID?: string;\n /** Payment ID */\n paymentID?: string;\n /** Payer\\&#39;s e-mail */\n payerEmail?: string;\n /** Payer IP-address */\n payerIP?: string;\n /** Payer\\&#39;s user agent unique fingerprint */\n payerFingerprint?: string;\n /** Customer ID */\n customerID?: string;\n /** First 6 digits of the card number */\n first6?: string;\n /** Card last digits */\n last4?: string;\n /** Retrieval Reference Number */\n rrn?: string;\n /** Authorization Approval Code */\n approvalCode?: string;\n /** Payment token provider. The list of providers available for making payments can be found by calling the corresponding [operation](#operation/getInvoicePaymentMethods) after creating an invoice. */\n bankCardTokenProvider?: string;\n /** Payment system. The list of systems available for making payments can be found by calling the corresponding [operation](#operation/getInvoicePaymentMethods) after creating an invoice. */\n bankCardPaymentSystem?: string;\n /** Amount */\n paymentAmount?: number;\n /** A token signaling that only a part of the data has been transmitted in the response. To receive the next part of the data, it is necessary to reapply to the service, specifying the same list of conditions and the received token. If there is no token, the last part of data is received. */\n continuationToken?: string;\n}\n\nexport interface SearchPayoutsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Shop ID */\n shopID: string;\n /** Start of the time period */\n fromTime: string;\n /** End of the time period */\n toTime: string;\n /** Selection limit */\n limit: number;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n /** Query offset */\n offset?: number;\n /** Payout ID */\n payoutID?: string;\n /** Type of payout to search * PayoutAccount - payout to bank account * Wallet - payout to wallet * PaymentInstitutionAccount - payout to payment institution account */\n payoutToolType?: 'PayoutAccount' | 'Wallet' | 'PaymentInstitutionAccount';\n}\n\nexport interface SearchRefundsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Shop ID */\n shopID: string;\n /** Start of the time period */\n fromTime: string;\n /** End of the time period */\n toTime: string;\n /** Selection limit */\n limit: number;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n /** Query offset */\n offset?: number;\n /** Invoice ID */\n invoiceID?: string;\n /** Payment ID */\n paymentID?: string;\n /** Refund ID */\n refundID?: string;\n /** Retrieval Reference Number */\n rrn?: string;\n /** Authorization Approval Code */\n approvalCode?: string;\n /** Refund status */\n refundStatus?: 'pending' | 'succeeded' | 'failed';\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SearchService {\n\n protected basePath = '/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (Array.isArray(basePath) && basePath.length > 0) {\n basePath = basePath[0];\n }\n\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Search of invoices\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public searchInvoices(requestParameters: SearchInvoicesRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<SearchInvoices200Response>;\n public searchInvoices(requestParameters: SearchInvoicesRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<SearchInvoices200Response>>;\n public searchInvoices(requestParameters: SearchInvoicesRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<SearchInvoices200Response>>;\n public searchInvoices(requestParameters: SearchInvoicesRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling searchInvoices.');\n }\n const shopID = requestParameters.shopID;\n if (shopID === null || shopID === undefined) {\n throw new Error('Required parameter shopID was null or undefined when calling searchInvoices.');\n }\n const fromTime = requestParameters.fromTime;\n if (fromTime === null || fromTime === undefined) {\n throw new Error('Required parameter fromTime was null or undefined when calling searchInvoices.');\n }\n const toTime = requestParameters.toTime;\n if (toTime === null || toTime === undefined) {\n throw new Error('Required parameter toTime was null or undefined when calling searchInvoices.');\n }\n const limit = requestParameters.limit;\n if (limit === null || limit === undefined) {\n throw new Error('Required parameter limit was null or undefined when calling searchInvoices.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n const invoiceStatus = requestParameters.invoiceStatus;\n const paymentStatus = requestParameters.paymentStatus;\n const paymentFlow = requestParameters.paymentFlow;\n const paymentMethod = requestParameters.paymentMethod;\n const paymentTerminalProvider = requestParameters.paymentTerminalProvider;\n const invoiceID = requestParameters.invoiceID;\n const paymentID = requestParameters.paymentID;\n const payerEmail = requestParameters.payerEmail;\n const payerIP = requestParameters.payerIP;\n const payerFingerprint = requestParameters.payerFingerprint;\n const customerID = requestParameters.customerID;\n const bankCardTokenProvider = requestParameters.bankCardTokenProvider;\n const bankCardPaymentSystem = requestParameters.bankCardPaymentSystem;\n const first6 = requestParameters.first6;\n const last4 = requestParameters.last4;\n const rrn = requestParameters.rrn;\n const paymentAmount = requestParameters.paymentAmount;\n const invoiceAmount = requestParameters.invoiceAmount;\n const continuationToken = requestParameters.continuationToken;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (fromTime !== undefined && fromTime !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>fromTime, 'fromTime');\n }\n if (toTime !== undefined && toTime !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>toTime, 'toTime');\n }\n if (limit !== undefined && limit !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>limit, 'limit');\n }\n if (invoiceStatus !== undefined && invoiceStatus !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>invoiceStatus, 'invoiceStatus');\n }\n if (paymentStatus !== undefined && paymentStatus !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>paymentStatus, 'paymentStatus');\n }\n if (paymentFlow !== undefined && paymentFlow !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>paymentFlow, 'paymentFlow');\n }\n if (paymentMethod !== undefined && paymentMethod !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>paymentMethod, 'paymentMethod');\n }\n if (paymentTerminalProvider !== undefined && paymentTerminalProvider !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>paymentTerminalProvider, 'paymentTerminalProvider');\n }\n if (invoiceID !== undefined && invoiceID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>invoiceID, 'invoiceID');\n }\n if (paymentID !== undefined && paymentID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>paymentID, 'paymentID');\n }\n if (payerEmail !== undefined && payerEmail !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>payerEmail, 'payerEmail');\n }\n if (payerIP !== undefined && payerIP !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>payerIP, 'payerIP');\n }\n if (payerFingerprint !== undefined && payerFingerprint !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>payerFingerprint, 'payerFingerprint');\n }\n if (customerID !== undefined && customerID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>customerID, 'customerID');\n }\n if (bankCardTokenProvider !== undefined && bankCardTokenProvider !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>bankCardTokenProvider, 'bankCardTokenProvider');\n }\n if (bankCardPaymentSystem !== undefined && bankCardPaymentSystem !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>bankCardPaymentSystem, 'bankCardPaymentSystem');\n }\n if (first6 !== undefined && first6 !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>first6, 'first6');\n }\n if (last4 !== undefined && last4 !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>last4, 'last4');\n }\n if (rrn !== undefined && rrn !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>rrn, 'rrn');\n }\n if (paymentAmount !== undefined && paymentAmount !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>paymentAmount, 'paymentAmount');\n }\n if (invoiceAmount !== undefined && invoiceAmount !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>invoiceAmount, 'invoiceAmount');\n }\n if (continuationToken !== undefined && continuationToken !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>continuationToken, 'continuationToken');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/analytics/shops/${this.configuration.encodeParam({name: \"shopID\", value: shopID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/invoices`;\n return this.httpClient.request<SearchInvoices200Response>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Search for payments\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public searchPayments(requestParameters: SearchPaymentsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<SearchPayments200Response>;\n public searchPayments(requestParameters: SearchPaymentsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<SearchPayments200Response>>;\n public searchPayments(requestParameters: SearchPaymentsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<SearchPayments200Response>>;\n public searchPayments(requestParameters: SearchPaymentsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling searchPayments.');\n }\n const shopID = requestParameters.shopID;\n if (shopID === null || shopID === undefined) {\n throw new Error('Required parameter shopID was null or undefined when calling searchPayments.');\n }\n const fromTime = requestParameters.fromTime;\n if (fromTime === null || fromTime === undefined) {\n throw new Error('Required parameter fromTime was null or undefined when calling searchPayments.');\n }\n const toTime = requestParameters.toTime;\n if (toTime === null || toTime === undefined) {\n throw new Error('Required parameter toTime was null or undefined when calling searchPayments.');\n }\n const limit = requestParameters.limit;\n if (limit === null || limit === undefined) {\n throw new Error('Required parameter limit was null or undefined when calling searchPayments.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n const paymentStatus = requestParameters.paymentStatus;\n const paymentFlow = requestParameters.paymentFlow;\n const paymentMethod = requestParameters.paymentMethod;\n const paymentTerminalProvider = requestParameters.paymentTerminalProvider;\n const invoiceID = requestParameters.invoiceID;\n const paymentID = requestParameters.paymentID;\n const payerEmail = requestParameters.payerEmail;\n const payerIP = requestParameters.payerIP;\n const payerFingerprint = requestParameters.payerFingerprint;\n const customerID = requestParameters.customerID;\n const first6 = requestParameters.first6;\n const last4 = requestParameters.last4;\n const rrn = requestParameters.rrn;\n const approvalCode = requestParameters.approvalCode;\n const bankCardTokenProvider = requestParameters.bankCardTokenProvider;\n const bankCardPaymentSystem = requestParameters.bankCardPaymentSystem;\n const paymentAmount = requestParameters.paymentAmount;\n const continuationToken = requestParameters.continuationToken;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (fromTime !== undefined && fromTime !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>fromTime, 'fromTime');\n }\n if (toTime !== undefined && toTime !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>toTime, 'toTime');\n }\n if (limit !== undefined && limit !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>limit, 'limit');\n }\n if (paymentStatus !== undefined && paymentStatus !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>paymentStatus, 'paymentStatus');\n }\n if (paymentFlow !== undefined && paymentFlow !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>paymentFlow, 'paymentFlow');\n }\n if (paymentMethod !== undefined && paymentMethod !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>paymentMethod, 'paymentMethod');\n }\n if (paymentTerminalProvider !== undefined && paymentTerminalProvider !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>paymentTerminalProvider, 'paymentTerminalProvider');\n }\n if (invoiceID !== undefined && invoiceID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>invoiceID, 'invoiceID');\n }\n if (paymentID !== undefined && paymentID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>paymentID, 'paymentID');\n }\n if (payerEmail !== undefined && payerEmail !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>payerEmail, 'payerEmail');\n }\n if (payerIP !== undefined && payerIP !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>payerIP, 'payerIP');\n }\n if (payerFingerprint !== undefined && payerFingerprint !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>payerFingerprint, 'payerFingerprint');\n }\n if (customerID !== undefined && customerID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>customerID, 'customerID');\n }\n if (first6 !== undefined && first6 !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>first6, 'first6');\n }\n if (last4 !== undefined && last4 !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>last4, 'last4');\n }\n if (rrn !== undefined && rrn !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>rrn, 'rrn');\n }\n if (approvalCode !== undefined && approvalCode !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>approvalCode, 'approvalCode');\n }\n if (bankCardTokenProvider !== undefined && bankCardTokenProvider !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>bankCardTokenProvider, 'bankCardTokenProvider');\n }\n if (bankCardPaymentSystem !== undefined && bankCardPaymentSystem !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>bankCardPaymentSystem, 'bankCardPaymentSystem');\n }\n if (paymentAmount !== undefined && paymentAmount !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>paymentAmount, 'paymentAmount');\n }\n if (continuationToken !== undefined && continuationToken !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>continuationToken, 'continuationToken');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/analytics/shops/${this.configuration.encodeParam({name: \"shopID\", value: shopID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payments`;\n return this.httpClient.request<SearchPayments200Response>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Search for payouts\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public searchPayouts(requestParameters: SearchPayoutsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<SearchPayouts200Response>;\n public searchPayouts(requestParameters: SearchPayoutsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<SearchPayouts200Response>>;\n public searchPayouts(requestParameters: SearchPayoutsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<SearchPayouts200Response>>;\n public searchPayouts(requestParameters: SearchPayoutsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling searchPayouts.');\n }\n const shopID = requestParameters.shopID;\n if (shopID === null || shopID === undefined) {\n throw new Error('Required parameter shopID was null or undefined when calling searchPayouts.');\n }\n const fromTime = requestParameters.fromTime;\n if (fromTime === null || fromTime === undefined) {\n throw new Error('Required parameter fromTime was null or undefined when calling searchPayouts.');\n }\n const toTime = requestParameters.toTime;\n if (toTime === null || toTime === undefined) {\n throw new Error('Required parameter toTime was null or undefined when calling searchPayouts.');\n }\n const limit = requestParameters.limit;\n if (limit === null || limit === undefined) {\n throw new Error('Required parameter limit was null or undefined when calling searchPayouts.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n const offset = requestParameters.offset;\n const payoutID = requestParameters.payoutID;\n const payoutToolType = requestParameters.payoutToolType;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (fromTime !== undefined && fromTime !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>fromTime, 'fromTime');\n }\n if (toTime !== undefined && toTime !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>toTime, 'toTime');\n }\n if (limit !== undefined && limit !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>limit, 'limit');\n }\n if (offset !== undefined && offset !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>offset, 'offset');\n }\n if (payoutID !== undefined && payoutID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>payoutID, 'payoutID');\n }\n if (payoutToolType !== undefined && payoutToolType !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>payoutToolType, 'payoutToolType');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/analytics/shops/${this.configuration.encodeParam({name: \"shopID\", value: shopID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/payouts`;\n return this.httpClient.request<SearchPayouts200Response>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Search for refunds\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public searchRefunds(requestParameters: SearchRefundsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<SearchRefunds200Response>;\n public searchRefunds(requestParameters: SearchRefundsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<SearchRefunds200Response>>;\n public searchRefunds(requestParameters: SearchRefundsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<SearchRefunds200Response>>;\n public searchRefunds(requestParameters: SearchRefundsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling searchRefunds.');\n }\n const shopID = requestParameters.shopID;\n if (shopID === null || shopID === undefined) {\n throw new Error('Required parameter shopID was null or undefined when calling searchRefunds.');\n }\n const fromTime = requestParameters.fromTime;\n if (fromTime === null || fromTime === undefined) {\n throw new Error('Required parameter fromTime was null or undefined when calling searchRefunds.');\n }\n const toTime = requestParameters.toTime;\n if (toTime === null || toTime === undefined) {\n throw new Error('Required parameter toTime was null or undefined when calling searchRefunds.');\n }\n const limit = requestParameters.limit;\n if (limit === null || limit === undefined) {\n throw new Error('Required parameter limit was null or undefined when calling searchRefunds.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n const offset = requestParameters.offset;\n const invoiceID = requestParameters.invoiceID;\n const paymentID = requestParameters.paymentID;\n const refundID = requestParameters.refundID;\n const rrn = requestParameters.rrn;\n const approvalCode = requestParameters.approvalCode;\n const refundStatus = requestParameters.refundStatus;\n\n let localVarQueryParameters = new HttpParams({encoder: this.encoder});\n if (fromTime !== undefined && fromTime !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>fromTime, 'fromTime');\n }\n if (toTime !== undefined && toTime !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>toTime, 'toTime');\n }\n if (limit !== undefined && limit !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>limit, 'limit');\n }\n if (offset !== undefined && offset !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>offset, 'offset');\n }\n if (invoiceID !== undefined && invoiceID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>invoiceID, 'invoiceID');\n }\n if (paymentID !== undefined && paymentID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>paymentID, 'paymentID');\n }\n if (refundID !== undefined && refundID !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>refundID, 'refundID');\n }\n if (rrn !== undefined && rrn !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>rrn, 'rrn');\n }\n if (approvalCode !== undefined && approvalCode !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>approvalCode, 'approvalCode');\n }\n if (refundStatus !== undefined && refundStatus !== null) {\n localVarQueryParameters = this.addToHttpParams(localVarQueryParameters,\n <any>refundStatus, 'refundStatus');\n }\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/analytics/shops/${this.configuration.encodeParam({name: \"shopID\", value: shopID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/refunds`;\n return this.httpClient.request<SearchRefunds200Response>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n params: localVarQueryParameters,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { DefaultLogicError } from '../model/default-logic-error';\n// @ts-ignore\nimport { GeneralError } from '../model/general-error';\n// @ts-ignore\nimport { Shop } from '../model/shop';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\nexport interface ActivateShopRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Shop ID */\n shopID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface ActivateShopForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Shop ID */\n shopID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetShopByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Shop ID */\n shopID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetShopByIDForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Shop ID */\n shopID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetShopsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetShopsForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface SuspendShopRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Shop ID */\n shopID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface SuspendShopForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Shop ID */\n shopID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ShopsService {\n\n protected basePath = '/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (Array.isArray(basePath) && basePath.length > 0) {\n basePath = basePath[0];\n }\n\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Activate shop\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public activateShop(requestParameters: ActivateShopRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any>;\n public activateShop(requestParameters: ActivateShopRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<any>>;\n public activateShop(requestParameters: ActivateShopRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<any>>;\n public activateShop(requestParameters: ActivateShopRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling activateShop.');\n }\n const shopID = requestParameters.shopID;\n if (shopID === null || shopID === undefined) {\n throw new Error('Required parameter shopID was null or undefined when calling activateShop.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/shops/${this.configuration.encodeParam({name: \"shopID\", value: shopID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/activate`;\n return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Activate shop\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public activateShopForParty(requestParameters: ActivateShopForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any>;\n public activateShopForParty(requestParameters: ActivateShopForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<any>>;\n public activateShopForParty(requestParameters: ActivateShopForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<any>>;\n public activateShopForParty(requestParameters: ActivateShopForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling activateShopForParty.');\n }\n const shopID = requestParameters.shopID;\n if (shopID === null || shopID === undefined) {\n throw new Error('Required parameter shopID was null or undefined when calling activateShopForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling activateShopForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/shops/${this.configuration.encodeParam({name: \"shopID\", value: shopID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/activate`;\n return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get shop by id\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getShopByID(requestParameters: GetShopByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Shop>;\n public getShopByID(requestParameters: GetShopByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Shop>>;\n public getShopByID(requestParameters: GetShopByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Shop>>;\n public getShopByID(requestParameters: GetShopByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getShopByID.');\n }\n const shopID = requestParameters.shopID;\n if (shopID === null || shopID === undefined) {\n throw new Error('Required parameter shopID was null or undefined when calling getShopByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/shops/${this.configuration.encodeParam({name: \"shopID\", value: shopID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<Shop>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get shop by id\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getShopByIDForParty(requestParameters: GetShopByIDForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Shop>;\n public getShopByIDForParty(requestParameters: GetShopByIDForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Shop>>;\n public getShopByIDForParty(requestParameters: GetShopByIDForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Shop>>;\n public getShopByIDForParty(requestParameters: GetShopByIDForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getShopByIDForParty.');\n }\n const shopID = requestParameters.shopID;\n if (shopID === null || shopID === undefined) {\n throw new Error('Required parameter shopID was null or undefined when calling getShopByIDForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling getShopByIDForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/shops/${this.configuration.encodeParam({name: \"shopID\", value: shopID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<Shop>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get all shops\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getShops(requestParameters: GetShopsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<Shop>>;\n public getShops(requestParameters: GetShopsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<Shop>>>;\n public getShops(requestParameters: GetShopsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<Shop>>>;\n public getShops(requestParameters: GetShopsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getShops.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/shops`;\n return this.httpClient.request<Array<Shop>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get all shops\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getShopsForParty(requestParameters: GetShopsForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<Shop>>;\n public getShopsForParty(requestParameters: GetShopsForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<Shop>>>;\n public getShopsForParty(requestParameters: GetShopsForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<Shop>>>;\n public getShopsForParty(requestParameters: GetShopsForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getShopsForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling getShopsForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/shops`;\n return this.httpClient.request<Array<Shop>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Suspend the shop. This type of requests is processed by the platform automatically and is executed immediately after sending. \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public suspendShop(requestParameters: SuspendShopRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any>;\n public suspendShop(requestParameters: SuspendShopRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<any>>;\n public suspendShop(requestParameters: SuspendShopRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<any>>;\n public suspendShop(requestParameters: SuspendShopRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling suspendShop.');\n }\n const shopID = requestParameters.shopID;\n if (shopID === null || shopID === undefined) {\n throw new Error('Required parameter shopID was null or undefined when calling suspendShop.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/shops/${this.configuration.encodeParam({name: \"shopID\", value: shopID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/suspend`;\n return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Suspend the shop. This type of requests is processed by the platform automatically and is executed immediately after sending. \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public suspendShopForParty(requestParameters: SuspendShopForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any>;\n public suspendShopForParty(requestParameters: SuspendShopForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<any>>;\n public suspendShopForParty(requestParameters: SuspendShopForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<any>>;\n public suspendShopForParty(requestParameters: SuspendShopForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling suspendShopForParty.');\n }\n const shopID = requestParameters.shopID;\n if (shopID === null || shopID === undefined) {\n throw new Error('Required parameter shopID was null or undefined when calling suspendShopForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling suspendShopForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/shops/${this.configuration.encodeParam({name: \"shopID\", value: shopID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/suspend`;\n return this.httpClient.request<any>('put', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { DefaultLogicError } from '../model/default-logic-error';\n// @ts-ignore\nimport { PaymentResourceParams } from '../model/payment-resource-params';\n// @ts-ignore\nimport { PaymentResourceResult } from '../model/payment-resource-result';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\nexport interface CreatePaymentResourceRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Data for the creation of a payment resource */\n paymentResource: PaymentResourceParams;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TokensService {\n\n protected basePath = '/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (Array.isArray(basePath) && basePath.length > 0) {\n basePath = basePath[0];\n }\n\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Create a new one-time payment token provided by the payer, as well as a new unique payment session. The payment instrument token and session identifier are required to create a invoice payment and has a limited lifetime. \n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public createPaymentResource(requestParameters: CreatePaymentResourceRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<PaymentResourceResult>;\n public createPaymentResource(requestParameters: CreatePaymentResourceRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<PaymentResourceResult>>;\n public createPaymentResource(requestParameters: CreatePaymentResourceRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<PaymentResourceResult>>;\n public createPaymentResource(requestParameters: CreatePaymentResourceRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling createPaymentResource.');\n }\n const paymentResource = requestParameters.paymentResource;\n if (paymentResource === null || paymentResource === undefined) {\n throw new Error('Required parameter paymentResource was null or undefined when calling createPaymentResource.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json; charset=utf-8'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/payment-resources`;\n return this.httpClient.request<PaymentResourceResult>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n body: paymentResource,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { DefaultLogicError } from '../model/default-logic-error';\n// @ts-ignore\nimport { GeneralError } from '../model/general-error';\n// @ts-ignore\nimport { TradeBloc } from '../model/trade-bloc';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\nexport interface GetTradeBlocByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Trade bloc identifier */\n tradeBlocID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetTradeBlocsRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class TradeBlocsService {\n\n protected basePath = '/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (Array.isArray(basePath) && basePath.length > 0) {\n basePath = basePath[0];\n }\n\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Get trade block data by ID\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getTradeBlocByID(requestParameters: GetTradeBlocByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<TradeBloc>;\n public getTradeBlocByID(requestParameters: GetTradeBlocByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<TradeBloc>>;\n public getTradeBlocByID(requestParameters: GetTradeBlocByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<TradeBloc>>;\n public getTradeBlocByID(requestParameters: GetTradeBlocByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getTradeBlocByID.');\n }\n const tradeBlocID = requestParameters.tradeBlocID;\n if (tradeBlocID === null || tradeBlocID === undefined) {\n throw new Error('Required parameter tradeBlocID was null or undefined when calling getTradeBlocByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/tradeblocs/${this.configuration.encodeParam({name: \"tradeBlocID\", value: tradeBlocID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<TradeBloc>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get a list of trade blocks\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getTradeBlocs(requestParameters: GetTradeBlocsRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<TradeBloc>>;\n public getTradeBlocs(requestParameters: GetTradeBlocsRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<TradeBloc>>>;\n public getTradeBlocs(requestParameters: GetTradeBlocsRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<TradeBloc>>>;\n public getTradeBlocs(requestParameters: GetTradeBlocsRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getTradeBlocs.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/tradeblocs`;\n return this.httpClient.request<Array<TradeBloc>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n/* tslint:disable:no-unused-variable member-ordering */\n\nimport { Inject, Injectable, Optional } from '@angular/core';\nimport { HttpClient, HttpHeaders, HttpParams,\n HttpResponse, HttpEvent, HttpParameterCodec, HttpContext \n } from '@angular/common/http';\nimport { CustomHttpParameterCodec } from '../encoder';\nimport { Observable } from 'rxjs';\n\n// @ts-ignore\nimport { CreateWebhook400Response } from '../model/create-webhook400-response';\n// @ts-ignore\nimport { CreateWebhook429Response } from '../model/create-webhook429-response';\n// @ts-ignore\nimport { DefaultLogicError } from '../model/default-logic-error';\n// @ts-ignore\nimport { GeneralError } from '../model/general-error';\n// @ts-ignore\nimport { Webhook } from '../model/webhook';\n\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS } from '../variables';\nimport { Configuration } from '../configuration';\n\n\nexport interface CreateWebhookRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Parameters of the installed webhook */\n webhookParams: Webhook;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface DeleteWebhookByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Webhook identifier */\n webhookID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetWebhookByIDRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Webhook identifier */\n webhookID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetWebhooksRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\nexport interface GetWebhooksForPartyRequestParams {\n /** Unique identifier of the request to the system */\n xRequestID: string;\n /** The participant\\&#39;s unique identifier within the system. */\n partyID: string;\n /** Maximum request processing time */\n xRequestDeadline?: string;\n}\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class WebhooksService {\n\n protected basePath = '/v2';\n public defaultHeaders = new HttpHeaders();\n public configuration = new Configuration();\n public encoder: HttpParameterCodec;\n\n constructor(protected httpClient: HttpClient, @Optional()@Inject(BASE_PATH) basePath: string|string[], @Optional() configuration: Configuration) {\n if (configuration) {\n this.configuration = configuration;\n }\n if (typeof this.configuration.basePath !== 'string') {\n if (Array.isArray(basePath) && basePath.length > 0) {\n basePath = basePath[0];\n }\n\n if (typeof basePath !== 'string') {\n basePath = this.basePath;\n }\n this.configuration.basePath = basePath;\n }\n this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();\n }\n\n\n // @ts-ignore\n private addToHttpParams(httpParams: HttpParams, value: any, key?: string): HttpParams {\n if (typeof value === \"object\" && value instanceof Date === false) {\n httpParams = this.addToHttpParamsRecursive(httpParams, value);\n } else {\n httpParams = this.addToHttpParamsRecursive(httpParams, value, key);\n }\n return httpParams;\n }\n\n private addToHttpParamsRecursive(httpParams: HttpParams, value?: any, key?: string): HttpParams {\n if (value == null) {\n return httpParams;\n }\n\n if (typeof value === \"object\") {\n if (Array.isArray(value)) {\n (value as any[]).forEach( elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));\n } else if (value instanceof Date) {\n if (key != null) {\n httpParams = httpParams.append(key, (value as Date).toISOString().substr(0, 10));\n } else {\n throw Error(\"key may not be null if value is Date\");\n }\n } else {\n Object.keys(value).forEach( k => httpParams = this.addToHttpParamsRecursive(\n httpParams, value[k], key != null ? `${key}.${k}` : k));\n }\n } else if (key != null) {\n httpParams = httpParams.append(key, value);\n } else {\n throw Error(\"key may not be null if value is not object or array\");\n }\n return httpParams;\n }\n\n /**\n * Set up a new webhook.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public createWebhook(requestParameters: CreateWebhookRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Webhook>;\n public createWebhook(requestParameters: CreateWebhookRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Webhook>>;\n public createWebhook(requestParameters: CreateWebhookRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Webhook>>;\n public createWebhook(requestParameters: CreateWebhookRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling createWebhook.');\n }\n const webhookParams = requestParameters.webhookParams;\n if (webhookParams === null || webhookParams === undefined) {\n throw new Error('Required parameter webhookParams was null or undefined when calling createWebhook.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n // to determine the Content-Type header\n const consumes: string[] = [\n 'application/json; charset=utf-8'\n ];\n const httpContentTypeSelected: string | undefined = this.configuration.selectHeaderContentType(consumes);\n if (httpContentTypeSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);\n }\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/webhooks`;\n return this.httpClient.request<Webhook>('post', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n body: webhookParams,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Remove the specified webhook.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public deleteWebhookByID(requestParameters: DeleteWebhookByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any>;\n public deleteWebhookByID(requestParameters: DeleteWebhookByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<any>>;\n public deleteWebhookByID(requestParameters: DeleteWebhookByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<any>>;\n public deleteWebhookByID(requestParameters: DeleteWebhookByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling deleteWebhookByID.');\n }\n const webhookID = requestParameters.webhookID;\n if (webhookID === null || webhookID === undefined) {\n throw new Error('Required parameter webhookID was null or undefined when calling deleteWebhookByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/webhooks/${this.configuration.encodeParam({name: \"webhookID\", value: webhookID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<any>('delete', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get a webhook by identifier.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getWebhookByID(requestParameters: GetWebhookByIDRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Webhook>;\n public getWebhookByID(requestParameters: GetWebhookByIDRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Webhook>>;\n public getWebhookByID(requestParameters: GetWebhookByIDRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Webhook>>;\n public getWebhookByID(requestParameters: GetWebhookByIDRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getWebhookByID.');\n }\n const webhookID = requestParameters.webhookID;\n if (webhookID === null || webhookID === undefined) {\n throw new Error('Required parameter webhookID was null or undefined when calling getWebhookByID.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/webhooks/${this.configuration.encodeParam({name: \"webhookID\", value: webhookID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}`;\n return this.httpClient.request<Webhook>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get list of installed webhooks.\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getWebhooks(requestParameters: GetWebhooksRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<Webhook>>;\n public getWebhooks(requestParameters: GetWebhooksRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<Webhook>>>;\n public getWebhooks(requestParameters: GetWebhooksRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<Webhook>>>;\n public getWebhooks(requestParameters: GetWebhooksRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getWebhooks.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/webhooks`;\n return this.httpClient.request<Array<Webhook>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n /**\n * Get a list of installed webhooks\n * @param requestParameters\n * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body.\n * @param reportProgress flag to report request and response progress.\n */\n public getWebhooksForParty(requestParameters: GetWebhooksForPartyRequestParams, observe?: 'body', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<Array<Webhook>>;\n public getWebhooksForParty(requestParameters: GetWebhooksForPartyRequestParams, observe?: 'response', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpResponse<Array<Webhook>>>;\n public getWebhooksForParty(requestParameters: GetWebhooksForPartyRequestParams, observe?: 'events', reportProgress?: boolean, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<HttpEvent<Array<Webhook>>>;\n public getWebhooksForParty(requestParameters: GetWebhooksForPartyRequestParams, observe: any = 'body', reportProgress: boolean = false, options?: {httpHeaderAccept?: 'application/json; charset&#x3D;utf-8', context?: HttpContext}): Observable<any> {\n const xRequestID = requestParameters.xRequestID;\n if (xRequestID === null || xRequestID === undefined) {\n throw new Error('Required parameter xRequestID was null or undefined when calling getWebhooksForParty.');\n }\n const partyID = requestParameters.partyID;\n if (partyID === null || partyID === undefined) {\n throw new Error('Required parameter partyID was null or undefined when calling getWebhooksForParty.');\n }\n const xRequestDeadline = requestParameters.xRequestDeadline;\n\n let localVarHeaders = this.defaultHeaders;\n if (xRequestID !== undefined && xRequestID !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-ID', String(xRequestID));\n }\n if (xRequestDeadline !== undefined && xRequestDeadline !== null) {\n localVarHeaders = localVarHeaders.set('X-Request-Deadline', String(xRequestDeadline));\n }\n\n let localVarCredential: string | undefined;\n // authentication (bearer) required\n localVarCredential = this.configuration.lookupCredential('bearer');\n if (localVarCredential) {\n localVarHeaders = localVarHeaders.set('Authorization', localVarCredential);\n }\n\n let localVarHttpHeaderAcceptSelected: string | undefined = options && options.httpHeaderAccept;\n if (localVarHttpHeaderAcceptSelected === undefined) {\n // to determine the Accept header\n const httpHeaderAccepts: string[] = [\n 'application/json; charset=utf-8'\n ];\n localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);\n }\n if (localVarHttpHeaderAcceptSelected !== undefined) {\n localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);\n }\n\n let localVarHttpContext: HttpContext | undefined = options && options.context;\n if (localVarHttpContext === undefined) {\n localVarHttpContext = new HttpContext();\n }\n\n\n let responseType_: 'text' | 'json' | 'blob' = 'json';\n if (localVarHttpHeaderAcceptSelected) {\n if (localVarHttpHeaderAcceptSelected.startsWith('text')) {\n responseType_ = 'text';\n } else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {\n responseType_ = 'json';\n } else {\n responseType_ = 'blob';\n }\n }\n\n let localVarPath = `/processing/parties/${this.configuration.encodeParam({name: \"partyID\", value: partyID, in: \"path\", style: \"simple\", explode: false, dataType: \"string\", dataFormat: undefined})}/webhooks`;\n return this.httpClient.request<Array<Webhook>>('get', `${this.configuration.basePath}${localVarPath}`,\n {\n context: localVarHttpContext,\n responseType: <any>responseType_,\n withCredentials: this.configuration.withCredentials,\n headers: localVarHeaders,\n observe: observe,\n reportProgress: reportProgress\n }\n );\n }\n\n}\n","export * from './categories.service';\nimport { CategoriesService } from './categories.service';\nexport * from './contracts.service';\nimport { ContractsService } from './contracts.service';\nexport * from './countries.service';\nimport { CountriesService } from './countries.service';\nexport * from './customers.service';\nimport { CustomersService } from './customers.service';\nexport * from './invoice-templates.service';\nimport { InvoiceTemplatesService } from './invoice-templates.service';\nexport * from './invoices.service';\nimport { InvoicesService } from './invoices.service';\nexport * from './parties.service';\nimport { PartiesService } from './parties.service';\nexport * from './payment-institutions.service';\nimport { PaymentInstitutionsService } from './payment-institutions.service';\nexport * from './payments.service';\nimport { PaymentsService } from './payments.service';\nexport * from './payouts.service';\nimport { PayoutsService } from './payouts.service';\nexport * from './search.service';\nimport { SearchService } from './search.service';\nexport * from './shops.service';\nimport { ShopsService } from './shops.service';\nexport * from './tokens.service';\nimport { TokensService } from './tokens.service';\nexport * from './trade-blocs.service';\nimport { TradeBlocsService } from './trade-blocs.service';\nexport * from './webhooks.service';\nimport { WebhooksService } from './webhooks.service';\nexport const APIS = [CategoriesService, ContractsService, CountriesService, CustomersService, InvoiceTemplatesService, InvoicesService, PartiesService, PaymentInstitutionsService, PaymentsService, PayoutsService, SearchService, ShopsService, TokensService, TradeBlocsService, WebhooksService];\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface AccessToken { \n /**\n * Access token payload \n */\n payload: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface AllocationBodyAmountAllOf { \n /**\n * The amount transferred to the selected destination in minor monetary units, e.g. cents if US dollars are specified as the currency. \n */\n amount: number;\n /**\n * Currency character code according to [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm). \n */\n currency: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { AllocationFeeTarget } from './allocation-fee-target';\n\n\n/**\n * Transaction fee\n */\nexport interface AllocationFee { \n target?: AllocationFeeTarget;\n allocationFeeType: AllocationFee.AllocationFeeTypeEnum;\n}\nexport namespace AllocationFee {\n export type AllocationFeeTypeEnum = 'AllocationFeeFixed' | 'AllocationFeeShare';\n export const AllocationFeeTypeEnum = {\n AllocationFeeFixed: 'AllocationFeeFixed' as AllocationFeeTypeEnum,\n AllocationFeeShare: 'AllocationFeeShare' as AllocationFeeTypeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface AllocationFeeFixedAllOf { \n /**\n * The value of the fee in minor monetary units, e.g. cents if US dollars are specified as the transaction currency. \n */\n amount: number;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Target of the transaction\n */\nexport interface AllocationFeeTarget { \n allocationTargetType: AllocationFeeTarget.AllocationTargetTypeEnum;\n}\nexport namespace AllocationFeeTarget {\n export type AllocationTargetTypeEnum = 'AllocationTargetShop';\n export const AllocationTargetTypeEnum = {\n AllocationTargetShop: 'AllocationTargetShop' as AllocationTargetTypeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Target of the transaction\n */\nexport interface AllocationTarget { \n allocationTargetType: AllocationTarget.AllocationTargetTypeEnum;\n}\nexport namespace AllocationTarget {\n export type AllocationTargetTypeEnum = 'AllocationTargetShop';\n export const AllocationTargetTypeEnum = {\n AllocationTargetShop: 'AllocationTargetShop' as AllocationTargetTypeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface AllocationTargetShopAllOf { \n /**\n * Shop ID\n */\n shopID: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { AllocationTarget } from './allocation-target';\nimport { InvoiceLine } from './invoice-line';\n\n\n/**\n * Cash allocation transaction\n */\nexport interface AllocationTransaction { \n target: AllocationTarget;\n /**\n * Transaction body\n */\n allocationBodyType: AllocationTransaction.AllocationBodyTypeEnum;\n /**\n * Products and services cart \n */\n cart?: Array<InvoiceLine>;\n}\nexport namespace AllocationTransaction {\n export type AllocationBodyTypeEnum = 'AllocationBodyAmount' | 'AllocationBodyTotal';\n export const AllocationBodyTypeEnum = {\n AllocationBodyAmount: 'AllocationBodyAmount' as AllocationBodyTypeEnum,\n AllocationBodyTotal: 'AllocationBodyTotal' as AllocationBodyTypeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Apple Pay data\n */\nexport interface ApplePayAllOf { \n /**\n * Apple Pay merchant identifier\n */\n merchantID: string;\n /**\n * Aggregate of open and encrypted payment data\n */\n paymentToken: object;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Data of a settlement account in a banking organization operating under the jurisdiction of the Russian Federation. \n */\nexport interface BankAccount { \n /**\n * Account number\n */\n account: string;\n /**\n * Name of the legal entity of the banking organization\n */\n bankName: string;\n bankPostAccount: string;\n /**\n * BIK of the banking organization\n */\n bankBik: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface BankCardAllOfTokenProviderData { \n /**\n * Merchant identifier in a payment organization. Can be used to pass payment tokens to the provider. For example, this parameter is expected to be passed as gatewayMerchantID for GooglePay and or YandexPay and then used to bind the token to the specified shop. \n */\n merchantID: string;\n /**\n * The name of the merchant in the payment organization. Can be used, for example, as `merchantInfo.merchantName` in GooglePay or `merchant.name` in YandexPay or `displayName` in ApplePay. \n */\n merchantName?: string;\n /**\n * The identifier of the paid account in the payment organization. Can be used, for example, as `orderNumber` in SamsungPay or `order.id` in YandexPay. Using the system identifier can be useful when debugging or reconciling data with provider data. \n */\n orderID?: string;\n /**\n * Payment institution\\'s mode\n */\n realm: BankCardAllOfTokenProviderData.RealmEnum;\n}\nexport namespace BankCardAllOfTokenProviderData {\n export type RealmEnum = 'test' | 'live';\n export const RealmEnum = {\n Test: 'test' as RealmEnum,\n Live: 'live' as RealmEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface BankCardDetails { \n /**\n * Masked card number\n */\n cardNumberMask: string;\n /**\n * First digits of the card number. Absent for tokenized payment methods. \n */\n first6?: string;\n /**\n * Card last digits\n */\n last4?: string;\n /**\n * Payment system. The list of systems available for making payments can be found by calling the corresponding [operation](#operation/getInvoicePaymentMethods) after creating an invoice. \n */\n paymentSystem: string;\n /**\n * Payment token provider. The list of providers available for making payments can be found by calling the corresponding [operation](#operation/getInvoicePaymentMethods) after creating an invoice. \n */\n tokenProvider?: string;\n /**\n * Tokenization method\n */\n tokenizationMethod?: BankCardDetails.TokenizationMethodEnum;\n}\nexport namespace BankCardDetails {\n export type TokenizationMethodEnum = 'dpan' | 'none';\n export const TokenizationMethodEnum = {\n Dpan: 'dpan' as TokenizationMethodEnum,\n None: 'none' as TokenizationMethodEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Data for integration with payment token providers. These parameters are set in our system and can be used to build requests to the token provider or to display the payment form correctly. \n */\nexport interface BankCardTokenProviderData { \n /**\n * Merchant identifier in a payment organization. Can be used to pass payment tokens to the provider. For example, this parameter is expected to be passed as gatewayMerchantID for GooglePay and or YandexPay and then used to bind the token to the specified shop. \n */\n merchantID: string;\n /**\n * The name of the merchant in the payment organization. Can be used, for example, as `merchantInfo.merchantName` in GooglePay or `merchant.name` in YandexPay or `displayName` in ApplePay. \n */\n merchantName?: string;\n /**\n * The identifier of the paid account in the payment organization. Can be used, for example, as `orderNumber` in SamsungPay or `order.id` in YandexPay. Using the system identifier can be useful when debugging or reconciling data with provider data. \n */\n orderID?: string;\n /**\n * Payment institution\\'s mode\n */\n realm: BankCardTokenProviderData.RealmEnum;\n}\nexport namespace BankCardTokenProviderData {\n export type RealmEnum = 'test' | 'live';\n export const RealmEnum = {\n Test: 'test' as RealmEnum,\n Live: 'live' as RealmEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Tokenization method\n */\nexport type BankCardTokenizationMethod = 'dpan' | 'none';\n\nexport const BankCardTokenizationMethod = {\n Dpan: 'dpan' as BankCardTokenizationMethod,\n None: 'none' as BankCardTokenizationMethod\n};\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface BrowserGetRequestAllOf { \n /**\n * URL value template for browser navigation The template is represented according to the standard [RFC6570](https://tools.ietf.org/html/rfc6570). \n */\n uriTemplate: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface BrowserRequest { \n /**\n * Type of browser operation\n */\n requestType: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CancelPayment400Response { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: CancelPayment400Response.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace CancelPayment400Response {\n export type CodeEnum = 'invalidPaymentStatus' | 'operationNotPermitted' | 'invalidPartyStatus' | 'invalidShopStatus' | 'invalidRequest' | 'invalidDeadline';\n export const CodeEnum = {\n InvalidPaymentStatus: 'invalidPaymentStatus' as CodeEnum,\n OperationNotPermitted: 'operationNotPermitted' as CodeEnum,\n InvalidPartyStatus: 'invalidPartyStatus' as CodeEnum,\n InvalidShopStatus: 'invalidShopStatus' as CodeEnum,\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CapturePayment400Response { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: CapturePayment400Response.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace CapturePayment400Response {\n export type CodeEnum = 'invalidPaymentStatus' | 'operationNotPermitted' | 'invalidPartyStatus' | 'invalidShopStatus' | 'invalidRequest' | 'invalidDeadline' | 'invalidInvoiceCart' | 'invalidAllocation' | 'allocationNotPermitted' | 'inconsistentCaptureCurrency' | 'amountExceededCaptureBalance';\n export const CodeEnum = {\n InvalidPaymentStatus: 'invalidPaymentStatus' as CodeEnum,\n OperationNotPermitted: 'operationNotPermitted' as CodeEnum,\n InvalidPartyStatus: 'invalidPartyStatus' as CodeEnum,\n InvalidShopStatus: 'invalidShopStatus' as CodeEnum,\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum,\n InvalidInvoiceCart: 'invalidInvoiceCart' as CodeEnum,\n InvalidAllocation: 'invalidAllocation' as CodeEnum,\n AllocationNotPermitted: 'allocationNotPermitted' as CodeEnum,\n InconsistentCaptureCurrency: 'inconsistentCaptureCurrency' as CodeEnum,\n AmountExceededCaptureBalance: 'amountExceededCaptureBalance' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Bank card\n */\nexport interface CardDataAllOf { \n /**\n * Bankcard number\n */\n cardNumber: string;\n /**\n * Bank card expiration date\n */\n expDate: string;\n /**\n * Verification code\n */\n cvv?: string;\n /**\n * Cardholder name\n */\n cardHolder?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface Category { \n name: string;\n categoryID: number;\n description?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface Chargeback { \n /**\n * Chargeback ID\n */\n id: string;\n /**\n * Date and time of creation\n */\n createdAt: string;\n /**\n * Chargeback amount, in minor monetary units, e.g. cents if US dollars are specified as the currency. \n */\n body: number;\n /**\n * Chargeback levy amount, in minor monetary units, e.g. cents if US dollars are specified as the currency. \n */\n levy: number;\n /**\n * Currency character code according to [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm). \n */\n currency: string;\n /**\n * Chargeback reason code\n */\n reasonCode?: string;\n /**\n * Chargeback stage\n */\n stage: Chargeback.StageEnum;\n /**\n * Chargeback status\n */\n status: Chargeback.StatusEnum;\n}\nexport namespace Chargeback {\n export type StageEnum = 'chargeback' | 'pre-arbitration' | 'arbitration';\n export const StageEnum = {\n Chargeback: 'chargeback' as StageEnum,\n PreArbitration: 'pre-arbitration' as StageEnum,\n Arbitration: 'arbitration' as StageEnum\n };\n export type StatusEnum = 'pending' | 'rejected' | 'accepted' | 'cancelled';\n export const StatusEnum = {\n Pending: 'pending' as StatusEnum,\n Rejected: 'rejected' as StatusEnum,\n Accepted: 'accepted' as StatusEnum,\n Cancelled: 'cancelled' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Payer\\'s client device data\n */\nexport interface ClientInfo { \n /**\n * Payer\\'s user agent unique fingerprint\n */\n fingerprint: string;\n /**\n * Payer IP-address\n */\n ip?: string;\n /**\n * URL from which the payment form was received by the client\n */\n url?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Contact details\n */\nexport interface ContactInfo { \n /**\n * Email address\n */\n email?: string;\n /**\n * Mobile phone number with international prefix according to [E.164](https://en.wikipedia.org/wiki/E.164). \n */\n phoneNumber?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { LegalAgreement } from './legal-agreement';\nimport { Contractor } from './contractor';\nimport { ReportingPreferences } from './reporting-preferences';\n\n\n/**\n * Contract details\n */\nexport interface Contract { \n /**\n * Contract ID\n */\n id: string;\n /**\n * Date and time of contract creation\n */\n createdAt: string;\n /**\n * Contract status\n */\n status: Contract.StatusEnum;\n /**\n * Contract effective date and time\n */\n validSince?: string;\n /**\n * Contract expiration date and time\n */\n validUntil?: string;\n /**\n * Contract termination date and time\n */\n terminatedAt?: string;\n contractor: Contractor;\n legalAgreement?: LegalAgreement;\n paymentInstitutionID: number;\n reportingPreferences?: ReportingPreferences;\n}\nexport namespace Contract {\n export type StatusEnum = 'active' | 'terminated';\n export const StatusEnum = {\n Active: 'active' as StatusEnum,\n Terminated: 'terminated' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Data of contract adjustment\n */\nexport interface ContractAdjustment { \n /**\n * Contract adjustment identifier\n */\n id: string;\n /**\n * Date and time of contract adjustment creation\n */\n createdAt: string;\n /**\n * Contract adjustment effective date and time\n */\n validSince?: string;\n /**\n * Contract adjustment expiration date and time\n */\n validUntil?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Contractor data\n */\nexport interface Contractor { \n /**\n * Contractor type\n */\n contractorType: Contractor.ContractorTypeEnum;\n}\nexport namespace Contractor {\n export type ContractorTypeEnum = 'LegalEntity' | 'PrivateEntity' | 'RegisteredUser';\n export const ContractorTypeEnum = {\n LegalEntity: 'LegalEntity' as ContractorTypeEnum,\n PrivateEntity: 'PrivateEntity' as ContractorTypeEnum,\n RegisteredUser: 'RegisteredUser' as ContractorTypeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CostAmountRange { \n /**\n * An upper (inclusive) limit on the value of goods or services.\n */\n upperBound: number;\n /**\n * A lower (inclusive) limit on the value of goods or services.\n */\n lowerBound: number;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Country\n */\nexport interface Country { \n /**\n * Alpha-3 country code by standard [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) \n */\n id: string;\n name: string;\n tradeBlocs?: Array<string>;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CreateBinding400Response { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: CreateBinding400Response.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace CreateBinding400Response {\n export type CodeEnum = 'invalidPaymentResource' | 'operationNotPermitted' | 'invalidPartyStatus' | 'invalidShopStatus' | 'invalidPaymentToolToken' | 'invalidPaymentSession' | 'invalidRequest' | 'invalidDeadline';\n export const CodeEnum = {\n InvalidPaymentResource: 'invalidPaymentResource' as CodeEnum,\n OperationNotPermitted: 'operationNotPermitted' as CodeEnum,\n InvalidPartyStatus: 'invalidPartyStatus' as CodeEnum,\n InvalidShopStatus: 'invalidShopStatus' as CodeEnum,\n InvalidPaymentToolToken: 'invalidPaymentToolToken' as CodeEnum,\n InvalidPaymentSession: 'invalidPaymentSession' as CodeEnum,\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CreateCustomer400Response { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: CreateCustomer400Response.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace CreateCustomer400Response {\n export type CodeEnum = 'operationNotPermitted' | 'invalidPartyID' | 'invalidShopID' | 'invalidPartyStatus' | 'invalidShopStatus' | 'invalidRequest' | 'invalidDeadline' | 'ambiguousPartyID';\n export const CodeEnum = {\n OperationNotPermitted: 'operationNotPermitted' as CodeEnum,\n InvalidPartyId: 'invalidPartyID' as CodeEnum,\n InvalidShopId: 'invalidShopID' as CodeEnum,\n InvalidPartyStatus: 'invalidPartyStatus' as CodeEnum,\n InvalidShopStatus: 'invalidShopStatus' as CodeEnum,\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum,\n AmbiguousPartyId: 'ambiguousPartyID' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CreateInvoice400Response { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: CreateInvoice400Response.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace CreateInvoice400Response {\n export type CodeEnum = 'invalidPartyID' | 'invalidShopID' | 'invalidRequest' | 'invalidDeadline' | 'invalidPartyStatus' | 'invalidShopStatus' | 'invalidInvoiceCart' | 'invalidAllocation' | 'allocationNotPermitted' | 'invalidInvoiceCost' | 'invoiceTermsViolated' | 'ambiguousPartyID';\n export const CodeEnum = {\n InvalidPartyId: 'invalidPartyID' as CodeEnum,\n InvalidShopId: 'invalidShopID' as CodeEnum,\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum,\n InvalidPartyStatus: 'invalidPartyStatus' as CodeEnum,\n InvalidShopStatus: 'invalidShopStatus' as CodeEnum,\n InvalidInvoiceCart: 'invalidInvoiceCart' as CodeEnum,\n InvalidAllocation: 'invalidAllocation' as CodeEnum,\n AllocationNotPermitted: 'allocationNotPermitted' as CodeEnum,\n InvalidInvoiceCost: 'invalidInvoiceCost' as CodeEnum,\n InvoiceTermsViolated: 'invoiceTermsViolated' as CodeEnum,\n AmbiguousPartyId: 'ambiguousPartyID' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CreateInvoiceTemplate400Response { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: CreateInvoiceTemplate400Response.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace CreateInvoiceTemplate400Response {\n export type CodeEnum = 'invalidPartyID' | 'invalidRequest' | 'invalidDeadline' | 'invalidShopID' | 'invalidPartyStatus' | 'invalidShopStatus' | 'invalidInvoiceCart' | 'ambiguousPartyID';\n export const CodeEnum = {\n InvalidPartyId: 'invalidPartyID' as CodeEnum,\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum,\n InvalidShopId: 'invalidShopID' as CodeEnum,\n InvalidPartyStatus: 'invalidPartyStatus' as CodeEnum,\n InvalidShopStatus: 'invalidShopStatus' as CodeEnum,\n InvalidInvoiceCart: 'invalidInvoiceCart' as CodeEnum,\n AmbiguousPartyId: 'ambiguousPartyID' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CreateInvoiceWithTemplate400Response { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: CreateInvoiceWithTemplate400Response.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace CreateInvoiceWithTemplate400Response {\n export type CodeEnum = 'invalidPartyStatus' | 'invalidShopStatus' | 'invalidRequest' | 'invalidDeadline' | 'invoiceTermsViolated';\n export const CodeEnum = {\n InvalidPartyStatus: 'invalidPartyStatus' as CodeEnum,\n InvalidShopStatus: 'invalidShopStatus' as CodeEnum,\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum,\n InvoiceTermsViolated: 'invoiceTermsViolated' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CreatePayment400Response { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: CreatePayment400Response.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace CreatePayment400Response {\n export type CodeEnum = 'invalidInvoiceStatus' | 'invoicePaymentPending' | 'invalidRequest' | 'invalidDeadline' | 'invalidPartyStatus' | 'invalidShopStatus' | 'invalidContractStatus' | 'invalidPaymentToolToken' | 'invalidPaymentSession' | 'invalidProcessingDeadline' | 'invalidRecurrentParent' | 'operationNotPermitted';\n export const CodeEnum = {\n InvalidInvoiceStatus: 'invalidInvoiceStatus' as CodeEnum,\n InvoicePaymentPending: 'invoicePaymentPending' as CodeEnum,\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum,\n InvalidPartyStatus: 'invalidPartyStatus' as CodeEnum,\n InvalidShopStatus: 'invalidShopStatus' as CodeEnum,\n InvalidContractStatus: 'invalidContractStatus' as CodeEnum,\n InvalidPaymentToolToken: 'invalidPaymentToolToken' as CodeEnum,\n InvalidPaymentSession: 'invalidPaymentSession' as CodeEnum,\n InvalidProcessingDeadline: 'invalidProcessingDeadline' as CodeEnum,\n InvalidRecurrentParent: 'invalidRecurrentParent' as CodeEnum,\n OperationNotPermitted: 'operationNotPermitted' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CreatePayout400Response { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: CreatePayout400Response.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace CreatePayout400Response {\n export type CodeEnum = 'invalidPartyID' | 'invalidPayoutTool' | 'invalidCash' | 'invalidRequest' | 'invalidDeadline' | 'ambiguousPartyID';\n export const CodeEnum = {\n InvalidPartyId: 'invalidPartyID' as CodeEnum,\n InvalidPayoutTool: 'invalidPayoutTool' as CodeEnum,\n InvalidCash: 'invalidCash' as CodeEnum,\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum,\n AmbiguousPartyId: 'ambiguousPartyID' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CreateRefund400Response { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: CreateRefund400Response.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace CreateRefund400Response {\n export type CodeEnum = 'invalidPartyStatus' | 'invalidShopStatus' | 'invalidContractStatus' | 'invalidInvoiceCart' | 'invalidAllocation' | 'allocationNotPermitted' | 'operationNotPermitted' | 'invalidPaymentStatus' | 'insufficentAccountBalance' | 'invoicePaymentAmountExceeded' | 'inconsistentRefundCurrency' | 'invalidRequest' | 'invalidDeadline' | 'chargebackInProgress' | 'refundCartConflict';\n export const CodeEnum = {\n InvalidPartyStatus: 'invalidPartyStatus' as CodeEnum,\n InvalidShopStatus: 'invalidShopStatus' as CodeEnum,\n InvalidContractStatus: 'invalidContractStatus' as CodeEnum,\n InvalidInvoiceCart: 'invalidInvoiceCart' as CodeEnum,\n InvalidAllocation: 'invalidAllocation' as CodeEnum,\n AllocationNotPermitted: 'allocationNotPermitted' as CodeEnum,\n OperationNotPermitted: 'operationNotPermitted' as CodeEnum,\n InvalidPaymentStatus: 'invalidPaymentStatus' as CodeEnum,\n InsufficentAccountBalance: 'insufficentAccountBalance' as CodeEnum,\n InvoicePaymentAmountExceeded: 'invoicePaymentAmountExceeded' as CodeEnum,\n InconsistentRefundCurrency: 'inconsistentRefundCurrency' as CodeEnum,\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum,\n ChargebackInProgress: 'chargebackInProgress' as CodeEnum,\n RefundCartConflict: 'refundCartConflict' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CreateWebhook400Response { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: CreateWebhook400Response.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace CreateWebhook400Response {\n export type CodeEnum = 'invalidPartyID' | 'invalidShopID' | 'invalidRequest' | 'invalidDeadline' | 'ambiguousPartyID';\n export const CodeEnum = {\n InvalidPartyId: 'invalidPartyID' as CodeEnum,\n InvalidShopId: 'invalidShopID' as CodeEnum,\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum,\n AmbiguousPartyId: 'ambiguousPartyID' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CreateWebhook429Response { \n /**\n * Human-readable description of the error\n */\n message: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CryptoCurrencyTransferRequestAllOf { \n /**\n * Cryptocurrency wallet address\n */\n cryptoAddress: string;\n /**\n * Cryptocurrency symbolic code\n */\n symbolicCode: string;\n /**\n * Amount of cash in cryptocurrency\n */\n cryptoAmount: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CryptoWalletAllOf { \n /**\n * List of cryptocurrencies\n */\n cryptoCurrencies: Array<string>;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CryptoWalletDetails { \n /**\n * Cryptocurrency payment method. The list of cryptocurrencies available for making payments can be found out by calling the corresponding [operation](#operation/getInvoicePaymentMethods) after creating an invoice. \n */\n cryptoCurrency: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { ContactInfo } from './contact-info';\n\n\nexport interface Customer { \n /**\n * Customer ID\n */\n readonly id?: string;\n /**\n * External customer identifier\n */\n externalID?: string;\n /**\n * Shop ID\n */\n shopID: string;\n /**\n * The participant\\'s unique identifier within the system.\n */\n partyID?: string;\n contactInfo: ContactInfo;\n /**\n * Customer status\n */\n readonly status?: Customer.StatusEnum;\n /**\n * Customer metadata\n */\n metadata: object;\n}\nexport namespace Customer {\n export type StatusEnum = 'ready' | 'unready';\n export const StatusEnum = {\n Ready: 'ready' as StatusEnum,\n Unready: 'unready' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { CustomerBindingError } from './customer-binding-error';\nimport { PaymentResource } from './payment-resource';\n\n\nexport interface CustomerBinding { \n /**\n * Customer binding identifier\n */\n id: string;\n /**\n * External customer binding identifier\n */\n externalID?: string;\n paymentResource: PaymentResource;\n /**\n * Binding status\n */\n status: CustomerBinding.StatusEnum;\n error?: CustomerBindingError;\n}\nexport namespace CustomerBinding {\n export type StatusEnum = 'pending' | 'succeeded' | 'failed';\n export const StatusEnum = {\n Pending: 'pending' as StatusEnum,\n Succeeded: 'succeeded' as StatusEnum,\n Failed: 'failed' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Description of the error that occurred during the binding process\n */\nexport interface CustomerBindingError { \n code: string;\n message: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { CustomerBindingError } from './customer-binding-error';\n\n\nexport interface CustomerBindingStatus { \n /**\n * Binding status\n */\n status: CustomerBindingStatus.StatusEnum;\n error?: CustomerBindingError;\n}\nexport namespace CustomerBindingStatus {\n export type StatusEnum = 'pending' | 'succeeded' | 'failed';\n export const StatusEnum = {\n Pending: 'pending' as StatusEnum,\n Succeeded: 'succeeded' as StatusEnum,\n Failed: 'failed' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { CustomerBindingError } from './customer-binding-error';\nimport { CustomerChange } from './customer-change';\n\n\nexport interface CustomerBindingStatusChanged extends CustomerChange { \n /**\n * Binding status\n */\n status: CustomerBindingStatusChanged.StatusEnum;\n error?: CustomerBindingError;\n customerBindingID: string;\n}\nexport namespace CustomerBindingStatusChanged {\n export type StatusEnum = 'pending' | 'succeeded' | 'failed';\n export const StatusEnum = {\n Pending: 'pending' as StatusEnum,\n Succeeded: 'succeeded' as StatusEnum,\n Failed: 'failed' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CustomerBindingStatusChangedAllOf { \n customerBindingID: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CustomerChange { \n changeType: CustomerChange.ChangeTypeEnum;\n}\nexport namespace CustomerChange {\n export type ChangeTypeEnum = 'CustomerBindingStarted' | 'CustomerBindingStatusChanged' | 'CustomerBindingInteractionRequested' | 'CustomerBindingInteractionCompleted';\n export const ChangeTypeEnum = {\n CustomerBindingStarted: 'CustomerBindingStarted' as ChangeTypeEnum,\n CustomerBindingStatusChanged: 'CustomerBindingStatusChanged' as ChangeTypeEnum,\n CustomerBindingInteractionRequested: 'CustomerBindingInteractionRequested' as ChangeTypeEnum,\n CustomerBindingInteractionCompleted: 'CustomerBindingInteractionCompleted' as ChangeTypeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { WebhookScope } from './webhook-scope';\n\n\n/**\n * Scope that includes customer events within a specific shop \n */\nexport interface CustomersTopic extends WebhookScope { \n /**\n * Shop ID\n */\n shopID: string;\n /**\n * List of customer event types to be notified about\n */\n eventTypes: Array<CustomersTopic.EventTypesEnum>;\n}\nexport namespace CustomersTopic {\n export type EventTypesEnum = 'CustomerCreated' | 'CustomerDeleted' | 'CustomerReady' | 'CustomerBindingStarted' | 'CustomerBindingSucceeded' | 'CustomerBindingFailed';\n export const EventTypesEnum = {\n CustomerCreated: 'CustomerCreated' as EventTypesEnum,\n CustomerDeleted: 'CustomerDeleted' as EventTypesEnum,\n CustomerReady: 'CustomerReady' as EventTypesEnum,\n CustomerBindingStarted: 'CustomerBindingStarted' as EventTypesEnum,\n CustomerBindingSucceeded: 'CustomerBindingSucceeded' as EventTypesEnum,\n CustomerBindingFailed: 'CustomerBindingFailed' as EventTypesEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface CustomersTopicAllOf { \n /**\n * Shop ID\n */\n shopID: string;\n /**\n * List of customer event types to be notified about\n */\n eventTypes: Array<CustomersTopicAllOf.EventTypesEnum>;\n}\nexport namespace CustomersTopicAllOf {\n export type EventTypesEnum = 'CustomerCreated' | 'CustomerDeleted' | 'CustomerReady' | 'CustomerBindingStarted' | 'CustomerBindingSucceeded' | 'CustomerBindingFailed';\n export const EventTypesEnum = {\n CustomerCreated: 'CustomerCreated' as EventTypesEnum,\n CustomerDeleted: 'CustomerDeleted' as EventTypesEnum,\n CustomerReady: 'CustomerReady' as EventTypesEnum,\n CustomerBindingStarted: 'CustomerBindingStarted' as EventTypesEnum,\n CustomerBindingSucceeded: 'CustomerBindingSucceeded' as EventTypesEnum,\n CustomerBindingFailed: 'CustomerBindingFailed' as EventTypesEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Fractional decimal number of arbitrary precision\n */\nexport interface Decimal { \n /**\n * Mantissa. \n */\n m: number;\n /**\n * Exponent. \n */\n exp: number;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DefaultLogicError { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: DefaultLogicError.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace DefaultLogicError {\n export type CodeEnum = 'invalidRequest' | 'invalidDeadline';\n export const CodeEnum = {\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DeleteCustomer400Response { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: DeleteCustomer400Response.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace DeleteCustomer400Response {\n export type CodeEnum = 'invalidPartyStatus' | 'invalidShopStatus' | 'invalidRequest' | 'invalidDeadline';\n export const CodeEnum = {\n InvalidPartyStatus: 'invalidPartyStatus' as CodeEnum,\n InvalidShopStatus: 'invalidShopStatus' as CodeEnum,\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DigitalWalletAllOf { \n /**\n * List of E-wallet providers\n */\n providers: Array<string>;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * E-wallet\n */\nexport interface DigitalWalletDataAllOf { \n /**\n * E-wallet identifier\n */\n id: string;\n /**\n * E-wallet provider. The list of providers available for making payments can be found by calling the the corresponding [operation](#operation/getInvoicePaymentMethods) after creating an invoice. Additional provider details can be found out by calling [reference operation](#operation/getServiceProviderByID). \n */\n provider: string;\n /**\n * Token\n */\n token?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface DigitalWalletDetails { \n /**\n * E-wallet provider. The list of providers available for making payments can be found by calling the the corresponding [operation](#operation/getInvoicePaymentMethods) after creating an invoice. Additional provider details can be found out by calling [reference operation](#operation/getServiceProviderByID). \n */\n provider: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ExternalIDConflictError { \n /**\n * The passed value of `externalID` for which a request parameter conflict was detected \n */\n externalID: string;\n /**\n * Identifier of the content, created by a previous query with the specified `externalID\\' \n */\n id?: string;\n /**\n * Human-readable description of the error\n */\n message?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface FulfillInvoice400Response { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: FulfillInvoice400Response.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace FulfillInvoice400Response {\n export type CodeEnum = 'invalidInvoiceStatus' | 'invalidPartyStatus' | 'invalidShopStatus' | 'invalidRequest' | 'invalidDeadline';\n export const CodeEnum = {\n InvalidInvoiceStatus: 'invalidInvoiceStatus' as CodeEnum,\n InvalidPartyStatus: 'invalidPartyStatus' as CodeEnum,\n InvalidShopStatus: 'invalidShopStatus' as CodeEnum,\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface GeneralError { \n message: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Google Pay data\n */\nexport interface GooglePayAllOf { \n /**\n * Merchant identifier in the system\n */\n gatewayMerchantID: string;\n /**\n * Aggregate of open and encrypted payment data\n */\n paymentToken: object;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * International banking organization data\n */\nexport interface InternationalBankDetails { \n /**\n * Business Identifier Code [ISO 9362](https://en.wikipedia.org/wiki/ISO_9362). _* If `bic` is specified, other data is optional._ \n */\n bic?: string;\n /**\n * [ABA Routing Transit Number](https://en.wikipedia.org/wiki/ABA_routing_transit_number) banking organization specific to the USA banking system. _* If `abartn` is specified, other data is optional._ \n */\n abartn?: string;\n /**\n * Name of the legal entity of the banking organization\n */\n name?: string;\n /**\n * Country code of residence of the banking organization, alpha-3 code according to [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) \n */\n countryCode?: string;\n /**\n * Address of the legal entity of the banking organization\n */\n address?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface InternationalLegalEntityAllOf { \n /**\n * Name\n */\n legalName: string;\n /**\n * Trade name (if applicable)\n */\n tradingName?: string;\n /**\n * Registration postal address\n */\n registeredOffice: string;\n /**\n * Location address (if different from the address of registration) \n */\n principalPlaceOfBusiness?: string;\n /**\n * Registration number\n */\n registeredNumber?: string;\n /**\n * Alpha-3 country code by standard [ISO 3166-1](https://en.wikipedia.org/wiki/ISO_3166-1) \n */\n country?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { InvoiceLine } from './invoice-line';\nimport { AllocationTransaction } from './allocation-transaction';\nimport { InvoiceClientInfo } from './invoice-client-info';\nimport { InvoiceBankAccount } from './invoice-bank-account';\n\n\nexport interface Invoice { \n /**\n * Invoice ID\n */\n id: string;\n /**\n * Shop ID\n */\n shopID: string;\n /**\n * External invoice identifier\n */\n externalID?: string;\n /**\n * Created at\n */\n createdAt: string;\n /**\n * Expiration date and time\n */\n dueDate: string;\n /**\n * The price of the goods or services offered, in minor monetary units, e.g. cents if U.S. dollars are specified as the currency \n */\n amount: number;\n /**\n * Currency character code according to [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm). \n */\n currency: string;\n /**\n * Name of the offered goods or services\n */\n product: string;\n /**\n * Description of the goods or services offered\n */\n description?: string;\n /**\n * Invoice template identifier (for invoices created from an invoice template). \n */\n invoiceTemplateID?: string;\n /**\n * Products and services cart \n */\n cart?: Array<InvoiceLine>;\n /**\n * Allocation of cash \n */\n allocation?: Array<AllocationTransaction>;\n bankAccount?: InvoiceBankAccount;\n /**\n * Invoice metadata\n */\n metadata: object;\n clientInfo?: InvoiceClientInfo;\n /**\n * Invoice status\n */\n status: Invoice.StatusEnum;\n /**\n * Reason for invoice cancellation or redemption\n */\n reason?: string;\n}\nexport namespace Invoice {\n export type StatusEnum = 'unpaid' | 'cancelled' | 'paid' | 'fulfilled';\n export const StatusEnum = {\n Unpaid: 'unpaid' as StatusEnum,\n Cancelled: 'cancelled' as StatusEnum,\n Paid: 'paid' as StatusEnum,\n Fulfilled: 'fulfilled' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Information on the bank account of the payer, to which transactions this invoice relates \n */\nexport interface InvoiceBankAccount { \n /**\n * Bank account type\n */\n accountType: InvoiceBankAccount.AccountTypeEnum;\n}\nexport namespace InvoiceBankAccount {\n export type AccountTypeEnum = 'InvoiceRussianBankAccount';\n export const AccountTypeEnum = {\n InvoiceRussianBankAccount: 'InvoiceRussianBankAccount' as AccountTypeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface InvoiceChange { \n changeType: InvoiceChange.ChangeTypeEnum;\n}\nexport namespace InvoiceChange {\n export type ChangeTypeEnum = 'InvoiceCreated' | 'InvoiceStatusChanged' | 'PaymentStarted' | 'PaymentStatusChanged' | 'PaymentInteractionRequested' | 'PaymentInteractionCompleted' | 'RefundStarted' | 'RefundStatusChanged';\n export const ChangeTypeEnum = {\n InvoiceCreated: 'InvoiceCreated' as ChangeTypeEnum,\n InvoiceStatusChanged: 'InvoiceStatusChanged' as ChangeTypeEnum,\n PaymentStarted: 'PaymentStarted' as ChangeTypeEnum,\n PaymentStatusChanged: 'PaymentStatusChanged' as ChangeTypeEnum,\n PaymentInteractionRequested: 'PaymentInteractionRequested' as ChangeTypeEnum,\n PaymentInteractionCompleted: 'PaymentInteractionCompleted' as ChangeTypeEnum,\n RefundStarted: 'RefundStarted' as ChangeTypeEnum,\n RefundStatusChanged: 'RefundStatusChanged' as ChangeTypeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Additional client information\n */\nexport interface InvoiceClientInfo { \n /**\n * Is the payer reliable?\n */\n trustLevel: InvoiceClientInfo.TrustLevelEnum;\n}\nexport namespace InvoiceClientInfo {\n export type TrustLevelEnum = 'wellKnown' | 'unknown';\n export const TrustLevelEnum = {\n WellKnown: 'wellKnown' as TrustLevelEnum,\n Unknown: 'unknown' as TrustLevelEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The tax mode for the proposed good or service. To be specified only if the proposed good or service is taxable. \n */\nexport interface InvoiceLineTaxMode { \n /**\n * Tax mode\n */\n type: InvoiceLineTaxMode.TypeEnum;\n}\nexport namespace InvoiceLineTaxMode {\n export type TypeEnum = 'InvoiceLineTaxVAT';\n export const TypeEnum = {\n InvoiceLineTaxVat: 'InvoiceLineTaxVAT' as TypeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { InvoiceLineTaxMode } from './invoice-line-tax-mode';\n\n\nexport interface InvoiceLineTaxVAT extends InvoiceLineTaxMode { \n /**\n * Tax rate\n */\n rate: InvoiceLineTaxVAT.RateEnum;\n}\nexport namespace InvoiceLineTaxVAT {\n export type RateEnum = '0%' | '10%' | '18%' | '20%' | '10/110' | '18/118' | '20/120';\n export const RateEnum = {\n _0: '0%' as RateEnum,\n _10: '10%' as RateEnum,\n _18: '18%' as RateEnum,\n _20: '20%' as RateEnum,\n _10110: '10/110' as RateEnum,\n _18118: '18/118' as RateEnum,\n _20120: '20/120' as RateEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Value added tax in the jurisdiction of the Russian Federation\n */\nexport interface InvoiceLineTaxVATAllOf { \n /**\n * Tax rate\n */\n rate: InvoiceLineTaxVATAllOf.RateEnum;\n}\nexport namespace InvoiceLineTaxVATAllOf {\n export type RateEnum = '0%' | '10%' | '18%' | '20%' | '10/110' | '18/118' | '20/120';\n export const RateEnum = {\n _0: '0%' as RateEnum,\n _10: '10%' as RateEnum,\n _18: '18%' as RateEnum,\n _20: '20%' as RateEnum,\n _10110: '10/110' as RateEnum,\n _18118: '18/118' as RateEnum,\n _20120: '20/120' as RateEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface InvoiceParamsWithTemplate { \n /**\n * A platform-unique entity identifier for this party. It is used to ensure request idempotency. \n */\n externalID?: string;\n /**\n * The price of the goods or services offered, in minor monetary units, e.g. cents if U.S. dollars are specified as the currency \n */\n amount?: number;\n /**\n * Currency character code according to [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm). \n */\n currency?: string;\n /**\n * Invoice metadata\n */\n metadata?: object;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Data of a settlement account in a banking organization operating under the jurisdiction of the Russian Federation. \n */\nexport interface InvoiceRussianBankAccountAllOf { \n /**\n * Account number\n */\n account: string;\n /**\n * BIK of the banking organization\n */\n bankBik: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface InvoiceStatus { \n /**\n * Invoice status\n */\n status: InvoiceStatus.StatusEnum;\n /**\n * Reason for invoice cancellation or redemption\n */\n reason?: string;\n}\nexport namespace InvoiceStatus {\n export type StatusEnum = 'unpaid' | 'cancelled' | 'paid' | 'fulfilled';\n export const StatusEnum = {\n Unpaid: 'unpaid' as StatusEnum,\n Cancelled: 'cancelled' as StatusEnum,\n Paid: 'paid' as StatusEnum,\n Fulfilled: 'fulfilled' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { InvoiceChange } from './invoice-change';\n\n\nexport interface InvoiceStatusChanged extends InvoiceChange { \n /**\n * Invoice status\n */\n status: InvoiceStatusChanged.StatusEnum;\n /**\n * Reason for invoice cancellation or redemption\n */\n reason?: string;\n}\nexport namespace InvoiceStatusChanged {\n export type StatusEnum = 'unpaid' | 'cancelled' | 'paid' | 'fulfilled';\n export const StatusEnum = {\n Unpaid: 'unpaid' as StatusEnum,\n Cancelled: 'cancelled' as StatusEnum,\n Paid: 'paid' as StatusEnum,\n Fulfilled: 'fulfilled' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface InvoiceTemplateDetails { \n templateType: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Limitations on the value of goods and services for invoices generated by the template. \n */\nexport interface InvoiceTemplateLineCost { \n costType: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface InvoiceTemplateLineCostFixedAllOf { \n /**\n * Currency character code according to [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm). \n */\n currency: string;\n /**\n * The price of the goods or services offered, in minor monetary units, e.g. cents if U.S. dollars are specified as the currency \n */\n amount: number;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { WebhookScope } from './webhook-scope';\n\n\n/**\n * Scope that includes invoice events within a specific shop \n */\nexport interface InvoicesTopic extends WebhookScope { \n /**\n * Shop ID\n */\n shopID: string;\n /**\n * List of invoice event types to be notified about\n */\n eventTypes: Array<InvoicesTopic.EventTypesEnum>;\n}\nexport namespace InvoicesTopic {\n export type EventTypesEnum = 'InvoiceCreated' | 'InvoicePaid' | 'InvoiceCancelled' | 'InvoiceFulfilled' | 'PaymentStarted' | 'PaymentProcessed' | 'PaymentCaptured' | 'PaymentCancelled' | 'PaymentRefunded' | 'PaymentFailed' | 'PaymentRefundCreated' | 'PaymentRefundSucceeded' | 'PaymentRefundFailed';\n export const EventTypesEnum = {\n InvoiceCreated: 'InvoiceCreated' as EventTypesEnum,\n InvoicePaid: 'InvoicePaid' as EventTypesEnum,\n InvoiceCancelled: 'InvoiceCancelled' as EventTypesEnum,\n InvoiceFulfilled: 'InvoiceFulfilled' as EventTypesEnum,\n PaymentStarted: 'PaymentStarted' as EventTypesEnum,\n PaymentProcessed: 'PaymentProcessed' as EventTypesEnum,\n PaymentCaptured: 'PaymentCaptured' as EventTypesEnum,\n PaymentCancelled: 'PaymentCancelled' as EventTypesEnum,\n PaymentRefunded: 'PaymentRefunded' as EventTypesEnum,\n PaymentFailed: 'PaymentFailed' as EventTypesEnum,\n PaymentRefundCreated: 'PaymentRefundCreated' as EventTypesEnum,\n PaymentRefundSucceeded: 'PaymentRefundSucceeded' as EventTypesEnum,\n PaymentRefundFailed: 'PaymentRefundFailed' as EventTypesEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface InvoicesTopicAllOf { \n /**\n * Shop ID\n */\n shopID: string;\n /**\n * List of invoice event types to be notified about\n */\n eventTypes: Array<InvoicesTopicAllOf.EventTypesEnum>;\n}\nexport namespace InvoicesTopicAllOf {\n export type EventTypesEnum = 'InvoiceCreated' | 'InvoicePaid' | 'InvoiceCancelled' | 'InvoiceFulfilled' | 'PaymentStarted' | 'PaymentProcessed' | 'PaymentCaptured' | 'PaymentCancelled' | 'PaymentRefunded' | 'PaymentFailed' | 'PaymentRefundCreated' | 'PaymentRefundSucceeded' | 'PaymentRefundFailed';\n export const EventTypesEnum = {\n InvoiceCreated: 'InvoiceCreated' as EventTypesEnum,\n InvoicePaid: 'InvoicePaid' as EventTypesEnum,\n InvoiceCancelled: 'InvoiceCancelled' as EventTypesEnum,\n InvoiceFulfilled: 'InvoiceFulfilled' as EventTypesEnum,\n PaymentStarted: 'PaymentStarted' as EventTypesEnum,\n PaymentProcessed: 'PaymentProcessed' as EventTypesEnum,\n PaymentCaptured: 'PaymentCaptured' as EventTypesEnum,\n PaymentCancelled: 'PaymentCancelled' as EventTypesEnum,\n PaymentRefunded: 'PaymentRefunded' as EventTypesEnum,\n PaymentFailed: 'PaymentFailed' as EventTypesEnum,\n PaymentRefundCreated: 'PaymentRefundCreated' as EventTypesEnum,\n PaymentRefundSucceeded: 'PaymentRefundSucceeded' as EventTypesEnum,\n PaymentRefundFailed: 'PaymentRefundFailed' as EventTypesEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Legal agreement details\n */\nexport interface LegalAgreement { \n /**\n * Legal agreement Identifier, e.g. contract number\n */\n id: string;\n /**\n * Date and time of conclusion of the legal agreement\n */\n signedAt: string;\n /**\n * Date and time of termination of the legal agreement\n */\n validUntil?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface LegalEntityAllOf { \n /**\n * Legal entity type\n */\n entityType: LegalEntityAllOf.EntityTypeEnum;\n}\nexport namespace LegalEntityAllOf {\n export type EntityTypeEnum = 'RussianLegalEntity' | 'InternationalLegalEntity';\n export const EntityTypeEnum = {\n RussianLegalEntity: 'RussianLegalEntity' as EntityTypeEnum,\n InternationalLegalEntity: 'InternationalLegalEntity' as EntityTypeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The life time of an invoice from the time it was created.\n */\nexport interface LifetimeInterval { \n days: number;\n months: number;\n years: number;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Description of the error that occurred during the payment process\n */\nexport interface LogicError { \n code: string;\n message: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface MobileCommerceAllOf { \n /**\n * List of mobile operators\n */\n operators: Array<string>;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface MobileCommerceDetails { \n /**\n * Masked cell phone number\n */\n phoneNumber: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Telephone number, according to ITU-T recommendation [E.164](https://en.wikipedia.org/wiki/E.164) \n */\nexport interface MobileCommercePhone { \n /**\n * Country code (1-3 digits)\n */\n cc: string;\n /**\n * Phone number\n */\n ctn: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface Party { \n id: string;\n isBlocked: boolean;\n isSuspended: boolean;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Payer\\'s current session data\n */\nexport interface PayerSessionInfo { \n /**\n * URL of the resource to which the payer should be redirected upon completion of interaction with it in the browser, for example, preauthorization of payment using 3D Secure 2.0 protocol, if such interaction is required. \n */\n redirectUrl?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { Payer } from './payer';\nimport { AllocationTransaction } from './allocation-transaction';\nimport { PaymentFlow } from './payment-flow';\nimport { TransactionInfo } from './transaction-info';\nimport { PaymentError } from './payment-error';\n\n\nexport interface Payment { \n /**\n * Payment ID\n */\n id: string;\n /**\n * A platform-unique entity identifier for this party. It is used to ensure request idempotency. \n */\n externalID?: string;\n /**\n * Identifier of the invoice within which the payment was created \n */\n invoiceID: string;\n /**\n * Created at\n */\n createdAt: string;\n /**\n * The price of the goods or services offered, in minor monetary units, e.g. cents if U.S. dollars are specified as the currency \n */\n amount: number;\n /**\n * Currency character code according to [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm). \n */\n currency: string;\n flow: PaymentFlow;\n payer: Payer;\n transactionInfo?: TransactionInfo;\n /**\n * An indication of the creation of a parent recurrence payment. Successful payment with this attribute can be used as a parent payment in other recurring payments. \n */\n readonly makeRecurrent?: boolean;\n /**\n * Payment metadata\n */\n metadata?: object;\n /**\n * Allocation of cash \n */\n readonly allocation?: Array<AllocationTransaction>;\n /**\n * Payment status\n */\n status: Payment.StatusEnum;\n error?: PaymentError;\n}\nexport namespace Payment {\n export type StatusEnum = 'pending' | 'processed' | 'captured' | 'cancelled' | 'refunded' | 'failed';\n export const StatusEnum = {\n Pending: 'pending' as StatusEnum,\n Processed: 'processed' as StatusEnum,\n Captured: 'captured' as StatusEnum,\n Cancelled: 'cancelled' as StatusEnum,\n Refunded: 'refunded' as StatusEnum,\n Failed: 'failed' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PaymentFlow { \n /**\n * Payment flow type\n */\n type: PaymentFlow.TypeEnum;\n}\nexport namespace PaymentFlow {\n export type TypeEnum = 'PaymentFlowInstant' | 'PaymentFlowHold';\n export const TypeEnum = {\n PaymentFlowInstant: 'PaymentFlowInstant' as TypeEnum,\n PaymentFlowHold: 'PaymentFlowHold' as TypeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { PaymentFlow } from './payment-flow';\n\n\nexport interface PaymentFlowHold extends PaymentFlow { \n /**\n * Cash withholding management policy\n */\n onHoldExpiration: PaymentFlowHold.OnHoldExpirationEnum;\n /**\n * Date and time of withholding of funds\n */\n readonly heldUntil?: string;\n}\nexport namespace PaymentFlowHold {\n export type OnHoldExpirationEnum = 'cancel' | 'capture';\n export const OnHoldExpirationEnum = {\n Cancel: 'cancel' as OnHoldExpirationEnum,\n Capture: 'capture' as OnHoldExpirationEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PaymentFlowHoldAllOf { \n /**\n * Cash withholding management policy\n */\n onHoldExpiration: PaymentFlowHoldAllOf.OnHoldExpirationEnum;\n /**\n * Date and time of withholding of funds\n */\n readonly heldUntil?: string;\n}\nexport namespace PaymentFlowHoldAllOf {\n export type OnHoldExpirationEnum = 'cancel' | 'capture';\n export const OnHoldExpirationEnum = {\n Cancel: 'cancel' as OnHoldExpirationEnum,\n Capture: 'capture' as OnHoldExpirationEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Payment Institution\n */\nexport interface PaymentInstitution { \n id: number;\n name: string;\n description?: string;\n residences: Array<string>;\n /**\n * Payment institution\\'s mode\n */\n realm: PaymentInstitution.RealmEnum;\n}\nexport namespace PaymentInstitution {\n export type RealmEnum = 'test' | 'live';\n export const RealmEnum = {\n Test: 'test' as RealmEnum,\n Live: 'live' as RealmEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PaymentMethod { \n /**\n * Payment method\n */\n method: PaymentMethod.MethodEnum;\n}\nexport namespace PaymentMethod {\n export type MethodEnum = 'BankCard' | 'PaymentTerminal' | 'DigitalWallet' | 'CryptoWallet' | 'MobileCommerce';\n export const MethodEnum = {\n BankCard: 'BankCard' as MethodEnum,\n PaymentTerminal: 'PaymentTerminal' as MethodEnum,\n DigitalWallet: 'DigitalWallet' as MethodEnum,\n CryptoWallet: 'CryptoWallet' as MethodEnum,\n MobileCommerce: 'MobileCommerce' as MethodEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Parent payment, on the basis of which the current recurrent payment was created\n */\nexport interface PaymentRecurrentParent { \n /**\n * Invoice identifier\n */\n invoiceID: string;\n /**\n * Payment identifier\n */\n paymentID: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PaymentResourceClientInfo { \n /**\n * Payer\\'s user agent unique fingerprint\n */\n fingerprint: string;\n /**\n * Payer IP-address\n */\n ip?: string;\n /**\n * URL from which the payment form was received by the client\n */\n url?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { Payer } from './payer';\nimport { InvoiceLine } from './invoice-line';\nimport { AllocationTransaction } from './allocation-transaction';\nimport { PaymentFlow } from './payment-flow';\nimport { TransactionInfo } from './transaction-info';\nimport { PaymentError } from './payment-error';\n\n\nexport interface PaymentSearchResult { \n /**\n * Payment status\n */\n status: PaymentSearchResult.StatusEnum;\n error?: PaymentError;\n /**\n * Payment ID\n */\n id: string;\n /**\n * Shortened payment and invoice identifier (spid)\n */\n shortID?: string;\n /**\n * Identifier of the invoice within which the payment was created \n */\n invoiceID: string;\n /**\n * Identifier of the shop within which the payment was created \n */\n shopID?: string;\n /**\n * Created at\n */\n createdAt: string;\n /**\n * The price of the goods or services offered, in minor monetary units, e.g. cents if U.S. dollars are specified as the currency \n */\n amount: number;\n /**\n * System fee in minor monetary units\n */\n fee?: number;\n /**\n * Currency character code according to [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm). \n */\n currency: string;\n payer: Payer;\n flow: PaymentFlow;\n /**\n * Payment metadata\n */\n metadata?: object;\n /**\n * Date and time of payment status change\n */\n statusChangedAt?: string;\n transactionInfo?: TransactionInfo;\n /**\n * An indication of the creation of a parent recurrence payment. Successful payment with this attribute can be used as a parent payment in other recurring payments. \n */\n makeRecurrent?: boolean;\n /**\n * Products and services cart \n */\n cart?: Array<InvoiceLine>;\n /**\n * Allocation of cash \n */\n allocation?: Array<AllocationTransaction>;\n}\nexport namespace PaymentSearchResult {\n export type StatusEnum = 'pending' | 'processed' | 'captured' | 'cancelled' | 'refunded' | 'failed';\n export const StatusEnum = {\n Pending: 'pending' as StatusEnum,\n Processed: 'processed' as StatusEnum,\n Captured: 'captured' as StatusEnum,\n Cancelled: 'cancelled' as StatusEnum,\n Refunded: 'refunded' as StatusEnum,\n Failed: 'failed' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { PaymentError } from './payment-error';\n\n\nexport interface PaymentStatus { \n /**\n * Payment status\n */\n status: PaymentStatus.StatusEnum;\n error?: PaymentError;\n}\nexport namespace PaymentStatus {\n export type StatusEnum = 'pending' | 'processed' | 'captured' | 'cancelled' | 'refunded' | 'failed';\n export const StatusEnum = {\n Pending: 'pending' as StatusEnum,\n Processed: 'processed' as StatusEnum,\n Captured: 'captured' as StatusEnum,\n Cancelled: 'cancelled' as StatusEnum,\n Refunded: 'refunded' as StatusEnum,\n Failed: 'failed' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { InvoiceChange } from './invoice-change';\nimport { PaymentError } from './payment-error';\n\n\nexport interface PaymentStatusChanged extends InvoiceChange { \n /**\n * Payment status\n */\n status: PaymentStatusChanged.StatusEnum;\n error?: PaymentError;\n paymentID: string;\n}\nexport namespace PaymentStatusChanged {\n export type StatusEnum = 'pending' | 'processed' | 'captured' | 'cancelled' | 'refunded' | 'failed';\n export const StatusEnum = {\n Pending: 'pending' as StatusEnum,\n Processed: 'processed' as StatusEnum,\n Captured: 'captured' as StatusEnum,\n Cancelled: 'cancelled' as StatusEnum,\n Refunded: 'refunded' as StatusEnum,\n Failed: 'failed' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PaymentStatusChangedAllOf { \n paymentID: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PaymentTerminalAllOf { \n /**\n * Providers\n */\n providers: Array<string>;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Payment terminal\n */\nexport interface PaymentTerminalDataAllOf { \n /**\n * Payment terminal provider. The list of providers available for making payments can be found by calling the the corresponding [operation](#operation/getInvoicePaymentMethods) after creating an invoice. Additional provider details can be found out by calling [reference operation](#operation/getServiceProviderByID). \n */\n provider: string;\n /**\n * Arbitrary metadata further describing this payment instrument. \n */\n metadata?: object;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PaymentTerminalDetails { \n /**\n * Payment terminal provider. The list of providers available for making payments can be found by calling the the corresponding [operation](#operation/getInvoicePaymentMethods) after creating an invoice. Additional provider details can be found out by calling [reference operation](#operation/getServiceProviderByID). \n */\n provider: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PaymentTerminalReceiptAllOf { \n /**\n * Account number for payment via payment terminal\n */\n shortPaymentID: string;\n /**\n * Expiration date and time\n */\n dueDate: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PaymentTerms { \n currencies?: Array<string>;\n categories?: Array<number>;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PaymentTool { \n /**\n * Payment tool type\n */\n paymentToolType: PaymentTool.PaymentToolTypeEnum;\n}\nexport namespace PaymentTool {\n export type PaymentToolTypeEnum = 'CardData' | 'PaymentTerminalData' | 'DigitalWalletData' | 'TokenizedCardData' | 'CryptoWalletData' | 'MobileCommerceData';\n export const PaymentToolTypeEnum = {\n CardData: 'CardData' as PaymentToolTypeEnum,\n PaymentTerminalData: 'PaymentTerminalData' as PaymentToolTypeEnum,\n DigitalWalletData: 'DigitalWalletData' as PaymentToolTypeEnum,\n TokenizedCardData: 'TokenizedCardData' as PaymentToolTypeEnum,\n CryptoWalletData: 'CryptoWalletData' as PaymentToolTypeEnum,\n MobileCommerceData: 'MobileCommerceData' as PaymentToolTypeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Payment tool details\n */\nexport interface PaymentToolDetails { \n /**\n * Type of payment tool\n */\n detailsType: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { PaymentToolDetails } from './payment-tool-details';\n\n\nexport interface PaymentToolDetailsBankCard extends PaymentToolDetails { \n /**\n * Masked card number\n */\n cardNumberMask: string;\n /**\n * First digits of the card number. Absent for tokenized payment methods. \n */\n first6?: string;\n /**\n * Card last digits\n */\n last4?: string;\n /**\n * Payment system. The list of systems available for making payments can be found by calling the corresponding [operation](#operation/getInvoicePaymentMethods) after creating an invoice. \n */\n paymentSystem: string;\n /**\n * Payment token provider. The list of providers available for making payments can be found by calling the corresponding [operation](#operation/getInvoicePaymentMethods) after creating an invoice. \n */\n tokenProvider?: string;\n /**\n * Tokenization method\n */\n tokenizationMethod?: PaymentToolDetailsBankCard.TokenizationMethodEnum;\n}\nexport namespace PaymentToolDetailsBankCard {\n export type TokenizationMethodEnum = 'dpan' | 'none';\n export const TokenizationMethodEnum = {\n Dpan: 'dpan' as TokenizationMethodEnum,\n None: 'none' as TokenizationMethodEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PayoutParams { \n /**\n * Payout ID\n */\n id?: string;\n /**\n * Shop ID\n */\n shopID: string;\n /**\n * The participant\\'s unique identifier within the system.\n */\n partyID?: string;\n /**\n * Payout tool ID\n */\n payoutToolID: string;\n /**\n * Payout amount, in minor monetary units, e.g. cents if US dollars are specified as the currency. \n */\n amount: number;\n /**\n * Currency character code according to [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm). \n */\n currency: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PayoutToolAllOf { \n /**\n * Payout tool ID\n */\n id: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Payout tool details\n */\nexport interface PayoutToolDetails { \n /**\n * Payout tool type\n */\n detailsType: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PayoutToolDetailsWalletInfoAllOf { \n /**\n * Identifier of the wallet\n */\n walletID: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface PrivateEntityAllOf { \n /**\n * Private entity type\n */\n entityType: PrivateEntityAllOf.EntityTypeEnum;\n}\nexport namespace PrivateEntityAllOf {\n export type EntityTypeEnum = 'RussianPrivateEntity';\n export const EntityTypeEnum = {\n RussianPrivateEntity: 'RussianPrivateEntity' as EntityTypeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface QrCodeDisplayRequestAllOf { \n /**\n * QR code content as byte array\n */\n qrCode: Blob;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Payment institution\\'s mode\n */\nexport type RealmMode = 'test' | 'live';\n\nexport const RealmMode = {\n Test: 'test' as RealmMode,\n Live: 'live' as RealmMode\n};\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface Reason { \n /**\n * Operation reason\n */\n reason: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { InvoiceLine } from './invoice-line';\nimport { AllocationTransaction } from './allocation-transaction';\nimport { RefundError } from './refund-error';\n\n\nexport interface Refund { \n /**\n * Refund ID\n */\n id: string;\n /**\n * A platform-unique entity identifier for this party. It is used to ensure request idempotency. \n */\n externalID?: string;\n /**\n * Creation date and time\n */\n createdAt: string;\n /**\n * Refund amount, in minor monetary units, e.g. cents if US dollars are specified as the currency. \n */\n amount: number;\n /**\n * Currency character code according to [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm). \n */\n currency: string;\n /**\n * Refund reason\n */\n reason?: string;\n /**\n * The final cart of goods and services provided, which should be formed from the invoice cart excluding the items for which a refund has been made. The amount of the cart should be the same as the amount of the payment less the amount of the refund. \n */\n cart?: Array<InvoiceLine>;\n /**\n * The final cash distribution, which should be formed from the invoice distribution excluding the items for which a refund is made. \n */\n allocation?: Array<AllocationTransaction>;\n /**\n * Refund status\n */\n status: Refund.StatusEnum;\n error?: RefundError;\n}\nexport namespace Refund {\n export type StatusEnum = 'pending' | 'succeeded' | 'failed';\n export const StatusEnum = {\n Pending: 'pending' as StatusEnum,\n Succeeded: 'succeeded' as StatusEnum,\n Failed: 'failed' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Data of the error that occurred during the refund process, if the refund was unsuccessful \n */\nexport interface RefundError { \n /**\n * Error code for automatic processing\n */\n code: string;\n /**\n * Human-readable error description\n */\n message: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { InvoiceLine } from './invoice-line';\nimport { AllocationTransaction } from './allocation-transaction';\nimport { RefundError } from './refund-error';\n\n\nexport interface RefundSearchResult { \n /**\n * Invoice ID\n */\n invoiceID: string;\n /**\n * Payment ID\n */\n paymentID: string;\n /**\n * Refund ID\n */\n id: string;\n /**\n * A platform-unique entity identifier for this party. It is used to ensure request idempotency. \n */\n externalID?: string;\n /**\n * Creation date and time\n */\n createdAt: string;\n /**\n * Refund amount, in minor monetary units, e.g. cents if US dollars are specified as the currency. \n */\n amount: number;\n /**\n * Currency character code according to [ISO 4217](http://www.iso.org/iso/home/standards/currency_codes.htm). \n */\n currency: string;\n /**\n * Refund reason\n */\n reason?: string;\n /**\n * The final cart of goods and services provided, which should be formed from the invoice cart excluding the items for which a refund has been made. The amount of the cart should be the same as the amount of the payment less the amount of the refund. \n */\n cart?: Array<InvoiceLine>;\n /**\n * The final cash distribution, which should be formed from the invoice distribution excluding the items for which a refund is made. \n */\n allocation?: Array<AllocationTransaction>;\n /**\n * Refund status\n */\n status: RefundSearchResult.StatusEnum;\n error?: RefundError;\n}\nexport namespace RefundSearchResult {\n export type StatusEnum = 'pending' | 'succeeded' | 'failed';\n export const StatusEnum = {\n Pending: 'pending' as StatusEnum,\n Succeeded: 'succeeded' as StatusEnum,\n Failed: 'failed' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface RefundSearchResultAllOf { \n /**\n * Invoice ID\n */\n invoiceID: string;\n /**\n * Payment ID\n */\n paymentID: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { RefundError } from './refund-error';\n\n\nexport interface RefundStatus { \n /**\n * Refund status\n */\n status: RefundStatus.StatusEnum;\n error?: RefundError;\n}\nexport namespace RefundStatus {\n export type StatusEnum = 'pending' | 'succeeded' | 'failed';\n export const StatusEnum = {\n Pending: 'pending' as StatusEnum,\n Succeeded: 'succeeded' as StatusEnum,\n Failed: 'failed' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\nimport { InvoiceChange } from './invoice-change';\nimport { RefundError } from './refund-error';\n\n\nexport interface RefundStatusChanged extends InvoiceChange { \n paymentID: string;\n refundID: string;\n /**\n * Refund status\n */\n status: RefundStatusChanged.StatusEnum;\n error?: RefundError;\n}\nexport namespace RefundStatusChanged {\n export type StatusEnum = 'pending' | 'succeeded' | 'failed';\n export const StatusEnum = {\n Pending: 'pending' as StatusEnum,\n Succeeded: 'succeeded' as StatusEnum,\n Failed: 'failed' as StatusEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface RefundStatusChangedAllOf { \n paymentID: string;\n refundID: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface RegisteredUserAllOf { \n /**\n * User-identifying e-mail\n */\n email: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ReportLink { \n /**\n * URL of the file\n */\n url: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ReportParams { \n /**\n * Type of report\n */\n reportType: ReportParams.ReportTypeEnum;\n /**\n * Start of the time period\n */\n fromTime: string;\n /**\n * End of the time period\n */\n toTime: string;\n}\nexport namespace ReportParams {\n export type ReportTypeEnum = 'paymentRegistry';\n export const ReportTypeEnum = {\n PaymentRegistry: 'paymentRegistry' as ReportTypeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Document on the basis of which the EIO/representative acts\n */\nexport interface RepresentativeDocument { \n representativeDocumentType: RepresentativeDocument.RepresentativeDocumentTypeEnum;\n}\nexport namespace RepresentativeDocument {\n export type RepresentativeDocumentTypeEnum = 'ArticlesOfAssociation' | 'PowerOfAttorney';\n export const RepresentativeDocumentTypeEnum = {\n ArticlesOfAssociation: 'ArticlesOfAssociation' as RepresentativeDocumentTypeEnum,\n PowerOfAttorney: 'PowerOfAttorney' as RepresentativeDocumentTypeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface RescindInvoice400Response { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: RescindInvoice400Response.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace RescindInvoice400Response {\n export type CodeEnum = 'invalidInvoiceStatus' | 'invoicePaymentPending' | 'invalidPartyStatus' | 'invalidShopStatus' | 'invalidRequest' | 'invalidDeadline';\n export const CodeEnum = {\n InvalidInvoiceStatus: 'invalidInvoiceStatus' as CodeEnum,\n InvoicePaymentPending: 'invoicePaymentPending' as CodeEnum,\n InvalidPartyStatus: 'invalidPartyStatus' as CodeEnum,\n InvalidShopStatus: 'invalidShopStatus' as CodeEnum,\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Samsung Pay data\n */\nexport interface SamsungPayAllOf { \n /**\n * Samsung Pay service identifier\n */\n serviceID: string;\n /**\n * Samsung Pay reference indentifier\n */\n referenceID: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Schedule\n */\nexport interface Schedule { \n scheduleID: number;\n name: string;\n description?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Payment service provider. A third-party organization that provides payment services, such as maintaining a system of e-wallets or payment terminals. \n */\nexport interface ServiceProvider { \n /**\n * Service provider\\'s identifier\n */\n id: string;\n /**\n * The name of the provider by which it is known to the general public \n */\n brandName?: string;\n /**\n * Provider сategory. Can be used for presentation tasks, such as grouping available payment methods by their provider category, if known. \n */\n category?: string;\n /**\n * Arbitrary, namespace-separated metadata that further describes a given provider to various consumers. \n */\n metadata?: object;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ShopDetails { \n /**\n * Shop name\n */\n name: string;\n /**\n * Short description\n */\n description?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The location of the shop, by which it can be found\n */\nexport interface ShopLocation { \n /**\n * Location type\n */\n locationType: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface ShopLocationUrlAllOf { \n /**\n * Shop URL\n */\n url: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Detailed description of the error \n */\nexport interface SubError { \n /**\n * Details of the error code\n */\n code: string;\n subError?: SubError;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Tokenized bank card\n */\nexport interface TokenizedCardDataAllOf { \n provider: TokenizedCardDataAllOf.ProviderEnum;\n}\nexport namespace TokenizedCardDataAllOf {\n export type ProviderEnum = 'ApplePay' | 'GooglePay' | 'SamsungPay' | 'YandexPay';\n export const ProviderEnum = {\n ApplePay: 'ApplePay' as ProviderEnum,\n GooglePay: 'GooglePay' as ProviderEnum,\n SamsungPay: 'SamsungPay' as ProviderEnum,\n YandexPay: 'YandexPay' as ProviderEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Trade bloc\n */\nexport interface TradeBloc { \n id: string;\n name: string;\n description?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Transaction Info\n */\nexport interface TransactionInfo { \n /**\n * Retrieval Reference Number\n */\n rrn?: string;\n /**\n * Authorization Approval Code\n */\n approvalCode?: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface UpdateInvoiceTemplate400Response { \n /**\n * [Error code](#tag/Error-Codes) \n */\n code: UpdateInvoiceTemplate400Response.CodeEnum;\n /**\n * Human-readable description of the error\n */\n message: string;\n}\nexport namespace UpdateInvoiceTemplate400Response {\n export type CodeEnum = 'invalidPartyStatus' | 'invalidShopStatus' | 'invalidInvoiceCart' | 'invalidRequest' | 'invalidDeadline';\n export const CodeEnum = {\n InvalidPartyStatus: 'invalidPartyStatus' as CodeEnum,\n InvalidShopStatus: 'invalidShopStatus' as CodeEnum,\n InvalidInvoiceCart: 'invalidInvoiceCart' as CodeEnum,\n InvalidRequest: 'invalidRequest' as CodeEnum,\n InvalidDeadline: 'invalidDeadline' as CodeEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface UserInteraction { \n /**\n * Type of interaction with the user\n */\n interactionType: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nexport interface UserInteractionFormInner { \n /**\n * The value of the key of the form element to be send by means of browser \n */\n key: string;\n /**\n * The template for the form element value The template is presented according to the standard [RFC6570](https://tools.ietf.org/html/rfc6570). \n */\n template: string;\n}\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * The scope of a webhook, limiting the list of event types, for which the notifications should be sent \n */\nexport interface WebhookScope { \n /**\n * Subject of notifications\n */\n topic: WebhookScope.TopicEnum;\n}\nexport namespace WebhookScope {\n export type TopicEnum = 'InvoicesTopic' | 'CustomersTopic';\n export const TopicEnum = {\n InvoicesTopic: 'InvoicesTopic' as TopicEnum,\n CustomersTopic: 'CustomersTopic' as TopicEnum\n };\n}\n\n\n","/**\n * Vality Payments API\n * ## Description API is designed for the merchants who accept payments via user interface such as a website or a mobile app and it is the only interaction point with the system for goods and services payment transactions. ## Interaction details Whenever an API is accessed, its unique ID must be passed in the header X-Request-ID of the corresponding request: ``` X-Request-ID: 37d735d4-0f42-4f05-89fa-eaa478fb5aa9 ``` ### Content type and coding The system accepts and returns data in JSON format and UTF-8 coding: ``` Content-Type: application/json; charset=utf-8 ``` ### Date formats The system accepts and returns timestamp values in the format date-time, described in [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339): ``` 2017-01-01T00:00:00Z 2017-01-01T00:00:01+00:00 ``` ### Maximum request processing time Whenever an API is accessed, the time cutoff parameters, that define maximum request processing time of the transaction completion, can be passed in the header `X-Request-Deadline` of the corresponding request: ``` X-Request-Deadline: 10s ``` The system stops processing the request upon the specified time. It is recommended to specify a value that is not more than one minute and not less than three seconds. `X-Request-Deadline` can be: * specified in the format `date-time` according to [RFC 3339](https://datatracker.ietf.org/doc/html/rfc3339); * specified in relative values: in milliseconds (`150000ms`), in seconds (`540s`) or in minutes (`3.5m`). \n *\n * The version of the OpenAPI document: 2.0.1\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n/**\n * Yandex Pay data\n */\nexport interface YandexPayAllOf { \n /**\n * Merchant identifier in the system\n */\n gatewayMerchantID: string;\n /**\n * Aggregate of open and encrypted payment data\n */\n paymentToken: object;\n}\n\n","import { NgModule, ModuleWithProviders, SkipSelf, Optional } from '@angular/core';\nimport { Configuration } from './configuration';\nimport { HttpClient } from '@angular/common/http';\n\n\n@NgModule({\n imports: [],\n declarations: [],\n exports: [],\n providers: []\n})\nexport class ApiModule {\n public static forRoot(configurationFactory: () => Configuration): ModuleWithProviders<ApiModule> {\n return {\n ngModule: ApiModule,\n providers: [ { provide: Configuration, useFactory: configurationFactory } ]\n };\n }\n\n constructor( @Optional() @SkipSelf() parentModule: ApiModule,\n @Optional() http: HttpClient) {\n if (parentModule) {\n throw new Error('ApiModule is already loaded. Import in your base AppModule only.');\n }\n if (!http) {\n throw new Error('You need to import the HttpClientModule in your AppModule! \\n' +\n 'See also https://github.com/angular/angular/issues/20575');\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2.Configuration"],"mappings":"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"}