bitpesa-sdk 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (633) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +8 -0
  3. data/Gemfile.lock +92 -0
  4. data/LICENSE +7 -0
  5. data/README.md +264 -0
  6. data/Rakefile +10 -0
  7. data/bitpesa-sdk.gemspec +46 -0
  8. data/docs/APILogsApi.md +141 -0
  9. data/docs/Account.md +9 -0
  10. data/docs/AccountBase.md +9 -0
  11. data/docs/AccountDebitsApi.md +199 -0
  12. data/docs/AccountListResponse.md +9 -0
  13. data/docs/AccountMeta.md +8 -0
  14. data/docs/AccountResponse.md +9 -0
  15. data/docs/AccountValidationApi.md +70 -0
  16. data/docs/AccountValidationError.md +8 -0
  17. data/docs/AccountValidationRequest.md +12 -0
  18. data/docs/AccountValidationResponse.md +9 -0
  19. data/docs/AccountValidationResult.md +8 -0
  20. data/docs/AccountsApi.md +128 -0
  21. data/docs/ApiLog.md +16 -0
  22. data/docs/ApiLogBase.md +16 -0
  23. data/docs/ApiLogListResponse.md +9 -0
  24. data/docs/ApiLogResponse.md +8 -0
  25. data/docs/Body.md +12 -0
  26. data/docs/Currency.md +17 -0
  27. data/docs/CurrencyBase.md +17 -0
  28. data/docs/CurrencyExchange.md +18 -0
  29. data/docs/CurrencyExchangeListResponse.md +8 -0
  30. data/docs/CurrencyInfoApi.md +182 -0
  31. data/docs/CurrencyListResponse.md +8 -0
  32. data/docs/CurrencyOpposite.md +18 -0
  33. data/docs/Debit.md +17 -0
  34. data/docs/DebitBase.md +12 -0
  35. data/docs/DebitErrorResponse.md +13 -0
  36. data/docs/DebitListRequest.md +8 -0
  37. data/docs/DebitListResponse.md +9 -0
  38. data/docs/DebitRequest.md +8 -0
  39. data/docs/DebitRequestWrapper.md +8 -0
  40. data/docs/DebitResponse.md +8 -0
  41. data/docs/DebitValidResponse.md +16 -0
  42. data/docs/DefaultDocument.md +16 -0
  43. data/docs/DefaultRecipient.md +11 -0
  44. data/docs/DefaultSender.md +24 -0
  45. data/docs/DefaultWebhook.md +11 -0
  46. data/docs/Document.md +17 -0
  47. data/docs/DocumentBase.md +15 -0
  48. data/docs/DocumentErrorResponse.md +16 -0
  49. data/docs/DocumentListResponse.md +9 -0
  50. data/docs/DocumentRequest.md +8 -0
  51. data/docs/DocumentResponse.md +8 -0
  52. data/docs/DocumentValidResponse.md +16 -0
  53. data/docs/DocumentWebhook.md +10 -0
  54. data/docs/DocumentsApi.md +199 -0
  55. data/docs/ErrorStatus.md +9 -0
  56. data/docs/FieldDescription.md +9 -0
  57. data/docs/FieldSelectValidation.md +9 -0
  58. data/docs/FieldValidation.md +10 -0
  59. data/docs/FullInvalidTransaction.md +12 -0
  60. data/docs/FullInvalidTransactionRequest.md +14 -0
  61. data/docs/FullValidTransaction.md +11 -0
  62. data/docs/FullValidTransactionRequest.md +12 -0
  63. data/docs/InlineResponse200.md +9 -0
  64. data/docs/InlineResponse2001.md +8 -0
  65. data/docs/InlineResponse20010.md +9 -0
  66. data/docs/InlineResponse20011.md +9 -0
  67. data/docs/InlineResponse20012.md +8 -0
  68. data/docs/InlineResponse20013.md +9 -0
  69. data/docs/InlineResponse20014.md +9 -0
  70. data/docs/InlineResponse20015.md +8 -0
  71. data/docs/InlineResponse20016.md +9 -0
  72. data/docs/InlineResponse20017.md +8 -0
  73. data/docs/InlineResponse20018.md +9 -0
  74. data/docs/InlineResponse20019.md +9 -0
  75. data/docs/InlineResponse2002.md +9 -0
  76. data/docs/InlineResponse20020.md +9 -0
  77. data/docs/InlineResponse20021.md +8 -0
  78. data/docs/InlineResponse20021Object.md +8 -0
  79. data/docs/InlineResponse20022.md +8 -0
  80. data/docs/InlineResponse20022Object.md +8 -0
  81. data/docs/InlineResponse20023.md +9 -0
  82. data/docs/InlineResponse20023Object.md +8 -0
  83. data/docs/InlineResponse20024.md +8 -0
  84. data/docs/InlineResponse20025.md +8 -0
  85. data/docs/InlineResponse20026.md +8 -0
  86. data/docs/InlineResponse20027.md +9 -0
  87. data/docs/InlineResponse20028.md +8 -0
  88. data/docs/InlineResponse20029.md +9 -0
  89. data/docs/InlineResponse2002Object.md +8 -0
  90. data/docs/InlineResponse2003.md +8 -0
  91. data/docs/InlineResponse20030.md +8 -0
  92. data/docs/InlineResponse20031.md +9 -0
  93. data/docs/InlineResponse20032.md +9 -0
  94. data/docs/InlineResponse20033.md +8 -0
  95. data/docs/InlineResponse20034.md +9 -0
  96. data/docs/InlineResponse20035.md +9 -0
  97. data/docs/InlineResponse20036.md +8 -0
  98. data/docs/InlineResponse20037.md +9 -0
  99. data/docs/InlineResponse20038.md +8 -0
  100. data/docs/InlineResponse20039.md +9 -0
  101. data/docs/InlineResponse2004.md +8 -0
  102. data/docs/InlineResponse20040.md +8 -0
  103. data/docs/InlineResponse2004Object.md +8 -0
  104. data/docs/InlineResponse2005.md +8 -0
  105. data/docs/InlineResponse2006.md +9 -0
  106. data/docs/InlineResponse2007.md +8 -0
  107. data/docs/InlineResponse2008.md +9 -0
  108. data/docs/InlineResponse2009.md +8 -0
  109. data/docs/InlineResponse201.md +8 -0
  110. data/docs/InlineResponse2011.md +8 -0
  111. data/docs/InlineResponse20110.md +8 -0
  112. data/docs/InlineResponse20111.md +8 -0
  113. data/docs/InlineResponse2012.md +8 -0
  114. data/docs/InlineResponse2013.md +8 -0
  115. data/docs/InlineResponse2014.md +8 -0
  116. data/docs/InlineResponse2015.md +8 -0
  117. data/docs/InlineResponse2016.md +8 -0
  118. data/docs/InlineResponse2017.md +8 -0
  119. data/docs/InlineResponse2018.md +8 -0
  120. data/docs/InlineResponse2019.md +8 -0
  121. data/docs/InlineResponse400.md +9 -0
  122. data/docs/InlineResponse4001.md +9 -0
  123. data/docs/InlineResponse422.md +8 -0
  124. data/docs/InlineResponse4221.md +8 -0
  125. data/docs/InlineResponse42210.md +8 -0
  126. data/docs/InlineResponse42211.md +8 -0
  127. data/docs/InlineResponse42212.md +8 -0
  128. data/docs/InlineResponse42213.md +8 -0
  129. data/docs/InlineResponse42214.md +8 -0
  130. data/docs/InlineResponse4221Meta.md +8 -0
  131. data/docs/InlineResponse4221Object.md +8 -0
  132. data/docs/InlineResponse4222.md +8 -0
  133. data/docs/InlineResponse4223.md +8 -0
  134. data/docs/InlineResponse4224.md +8 -0
  135. data/docs/InlineResponse4225.md +8 -0
  136. data/docs/InlineResponse4226.md +8 -0
  137. data/docs/InlineResponse4227.md +8 -0
  138. data/docs/InlineResponse4227Meta.md +8 -0
  139. data/docs/InlineResponse4228.md +8 -0
  140. data/docs/InlineResponse4228Meta.md +8 -0
  141. data/docs/InlineResponse4228Object.md +8 -0
  142. data/docs/InlineResponse4229.md +8 -0
  143. data/docs/InlineResponse422Meta.md +8 -0
  144. data/docs/InlineResponse422Object.md +8 -0
  145. data/docs/InvalidDebit.md +14 -0
  146. data/docs/InvalidDocument.md +17 -0
  147. data/docs/InvalidRecipient.md +12 -0
  148. data/docs/InvalidSender.md +25 -0
  149. data/docs/InvalidWebhook.md +11 -0
  150. data/docs/LogsApi.md +141 -0
  151. data/docs/Meta.md +8 -0
  152. data/docs/Meta2.md +8 -0
  153. data/docs/Meta2Pagination.md +12 -0
  154. data/docs/MetaPagination.md +12 -0
  155. data/docs/Object.md +9 -0
  156. data/docs/OppositePaymentMethod.md +13 -0
  157. data/docs/OppositePaymentMethodBase.md +13 -0
  158. data/docs/Pagination.md +12 -0
  159. data/docs/PaginationMeta.md +8 -0
  160. data/docs/PaginationPagination.md +12 -0
  161. data/docs/PayinMethod.md +12 -0
  162. data/docs/PayinMethodBase.md +12 -0
  163. data/docs/PayinMethodDetails.md +10 -0
  164. data/docs/PayinMethodDetailsBase.md +7 -0
  165. data/docs/PayinMethodDetailsMobile.md +9 -0
  166. data/docs/PayinMethodDetailsNGNBank.md +8 -0
  167. data/docs/PayinMethodRequest.md +8 -0
  168. data/docs/PayinMethodType.md +8 -0
  169. data/docs/PayinMethodTypeBase.md +8 -0
  170. data/docs/PaymentMethod.md +13 -0
  171. data/docs/PaymentMethodBase.md +15 -0
  172. data/docs/PaymentMethodListResponse.md +8 -0
  173. data/docs/PaymentMethodOpposite.md +14 -0
  174. data/docs/PaymentMethodsApi.md +124 -0
  175. data/docs/PayoutMethod.md +13 -0
  176. data/docs/PayoutMethodBankAccountTypeEnum.md +7 -0
  177. data/docs/PayoutMethodBase.md +10 -0
  178. data/docs/PayoutMethodDetails.md +26 -0
  179. data/docs/PayoutMethodDetailsBalance.md +8 -0
  180. data/docs/PayoutMethodDetailsBase.md +7 -0
  181. data/docs/PayoutMethodDetailsGHSBank.md +11 -0
  182. data/docs/PayoutMethodDetailsIBAN.md +12 -0
  183. data/docs/PayoutMethodDetailsMADCash.md +18 -0
  184. data/docs/PayoutMethodDetailsMobile.md +10 -0
  185. data/docs/PayoutMethodDetailsNGNBank.md +12 -0
  186. data/docs/PayoutMethodDetailsXOFMobile.md +11 -0
  187. data/docs/PayoutMethodErrorResponse.md +11 -0
  188. data/docs/PayoutMethodGenderEnum.md +7 -0
  189. data/docs/PayoutMethodIdentityCardTypeEnum.md +7 -0
  190. data/docs/PayoutMethodListResponse.md +9 -0
  191. data/docs/PayoutMethodMobileProviderEnum.md +7 -0
  192. data/docs/PayoutMethodRequest.md +8 -0
  193. data/docs/PayoutMethodResponse.md +8 -0
  194. data/docs/PayoutMethodValidResponse.md +11 -0
  195. data/docs/PayoutMethodWebhook.md +10 -0
  196. data/docs/PayoutMethodsApi.md +334 -0
  197. data/docs/Recipient.md +27 -0
  198. data/docs/RecipientBase.md +11 -0
  199. data/docs/RecipientErrorResponse.md +26 -0
  200. data/docs/RecipientListResponse.md +9 -0
  201. data/docs/RecipientRequest.md +8 -0
  202. data/docs/RecipientResponse.md +8 -0
  203. data/docs/RecipientState.md +7 -0
  204. data/docs/RecipientValidResponse.md +26 -0
  205. data/docs/RecipientWebhook.md +10 -0
  206. data/docs/RecipientsApi.md +212 -0
  207. data/docs/Sender.md +32 -0
  208. data/docs/SenderBase.md +30 -0
  209. data/docs/SenderErrorResponse.md +32 -0
  210. data/docs/SenderExistingRequest.md +8 -0
  211. data/docs/SenderFullRequest.md +30 -0
  212. data/docs/SenderListResponse.md +9 -0
  213. data/docs/SenderRequest.md +8 -0
  214. data/docs/SenderResponse.md +8 -0
  215. data/docs/SenderState.md +7 -0
  216. data/docs/SenderValidResponse.md +32 -0
  217. data/docs/SenderWebhook.md +10 -0
  218. data/docs/SendersApi.md +328 -0
  219. data/docs/Transaction.md +22 -0
  220. data/docs/TransactionBase.md +13 -0
  221. data/docs/TransactionErrorResponse.md +21 -0
  222. data/docs/TransactionListResponse.md +9 -0
  223. data/docs/TransactionRequest.md +8 -0
  224. data/docs/TransactionRequestBase.md +9 -0
  225. data/docs/TransactionRequestErrorResponse.md +10 -0
  226. data/docs/TransactionRequestRequest.md +9 -0
  227. data/docs/TransactionRequestValidResponse.md +10 -0
  228. data/docs/TransactionRequestsApi.md +199 -0
  229. data/docs/TransactionResponse.md +8 -0
  230. data/docs/TransactionState.md +7 -0
  231. data/docs/TransactionTraits.md +9 -0
  232. data/docs/TransactionValidResponse.md +21 -0
  233. data/docs/TransactionWebhook.md +10 -0
  234. data/docs/TransactionsApi.md +448 -0
  235. data/docs/ValidDebit.md +16 -0
  236. data/docs/ValidationErrorDescription.md +8 -0
  237. data/docs/Webhook.md +10 -0
  238. data/docs/WebhookBase.md +10 -0
  239. data/docs/WebhookDefinition.md +12 -0
  240. data/docs/WebhookDefinitionBase.md +10 -0
  241. data/docs/WebhookDefinitionErrorResponse.md +11 -0
  242. data/docs/WebhookDefinitionEventListResponse.md +8 -0
  243. data/docs/WebhookDefinitionListResponse.md +9 -0
  244. data/docs/WebhookDefinitionRequest.md +8 -0
  245. data/docs/WebhookDefinitionResponse.md +8 -0
  246. data/docs/WebhookDefinitionValidResponse.md +11 -0
  247. data/docs/WebhookErrorResponse.md +11 -0
  248. data/docs/WebhookLog.md +13 -0
  249. data/docs/WebhookLogBase.md +13 -0
  250. data/docs/WebhookLogBaseMetadata.md +17 -0
  251. data/docs/WebhookLogBaseMetadataParams.md +8 -0
  252. data/docs/WebhookLogBaseMetadataRequest.md +10 -0
  253. data/docs/WebhookLogBaseMetadataResponse.md +10 -0
  254. data/docs/WebhookLogListResponse.md +9 -0
  255. data/docs/WebhookLogMetadata.md +17 -0
  256. data/docs/WebhookLogMetadataParams.md +8 -0
  257. data/docs/WebhookLogMetadataRequest.md +10 -0
  258. data/docs/WebhookLogMetadataResponse.md +10 -0
  259. data/docs/WebhookLogResponse.md +8 -0
  260. data/docs/WebhookRequest.md +10 -0
  261. data/docs/WebhookValidResponse.md +11 -0
  262. data/docs/WebhooksApi.md +319 -0
  263. data/example/.LICENSE.un~ +0 -0
  264. data/example/.client.rb.un~ +0 -0
  265. data/example/client.rb +395 -0
  266. data/git_push.sh +55 -0
  267. data/lib/bitpesa-sdk/api/account_debits_api.rb +187 -0
  268. data/lib/bitpesa-sdk/api/account_validation_api.rb +79 -0
  269. data/lib/bitpesa-sdk/api/accounts_api.rb +135 -0
  270. data/lib/bitpesa-sdk/api/api_logs_api.rb +137 -0
  271. data/lib/bitpesa-sdk/api/currency_info_api.rb +167 -0
  272. data/lib/bitpesa-sdk/api/documents_api.rb +197 -0
  273. data/lib/bitpesa-sdk/api/logs_api.rb +137 -0
  274. data/lib/bitpesa-sdk/api/payment_methods_api.rb +119 -0
  275. data/lib/bitpesa-sdk/api/payout_methods_api.rb +321 -0
  276. data/lib/bitpesa-sdk/api/recipients_api.rb +221 -0
  277. data/lib/bitpesa-sdk/api/senders_api.rb +319 -0
  278. data/lib/bitpesa-sdk/api/transactions_api.rb +425 -0
  279. data/lib/bitpesa-sdk/api/webhooks_api.rb +299 -0
  280. data/lib/bitpesa-sdk/api_client.rb +449 -0
  281. data/lib/bitpesa-sdk/api_error.rb +61 -0
  282. data/lib/bitpesa-sdk/configuration.rb +220 -0
  283. data/lib/bitpesa-sdk/models/account.rb +206 -0
  284. data/lib/bitpesa-sdk/models/account_list_response.rb +206 -0
  285. data/lib/bitpesa-sdk/models/account_meta.rb +196 -0
  286. data/lib/bitpesa-sdk/models/account_response.rb +204 -0
  287. data/lib/bitpesa-sdk/models/account_validation_error.rb +196 -0
  288. data/lib/bitpesa-sdk/models/account_validation_request.rb +319 -0
  289. data/lib/bitpesa-sdk/models/account_validation_response.rb +204 -0
  290. data/lib/bitpesa-sdk/models/account_validation_result.rb +196 -0
  291. data/lib/bitpesa-sdk/models/api_log.rb +281 -0
  292. data/lib/bitpesa-sdk/models/api_log_list_response.rb +207 -0
  293. data/lib/bitpesa-sdk/models/api_log_response.rb +195 -0
  294. data/lib/bitpesa-sdk/models/currency.rb +286 -0
  295. data/lib/bitpesa-sdk/models/currency_exchange.rb +305 -0
  296. data/lib/bitpesa-sdk/models/currency_exchange_list_response.rb +198 -0
  297. data/lib/bitpesa-sdk/models/currency_list_response.rb +198 -0
  298. data/lib/bitpesa-sdk/models/currency_opposite.rb +303 -0
  299. data/lib/bitpesa-sdk/models/debit.rb +303 -0
  300. data/lib/bitpesa-sdk/models/debit_list_request.rb +197 -0
  301. data/lib/bitpesa-sdk/models/debit_list_response.rb +206 -0
  302. data/lib/bitpesa-sdk/models/debit_request.rb +195 -0
  303. data/lib/bitpesa-sdk/models/debit_request_wrapper.rb +221 -0
  304. data/lib/bitpesa-sdk/models/debit_response.rb +195 -0
  305. data/lib/bitpesa-sdk/models/document.rb +329 -0
  306. data/lib/bitpesa-sdk/models/document_list_response.rb +206 -0
  307. data/lib/bitpesa-sdk/models/document_request.rb +195 -0
  308. data/lib/bitpesa-sdk/models/document_response.rb +195 -0
  309. data/lib/bitpesa-sdk/models/document_webhook.rb +237 -0
  310. data/lib/bitpesa-sdk/models/error_status.rb +204 -0
  311. data/lib/bitpesa-sdk/models/field_description.rb +239 -0
  312. data/lib/bitpesa-sdk/models/field_select_validation.rb +206 -0
  313. data/lib/bitpesa-sdk/models/field_validation.rb +215 -0
  314. data/lib/bitpesa-sdk/models/pagination.rb +236 -0
  315. data/lib/bitpesa-sdk/models/pagination_meta.rb +195 -0
  316. data/lib/bitpesa-sdk/models/payin_method.rb +236 -0
  317. data/lib/bitpesa-sdk/models/payin_method_details.rb +251 -0
  318. data/lib/bitpesa-sdk/models/payin_method_details_mobile.rb +212 -0
  319. data/lib/bitpesa-sdk/models/payin_method_details_ngn_bank.rb +202 -0
  320. data/lib/bitpesa-sdk/models/payin_method_request.rb +195 -0
  321. data/lib/bitpesa-sdk/models/payment_method.rb +251 -0
  322. data/lib/bitpesa-sdk/models/payment_method_list_response.rb +197 -0
  323. data/lib/bitpesa-sdk/models/payment_method_opposite.rb +269 -0
  324. data/lib/bitpesa-sdk/models/payout_method.rb +249 -0
  325. data/lib/bitpesa-sdk/models/payout_method_bank_account_type_enum.rb +38 -0
  326. data/lib/bitpesa-sdk/models/payout_method_details.rb +456 -0
  327. data/lib/bitpesa-sdk/models/payout_method_details_balance.rb +196 -0
  328. data/lib/bitpesa-sdk/models/payout_method_details_ghs_bank.rb +243 -0
  329. data/lib/bitpesa-sdk/models/payout_method_details_iban.rb +252 -0
  330. data/lib/bitpesa-sdk/models/payout_method_details_mad_cash.rb +326 -0
  331. data/lib/bitpesa-sdk/models/payout_method_details_mobile.rb +229 -0
  332. data/lib/bitpesa-sdk/models/payout_method_details_ngn_bank.rb +257 -0
  333. data/lib/bitpesa-sdk/models/payout_method_details_xof_mobile.rb +243 -0
  334. data/lib/bitpesa-sdk/models/payout_method_gender_enum.rb +38 -0
  335. data/lib/bitpesa-sdk/models/payout_method_identity_card_type_enum.rb +39 -0
  336. data/lib/bitpesa-sdk/models/payout_method_list_response.rb +206 -0
  337. data/lib/bitpesa-sdk/models/payout_method_mobile_provider_enum.rb +38 -0
  338. data/lib/bitpesa-sdk/models/payout_method_request.rb +195 -0
  339. data/lib/bitpesa-sdk/models/payout_method_response.rb +195 -0
  340. data/lib/bitpesa-sdk/models/payout_method_webhook.rb +237 -0
  341. data/lib/bitpesa-sdk/models/recipient.rb +400 -0
  342. data/lib/bitpesa-sdk/models/recipient_list_response.rb +206 -0
  343. data/lib/bitpesa-sdk/models/recipient_request.rb +195 -0
  344. data/lib/bitpesa-sdk/models/recipient_response.rb +195 -0
  345. data/lib/bitpesa-sdk/models/recipient_state.rb +46 -0
  346. data/lib/bitpesa-sdk/models/recipient_webhook.rb +237 -0
  347. data/lib/bitpesa-sdk/models/sender.rb +513 -0
  348. data/lib/bitpesa-sdk/models/sender_list_response.rb +206 -0
  349. data/lib/bitpesa-sdk/models/sender_request.rb +195 -0
  350. data/lib/bitpesa-sdk/models/sender_response.rb +195 -0
  351. data/lib/bitpesa-sdk/models/sender_state.rb +42 -0
  352. data/lib/bitpesa-sdk/models/sender_webhook.rb +237 -0
  353. data/lib/bitpesa-sdk/models/transaction.rb +354 -0
  354. data/lib/bitpesa-sdk/models/transaction_list_response.rb +206 -0
  355. data/lib/bitpesa-sdk/models/transaction_request.rb +195 -0
  356. data/lib/bitpesa-sdk/models/transaction_response.rb +195 -0
  357. data/lib/bitpesa-sdk/models/transaction_state.rb +46 -0
  358. data/lib/bitpesa-sdk/models/transaction_traits.rb +207 -0
  359. data/lib/bitpesa-sdk/models/transaction_webhook.rb +237 -0
  360. data/lib/bitpesa-sdk/models/validation_error_description.rb +197 -0
  361. data/lib/bitpesa-sdk/models/webhook.rb +232 -0
  362. data/lib/bitpesa-sdk/models/webhook_definition.rb +250 -0
  363. data/lib/bitpesa-sdk/models/webhook_definition_event_list_response.rb +197 -0
  364. data/lib/bitpesa-sdk/models/webhook_definition_list_response.rb +206 -0
  365. data/lib/bitpesa-sdk/models/webhook_definition_request.rb +195 -0
  366. data/lib/bitpesa-sdk/models/webhook_definition_response.rb +195 -0
  367. data/lib/bitpesa-sdk/models/webhook_log.rb +243 -0
  368. data/lib/bitpesa-sdk/models/webhook_log_list_response.rb +207 -0
  369. data/lib/bitpesa-sdk/models/webhook_log_metadata.rb +283 -0
  370. data/lib/bitpesa-sdk/models/webhook_log_metadata_request.rb +218 -0
  371. data/lib/bitpesa-sdk/models/webhook_log_metadata_response.rb +219 -0
  372. data/lib/bitpesa-sdk/models/webhook_log_response.rb +195 -0
  373. data/lib/bitpesa-sdk/version.rb +15 -0
  374. data/lib/bitpesa-sdk.rb +142 -0
  375. data/spec/api/account_debits_api_spec.rb +70 -0
  376. data/spec/api/account_validation_api_spec.rb +47 -0
  377. data/spec/api/accounts_api_spec.rb +58 -0
  378. data/spec/api/api_logs_api_spec.rb +58 -0
  379. data/spec/api/currency_info_api_spec.rb +68 -0
  380. data/spec/api/documents_api_spec.rb +70 -0
  381. data/spec/api/logs_api_spec.rb +58 -0
  382. data/spec/api/payment_methods_api_spec.rb +57 -0
  383. data/spec/api/payout_methods_api_spec.rb +58 -0
  384. data/spec/api/recipients_api_spec.rb +74 -0
  385. data/spec/api/senders_api_spec.rb +95 -0
  386. data/spec/api/transaction_requests_api_spec.rb +76 -0
  387. data/spec/api/transactions_api_spec.rb +96 -0
  388. data/spec/api/webhooks_api_spec.rb +95 -0
  389. data/spec/api_client_spec.rb +226 -0
  390. data/spec/configuration_spec.rb +42 -0
  391. data/spec/models/account_base_spec.rb +48 -0
  392. data/spec/models/account_list_response_spec.rb +47 -0
  393. data/spec/models/account_meta_spec.rb +42 -0
  394. data/spec/models/account_response_spec.rb +47 -0
  395. data/spec/models/account_spec.rb +47 -0
  396. data/spec/models/account_validation_error_spec.rb +41 -0
  397. data/spec/models/account_validation_request_spec.rb +77 -0
  398. data/spec/models/account_validation_response_spec.rb +47 -0
  399. data/spec/models/account_validation_result_spec.rb +41 -0
  400. data/spec/models/api_log_base_spec.rb +90 -0
  401. data/spec/models/api_log_list_response_spec.rb +47 -0
  402. data/spec/models/api_log_response_spec.rb +41 -0
  403. data/spec/models/api_log_spec.rb +90 -0
  404. data/spec/models/body_spec.rb +58 -0
  405. data/spec/models/currency_base_spec.rb +84 -0
  406. data/spec/models/currency_exchange_list_response_spec.rb +41 -0
  407. data/spec/models/currency_exchange_spec.rb +101 -0
  408. data/spec/models/currency_list_response_spec.rb +41 -0
  409. data/spec/models/currency_opposite_spec.rb +101 -0
  410. data/spec/models/currency_spec.rb +84 -0
  411. data/spec/models/debit_base_spec.rb +66 -0
  412. data/spec/models/debit_error_response_spec.rb +72 -0
  413. data/spec/models/debit_list_request_spec.rb +41 -0
  414. data/spec/models/debit_list_response_spec.rb +47 -0
  415. data/spec/models/debit_request_spec.rb +66 -0
  416. data/spec/models/debit_request_wrapper_spec.rb +41 -0
  417. data/spec/models/debit_response_spec.rb +41 -0
  418. data/spec/models/debit_spec.rb +66 -0
  419. data/spec/models/debit_valid_response_spec.rb +72 -0
  420. data/spec/models/default_document_spec.rb +94 -0
  421. data/spec/models/default_recipient_spec.rb +60 -0
  422. data/spec/models/default_sender_spec.rb +142 -0
  423. data/spec/models/default_webhook_spec.rb +60 -0
  424. data/spec/models/document_base_spec.rb +88 -0
  425. data/spec/models/document_error_response_spec.rb +94 -0
  426. data/spec/models/document_list_response_spec.rb +47 -0
  427. data/spec/models/document_request_spec.rb +88 -0
  428. data/spec/models/document_response_spec.rb +41 -0
  429. data/spec/models/document_spec.rb +36 -0
  430. data/spec/models/document_valid_response_spec.rb +94 -0
  431. data/spec/models/document_webhook_spec.rb +53 -0
  432. data/spec/models/error_status_spec.rb +47 -0
  433. data/spec/models/field_description_spec.rb +51 -0
  434. data/spec/models/field_select_validation_spec.rb +47 -0
  435. data/spec/models/field_validation_spec.rb +53 -0
  436. data/spec/models/full_invalid_transaction_request_spec.rb +78 -0
  437. data/spec/models/full_invalid_transaction_spec.rb +66 -0
  438. data/spec/models/full_valid_transaction_request_spec.rb +66 -0
  439. data/spec/models/full_valid_transaction_spec.rb +60 -0
  440. data/spec/models/inline_response_200_10_spec.rb +42 -0
  441. data/spec/models/inline_response_200_11_spec.rb +48 -0
  442. data/spec/models/inline_response_200_12_spec.rb +42 -0
  443. data/spec/models/inline_response_200_13_spec.rb +48 -0
  444. data/spec/models/inline_response_200_14_spec.rb +42 -0
  445. data/spec/models/inline_response_200_15_spec.rb +48 -0
  446. data/spec/models/inline_response_200_16_spec.rb +48 -0
  447. data/spec/models/inline_response_200_17_spec.rb +48 -0
  448. data/spec/models/inline_response_200_18_spec.rb +42 -0
  449. data/spec/models/inline_response_200_19_spec.rb +48 -0
  450. data/spec/models/inline_response_200_1_spec.rb +48 -0
  451. data/spec/models/inline_response_200_20_spec.rb +42 -0
  452. data/spec/models/inline_response_200_21_object_spec.rb +42 -0
  453. data/spec/models/inline_response_200_21_spec.rb +42 -0
  454. data/spec/models/inline_response_200_22_object_spec.rb +42 -0
  455. data/spec/models/inline_response_200_22_spec.rb +42 -0
  456. data/spec/models/inline_response_200_23_object_spec.rb +42 -0
  457. data/spec/models/inline_response_200_23_spec.rb +48 -0
  458. data/spec/models/inline_response_200_24_spec.rb +42 -0
  459. data/spec/models/inline_response_200_25_spec.rb +42 -0
  460. data/spec/models/inline_response_200_26_spec.rb +42 -0
  461. data/spec/models/inline_response_200_27_spec.rb +48 -0
  462. data/spec/models/inline_response_200_28_spec.rb +42 -0
  463. data/spec/models/inline_response_200_29_spec.rb +48 -0
  464. data/spec/models/inline_response_200_2_object_spec.rb +42 -0
  465. data/spec/models/inline_response_200_2_spec.rb +42 -0
  466. data/spec/models/inline_response_200_30_spec.rb +42 -0
  467. data/spec/models/inline_response_200_31_spec.rb +48 -0
  468. data/spec/models/inline_response_200_32_spec.rb +42 -0
  469. data/spec/models/inline_response_200_33_spec.rb +48 -0
  470. data/spec/models/inline_response_200_34_spec.rb +42 -0
  471. data/spec/models/inline_response_200_35_spec.rb +48 -0
  472. data/spec/models/inline_response_200_36_spec.rb +48 -0
  473. data/spec/models/inline_response_200_37_spec.rb +48 -0
  474. data/spec/models/inline_response_200_38_spec.rb +42 -0
  475. data/spec/models/inline_response_200_39_spec.rb +48 -0
  476. data/spec/models/inline_response_200_3_spec.rb +48 -0
  477. data/spec/models/inline_response_200_40_spec.rb +42 -0
  478. data/spec/models/inline_response_200_4_object_spec.rb +42 -0
  479. data/spec/models/inline_response_200_4_spec.rb +42 -0
  480. data/spec/models/inline_response_200_5_spec.rb +42 -0
  481. data/spec/models/inline_response_200_6_spec.rb +42 -0
  482. data/spec/models/inline_response_200_7_spec.rb +48 -0
  483. data/spec/models/inline_response_200_8_spec.rb +42 -0
  484. data/spec/models/inline_response_200_9_spec.rb +48 -0
  485. data/spec/models/inline_response_200_spec.rb +48 -0
  486. data/spec/models/inline_response_201_10_spec.rb +42 -0
  487. data/spec/models/inline_response_201_11_spec.rb +42 -0
  488. data/spec/models/inline_response_201_1_spec.rb +42 -0
  489. data/spec/models/inline_response_201_2_spec.rb +42 -0
  490. data/spec/models/inline_response_201_3_spec.rb +42 -0
  491. data/spec/models/inline_response_201_4_spec.rb +42 -0
  492. data/spec/models/inline_response_201_5_spec.rb +42 -0
  493. data/spec/models/inline_response_201_6_spec.rb +42 -0
  494. data/spec/models/inline_response_201_7_spec.rb +42 -0
  495. data/spec/models/inline_response_201_8_spec.rb +42 -0
  496. data/spec/models/inline_response_201_9_spec.rb +42 -0
  497. data/spec/models/inline_response_201_spec.rb +42 -0
  498. data/spec/models/inline_response_400_1_spec.rb +48 -0
  499. data/spec/models/inline_response_400_spec.rb +48 -0
  500. data/spec/models/inline_response_422_10_spec.rb +42 -0
  501. data/spec/models/inline_response_422_11_spec.rb +42 -0
  502. data/spec/models/inline_response_422_12_spec.rb +42 -0
  503. data/spec/models/inline_response_422_13_spec.rb +42 -0
  504. data/spec/models/inline_response_422_14_spec.rb +42 -0
  505. data/spec/models/inline_response_422_1_meta_spec.rb +42 -0
  506. data/spec/models/inline_response_422_1_object_spec.rb +42 -0
  507. data/spec/models/inline_response_422_1_spec.rb +42 -0
  508. data/spec/models/inline_response_422_2_spec.rb +42 -0
  509. data/spec/models/inline_response_422_3_spec.rb +42 -0
  510. data/spec/models/inline_response_422_4_spec.rb +42 -0
  511. data/spec/models/inline_response_422_5_spec.rb +42 -0
  512. data/spec/models/inline_response_422_6_spec.rb +42 -0
  513. data/spec/models/inline_response_422_7_meta_spec.rb +42 -0
  514. data/spec/models/inline_response_422_7_spec.rb +42 -0
  515. data/spec/models/inline_response_422_8_meta_spec.rb +42 -0
  516. data/spec/models/inline_response_422_8_object_spec.rb +42 -0
  517. data/spec/models/inline_response_422_8_spec.rb +48 -0
  518. data/spec/models/inline_response_422_9_spec.rb +42 -0
  519. data/spec/models/inline_response_422_meta_spec.rb +42 -0
  520. data/spec/models/inline_response_422_object_spec.rb +42 -0
  521. data/spec/models/inline_response_422_spec.rb +48 -0
  522. data/spec/models/invalid_debit_spec.rb +78 -0
  523. data/spec/models/invalid_document_spec.rb +100 -0
  524. data/spec/models/invalid_recipient_spec.rb +66 -0
  525. data/spec/models/invalid_sender_spec.rb +148 -0
  526. data/spec/models/invalid_webhook_spec.rb +60 -0
  527. data/spec/models/meta_2_pagination_spec.rb +66 -0
  528. data/spec/models/meta_2_spec.rb +42 -0
  529. data/spec/models/meta_pagination_spec.rb +66 -0
  530. data/spec/models/meta_spec.rb +42 -0
  531. data/spec/models/object_spec.rb +48 -0
  532. data/spec/models/opposite_payment_method_base_spec.rb +72 -0
  533. data/spec/models/opposite_payment_method_spec.rb +72 -0
  534. data/spec/models/pagination_meta_spec.rb +41 -0
  535. data/spec/models/pagination_pagination_spec.rb +66 -0
  536. data/spec/models/pagination_spec.rb +42 -0
  537. data/spec/models/payin_method_base_spec.rb +66 -0
  538. data/spec/models/payin_method_details_base_spec.rb +36 -0
  539. data/spec/models/payin_method_details_mobile_spec.rb +48 -0
  540. data/spec/models/payin_method_details_ngn_bank_spec.rb +42 -0
  541. data/spec/models/payin_method_details_spec.rb +53 -0
  542. data/spec/models/payin_method_request_spec.rb +41 -0
  543. data/spec/models/payin_method_spec.rb +65 -0
  544. data/spec/models/payin_method_type_base_spec.rb +42 -0
  545. data/spec/models/payin_method_type_spec.rb +42 -0
  546. data/spec/models/payment_method_base_spec.rb +66 -0
  547. data/spec/models/payment_method_list_response_spec.rb +41 -0
  548. data/spec/models/payment_method_opposite_spec.rb +77 -0
  549. data/spec/models/payment_method_spec.rb +66 -0
  550. data/spec/models/payout_method_bank_account_type_enum_spec.rb +35 -0
  551. data/spec/models/payout_method_base_spec.rb +54 -0
  552. data/spec/models/payout_method_details_balance_spec.rb +42 -0
  553. data/spec/models/payout_method_details_base_spec.rb +36 -0
  554. data/spec/models/payout_method_details_ghs_bank_spec.rb +60 -0
  555. data/spec/models/payout_method_details_iban_spec.rb +66 -0
  556. data/spec/models/payout_method_details_mad_cash_spec.rb +110 -0
  557. data/spec/models/payout_method_details_mobile_spec.rb +54 -0
  558. data/spec/models/payout_method_details_ngn_bank_spec.rb +70 -0
  559. data/spec/models/payout_method_details_spec.rb +149 -0
  560. data/spec/models/payout_method_details_xof_mobile_spec.rb +64 -0
  561. data/spec/models/payout_method_error_response_spec.rb +60 -0
  562. data/spec/models/payout_method_gender_enum_spec.rb +35 -0
  563. data/spec/models/payout_method_identity_card_type_enum_spec.rb +35 -0
  564. data/spec/models/payout_method_list_response_spec.rb +47 -0
  565. data/spec/models/payout_method_mobile_provider_enum_spec.rb +35 -0
  566. data/spec/models/payout_method_request_spec.rb +54 -0
  567. data/spec/models/payout_method_response_spec.rb +54 -0
  568. data/spec/models/payout_method_spec.rb +72 -0
  569. data/spec/models/payout_method_valid_response_spec.rb +60 -0
  570. data/spec/models/payout_method_webhook_spec.rb +53 -0
  571. data/spec/models/recipient_base_spec.rb +54 -0
  572. data/spec/models/recipient_error_response_spec.rb +60 -0
  573. data/spec/models/recipient_list_response_spec.rb +47 -0
  574. data/spec/models/recipient_request_spec.rb +60 -0
  575. data/spec/models/recipient_response_spec.rb +138 -0
  576. data/spec/models/recipient_spec.rb +36 -0
  577. data/spec/models/recipient_state_spec.rb +35 -0
  578. data/spec/models/recipient_valid_response_spec.rb +60 -0
  579. data/spec/models/recipient_webhook_spec.rb +53 -0
  580. data/spec/models/sender_base_spec.rb +136 -0
  581. data/spec/models/sender_error_response_spec.rb +142 -0
  582. data/spec/models/sender_existing_request_spec.rb +42 -0
  583. data/spec/models/sender_full_request_spec.rb +136 -0
  584. data/spec/models/sender_list_response_spec.rb +47 -0
  585. data/spec/models/sender_request_spec.rb +136 -0
  586. data/spec/models/sender_response_spec.rb +142 -0
  587. data/spec/models/sender_spec.rb +36 -0
  588. data/spec/models/sender_state_spec.rb +35 -0
  589. data/spec/models/sender_valid_response_spec.rb +142 -0
  590. data/spec/models/sender_webhook_spec.rb +53 -0
  591. data/spec/models/transaction_base_spec.rb +60 -0
  592. data/spec/models/transaction_error_response_spec.rb +66 -0
  593. data/spec/models/transaction_list_response_spec.rb +47 -0
  594. data/spec/models/transaction_request_base_spec.rb +48 -0
  595. data/spec/models/transaction_request_error_response_spec.rb +54 -0
  596. data/spec/models/transaction_request_request_spec.rb +48 -0
  597. data/spec/models/transaction_request_spec.rb +48 -0
  598. data/spec/models/transaction_request_valid_response_spec.rb +54 -0
  599. data/spec/models/transaction_response_spec.rb +114 -0
  600. data/spec/models/transaction_spec.rb +60 -0
  601. data/spec/models/transaction_state_spec.rb +35 -0
  602. data/spec/models/transaction_traits_spec.rb +48 -0
  603. data/spec/models/transaction_valid_response_spec.rb +66 -0
  604. data/spec/models/transaction_webhook_spec.rb +53 -0
  605. data/spec/models/valid_debit_spec.rb +90 -0
  606. data/spec/models/validation_error_description_spec.rb +41 -0
  607. data/spec/models/webhook_base_spec.rb +54 -0
  608. data/spec/models/webhook_definition_base_spec.rb +54 -0
  609. data/spec/models/webhook_definition_error_response_spec.rb +60 -0
  610. data/spec/models/webhook_definition_event_list_response_spec.rb +41 -0
  611. data/spec/models/webhook_definition_list_response_spec.rb +47 -0
  612. data/spec/models/webhook_definition_request_spec.rb +54 -0
  613. data/spec/models/webhook_definition_response_spec.rb +41 -0
  614. data/spec/models/webhook_definition_spec.rb +65 -0
  615. data/spec/models/webhook_definition_valid_response_spec.rb +60 -0
  616. data/spec/models/webhook_error_response_spec.rb +60 -0
  617. data/spec/models/webhook_log_base_metadata_params_spec.rb +42 -0
  618. data/spec/models/webhook_log_base_metadata_request_spec.rb +54 -0
  619. data/spec/models/webhook_log_base_metadata_response_spec.rb +54 -0
  620. data/spec/models/webhook_log_base_metadata_spec.rb +96 -0
  621. data/spec/models/webhook_log_base_spec.rb +72 -0
  622. data/spec/models/webhook_log_list_response_spec.rb +47 -0
  623. data/spec/models/webhook_log_metadata_params_spec.rb +42 -0
  624. data/spec/models/webhook_log_metadata_request_spec.rb +54 -0
  625. data/spec/models/webhook_log_metadata_response_spec.rb +54 -0
  626. data/spec/models/webhook_log_metadata_spec.rb +96 -0
  627. data/spec/models/webhook_log_response_spec.rb +41 -0
  628. data/spec/models/webhook_log_spec.rb +72 -0
  629. data/spec/models/webhook_request_spec.rb +54 -0
  630. data/spec/models/webhook_spec.rb +54 -0
  631. data/spec/models/webhook_valid_response_spec.rb +60 -0
  632. data/spec/spec_helper.rb +111 -0
  633. metadata +1127 -0
@@ -0,0 +1,8 @@
1
+ # Bitpesa::RecipientRequest
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **recipient** | [**Recipient**](Recipient.md) | | [optional]
7
+
8
+
@@ -0,0 +1,8 @@
1
+ # Bitpesa::RecipientResponse
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **object** | [**Recipient**](Recipient.md) | | [optional]
7
+
8
+
@@ -0,0 +1,7 @@
1
+ # Bitpesa::RecipientState
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+
7
+
@@ -0,0 +1,26 @@
1
+ # Bitpesa::RecipientValidResponse
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **requested_amount** | **Float** | the amount that should be paid to the recipient. This can be in any currency, usually either the input or the output currency. If the value here is not the output currency we will calculate how much the recipient is going to get using the exchange rates active when the transaction was created. |
7
+ **requested_currency** | **String** | the currency of the amount in 3-character alpha ISO 4217 currency format |
8
+ **payout_method** | [**PayoutMethodBase**](PayoutMethodBase.md) | |
9
+ **metadata** | **Object** | Additional metadata that can be added to a recipient. These values will be returned on request | [optional]
10
+ **created_at** | **DateTime** | Date and time that the recipient was created. | [optional]
11
+ **editable** | **BOOLEAN** | Shows whether the recipient can be edited using the PATCH /v1/recipients/{id} endpoint or not | [optional]
12
+ **input_usd_amount** | **Float** | Shows how much this payment is worth in USD | [optional]
13
+ **may_cancel** | **BOOLEAN** | Shows whether the payment can be cancelled using the DELETE /v1/recipients/{id} endpoint or not. The payment can not be cancelled if the payout is pending. | [optional]
14
+ **state_reason** | **String** | In case the payment is unsuccessful it holds the error message associated with the last unsuccessful payout. | [optional]
15
+ **state** | **String** | The state of the recipient. Can be one of the following: * `initial`: We haven't initiated the payout yet, you can still cancel the transaction * `pending`: Payout has been initiated and we're waiting from a response from the provider. The transaction cannot be cancelled * `success`: Payout is done, and the recipient has been paid. * `error`: There was an error from the provider, you can find more details in the `state_reason` attribute. We will usually retry the transaction at a later date. You can either wait, edit the recipient or cancel the transaction. * `refunded`: You asked us to cancel the transaction and we refunded the money. * `manual`: There were too many errors on this transaction, and we stopped retrying. Please edit the recipient, contact us or cancel the transaction. * `stuck`: We didn't receive a response from the provider in time, and we don't know whether it has been paid our not. Please contact us for further details. * `overpaid`: The recipient was paid out more than was requested (not applicable for most of the payout providers) * `canceled`: The transaction has been cancelled, and we will refund the money soon * `exception`: Some exception has happened; please contact BitPesa | [optional]
16
+ **transaction_id** | **String** | The ID of the transaction that is related to this recipient | [optional]
17
+ **transaction_state** | **String** | The state of the transaction related to this recipient. Please note that even if the transaction's state is `approved`, the state here will only say `initial`. This still means that the sender is approved however and the transaction can be funded. | [optional]
18
+ **exchange_rate** | **Float** | The exchange rate used in this payment | [optional]
19
+ **fee_fractional** | **Float** | The fee for this payment in fractioanl units (for example cents for USD transactions) | [optional]
20
+ **input_amount** | **Float** | The amount that had to be paid in for this payment to proceed | [optional]
21
+ **input_currency** | **String** | The currency this payment was paid in | [optional]
22
+ **output_amount** | **Float** | The amount that will be paid to the recipient | [optional]
23
+ **output_currency** | **String** | The currency the payment will be delivered in | [optional]
24
+ **id** | **String** | | [optional]
25
+
26
+
@@ -0,0 +1,10 @@
1
+ # Bitpesa::RecipientWebhook
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **webhook** | **String** | The ID of the webhook that was used to send out this callback |
7
+ **event** | **String** | The event that triggered this webhook |
8
+ **object** | [**Recipient**](Recipient.md) | |
9
+
10
+
@@ -0,0 +1,212 @@
1
+ # Bitpesa::RecipientsApi
2
+
3
+ All URIs are relative to *https://api-sandbox.bitpesa.co/v1*
4
+
5
+ Method | HTTP request | Description
6
+ ------------- | ------------- | -------------
7
+ [**delete_recipient**](RecipientsApi.md#delete_recipient) | **DELETE** /recipients/{Recipient ID} | Cancelling a recipient
8
+ [**get_recipients**](RecipientsApi.md#get_recipients) | **GET** /recipients | Getting a list of recipients with filtering
9
+ [**patch_recipient**](RecipientsApi.md#patch_recipient) | **PATCH** /recipients/{Recipient ID} | Updating a recipient
10
+
11
+
12
+ # **delete_recipient**
13
+ > RecipientResponse delete_recipient(recipient_id)
14
+
15
+ Cancelling a recipient
16
+
17
+ Cancels the payment to the recipient specified in the URL path. Please note only recipients where the `may_cancel` attribute is true can be cancelled.
18
+
19
+ ### Example
20
+ ```ruby
21
+ # load the gem
22
+ require 'bitpesa-sdk'
23
+
24
+ api_instance = Bitpesa::RecipientsApi.new
25
+
26
+
27
+ begin
28
+ #Cancelling a recipient
29
+ result = api_instance.delete_recipient(recipient_id)
30
+ p result
31
+ rescue Bitpesa::ApiError => e
32
+ if e.validation_error
33
+ puts "WARN: Validation error occured when calling the endpoint"
34
+ result = e.response_object("RecipientResponse")
35
+ p result
36
+ else
37
+ puts "Exception when calling RecipientsApi->delete_recipient: #{e}"
38
+ end
39
+ end
40
+ ```
41
+
42
+ ### Parameters
43
+
44
+ Name | Type | Description | Notes
45
+ ------------- | ------------- | ------------- | -------------
46
+ **recipient_id** | [**String**](.md)| ID of recipient to cancel. Example: `/v1/recipients/9d4d7b73-a94c-4979-ab57-09074fd55d33` |
47
+
48
+ ### Return type
49
+
50
+ [**RecipientResponse**](RecipientResponse.md)
51
+
52
+ ### Authorization
53
+
54
+ You can set the API Key and Secret on the Bitpesa object when setting it up:
55
+
56
+ ```ruby
57
+
58
+ Bitpesa.configure do |config|
59
+ config.api_key = '<key'
60
+ config.api_secret = '<secret>'
61
+ config.host = 'https://api-sandbox.bitpesa.co/v1'
62
+ end
63
+
64
+ ```
65
+
66
+ ### HTTP request headers
67
+
68
+ - **Content-Type**: Not defined
69
+ - **Accept**: application/json
70
+
71
+
72
+
73
+ # **get_recipients**
74
+ > RecipientListResponse get_recipients(opts)
75
+
76
+ Getting a list of recipients with filtering
77
+
78
+ Fetches details of all recipients.
79
+
80
+ ### Example
81
+ ```ruby
82
+ # load the gem
83
+ require 'bitpesa-sdk'
84
+
85
+ api_instance = Bitpesa::RecipientsApi.new
86
+
87
+ opts = {
88
+ page: 1 # Integer | The page number to request (defaults to 1)
89
+ per: 10 # Integer | The number of results to load per page (defaults to 10)
90
+ created_at_from: 'created_at_from_example' # String | Start date to filter recipients by created_at range Allows filtering results by the specified `created_at` timeframe. Example: `/v1/recipients?created_at_from=2018-06-06&created_at_to=2018-06-08`
91
+ created_at_to: 'created_at_to_example' # String | End date to filter recipients by created_at range Allows filtering results by the specified `created_at` timeframe. Example: `/v1/recipients?created_at_from=2018-06-06&created_at_to=2018-06-08`
92
+ amount_from: 'amount_from_example' # String | Minimum amount to filter recipients by amount range. Allows filtering results by the specified `amount` range. When using this filter, the `currency` should also be specified. Example: `/v1/recipients?currency=NGN&amount_from=83.76672339&amount_to=83.76672339`
93
+ amount_to: 'amount_to_example' # String | Max amount to filter recipients by amount range. Allows filtering results by the specified `amount` range. When using this filter, the `currency` should also be specified. Example: `/v1/recipients?currency=NGN&amount_from=83.76672339&amount_to=83.76672339`
94
+ state: ['state_example'] # Array<String> | Allows filtering results by `state` of recipient. See [API Documentation - Recipient state](https://github.com/bitpesa/api-documentation/blob/master/transaction-flow.md#state-1) for possible states. Example: `/v1/recipients?state[]=error&state[]=initial`
95
+ currency: ['currency_example'] # Array<String> | Allows filtering results by `input_currency`. Additionally required when filtering by an amount range Example: `/v1/recipients?currency[]=KES&currency[]=NGN`
96
+ }
97
+
98
+ begin
99
+ #Getting a list of recipients with filtering
100
+ result = api_instance.get_recipients(opts)
101
+ p result
102
+ rescue Bitpesa::ApiError => e
103
+ if e.validation_error
104
+ puts "WARN: Validation error occured when calling the endpoint"
105
+ result = e.response_object("RecipientListResponse")
106
+ p result
107
+ else
108
+ puts "Exception when calling RecipientsApi->get_recipients: #{e}"
109
+ end
110
+ end
111
+ ```
112
+
113
+ ### Parameters
114
+
115
+ Name | Type | Description | Notes
116
+ ------------- | ------------- | ------------- | -------------
117
+ **page** | **Integer**| The page number to request (defaults to 1) | [optional]
118
+ **per** | **Integer**| The number of results to load per page (defaults to 10) | [optional]
119
+ **created_at_from** | **String**| Start date to filter recipients by created_at range Allows filtering results by the specified &#x60;created_at&#x60; timeframe. Example: &#x60;/v1/recipients?created_at_from&#x3D;2018-06-06&amp;created_at_to&#x3D;2018-06-08&#x60; | [optional]
120
+ **created_at_to** | **String**| End date to filter recipients by created_at range Allows filtering results by the specified &#x60;created_at&#x60; timeframe. Example: &#x60;/v1/recipients?created_at_from&#x3D;2018-06-06&amp;created_at_to&#x3D;2018-06-08&#x60; | [optional]
121
+ **amount_from** | **String**| Minimum amount to filter recipients by amount range. Allows filtering results by the specified &#x60;amount&#x60; range. When using this filter, the &#x60;currency&#x60; should also be specified. Example: &#x60;/v1/recipients?currency&#x3D;NGN&amp;amount_from&#x3D;83.76672339&amp;amount_to&#x3D;83.76672339&#x60; | [optional]
122
+ **amount_to** | **String**| Max amount to filter recipients by amount range. Allows filtering results by the specified &#x60;amount&#x60; range. When using this filter, the &#x60;currency&#x60; should also be specified. Example: &#x60;/v1/recipients?currency&#x3D;NGN&amp;amount_from&#x3D;83.76672339&amp;amount_to&#x3D;83.76672339&#x60; | [optional]
123
+ **state** | [**Array&lt;String&gt;**](String.md)| Allows filtering results by &#x60;state&#x60; of recipient. See [API Documentation - Recipient state](https://github.com/bitpesa/api-documentation/blob/master/transaction-flow.md#state-1) for possible states. Example: &#x60;/v1/recipients?state[]&#x3D;error&amp;state[]&#x3D;initial&#x60; | [optional]
124
+ **currency** | [**Array&lt;String&gt;**](String.md)| Allows filtering results by &#x60;input_currency&#x60;. Additionally required when filtering by an amount range Example: &#x60;/v1/recipients?currency[]&#x3D;KES&amp;currency[]&#x3D;NGN&#x60; | [optional]
125
+
126
+ ### Return type
127
+
128
+ [**RecipientListResponse**](RecipientListResponse.md)
129
+
130
+ ### Authorization
131
+
132
+ You can set the API Key and Secret on the Bitpesa object when setting it up:
133
+
134
+ ```ruby
135
+
136
+ Bitpesa.configure do |config|
137
+ config.api_key = '<key'
138
+ config.api_secret = '<secret>'
139
+ config.host = 'https://api-sandbox.bitpesa.co/v1'
140
+ end
141
+
142
+ ```
143
+
144
+ ### HTTP request headers
145
+
146
+ - **Content-Type**: Not defined
147
+ - **Accept**: application/json
148
+
149
+
150
+
151
+ # **patch_recipient**
152
+ > RecipientResponse patch_recipient(recipient_idrecipient_request)
153
+
154
+ Updating a recipient
155
+
156
+ Updates the recipient specified in the URL path. Please note that only recipients where the `editable` field is true can be modified. Once the recipient is modified any subsequent payout tries will be sent to the updated details.
157
+
158
+ ### Example
159
+ ```ruby
160
+ # load the gem
161
+ require 'bitpesa-sdk'
162
+
163
+ api_instance = Bitpesa::RecipientsApi.new
164
+
165
+
166
+ begin
167
+ #Updating a recipient
168
+ result = api_instance.patch_recipient(recipient_idrecipient_request)
169
+ p result
170
+ rescue Bitpesa::ApiError => e
171
+ if e.validation_error
172
+ puts "WARN: Validation error occured when calling the endpoint"
173
+ result = e.response_object("RecipientResponse")
174
+ p result
175
+ else
176
+ puts "Exception when calling RecipientsApi->patch_recipient: #{e}"
177
+ end
178
+ end
179
+ ```
180
+
181
+ ### Parameters
182
+
183
+ Name | Type | Description | Notes
184
+ ------------- | ------------- | ------------- | -------------
185
+ **recipient_id** | [**String**](.md)| ID of recipient to update. Example: &#x60;/v1/recipients/9d4d7b73-a94c-4979-ab57-09074fd55d33&#x60; |
186
+ **recipient_request** | [**RecipientRequest**](RecipientRequest.md)| |
187
+
188
+ ### Return type
189
+
190
+ [**RecipientResponse**](RecipientResponse.md)
191
+
192
+ ### Authorization
193
+
194
+ You can set the API Key and Secret on the Bitpesa object when setting it up:
195
+
196
+ ```ruby
197
+
198
+ Bitpesa.configure do |config|
199
+ config.api_key = '<key'
200
+ config.api_secret = '<secret>'
201
+ config.host = 'https://api-sandbox.bitpesa.co/v1'
202
+ end
203
+
204
+ ```
205
+
206
+ ### HTTP request headers
207
+
208
+ - **Content-Type**: application/json
209
+ - **Accept**: application/json
210
+
211
+
212
+
data/docs/Sender.md ADDED
@@ -0,0 +1,32 @@
1
+ # Bitpesa::Sender
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **type** | **String** | Type of sender to create - either person or business (defaults to person) | [optional]
7
+ **country** | **String** | Country of sender in 2-character alpha ISO 3166-2 country format |
8
+ **phone_country** | **String** | Phone country of sender in 2-character alpha ISO 3166-2 country format |
9
+ **phone_number** | **String** | Phone number of sender (without country callcode) | [optional]
10
+ **email** | **String** | Email of sender |
11
+ **first_name** | **String** | First name of sender (used only with a Personal sender) | [optional]
12
+ **middle_name** | **String** | Middle name of sender (used only with a Personal sender) | [optional]
13
+ **last_name** | **String** | Last name of sender (used only with a Personal sender) | [optional]
14
+ **occupation** | **String** | Occupation of sender (used only with a Personal sender) | [optional]
15
+ **nationality** | **String** | The nationality of the sender (used only with a Personal sender) | [optional]
16
+ **onboarding_status** | **String** | The onboarding status of the sender | [optional]
17
+ **address** | **String** | The address of the sender | [optional]
18
+ **description** | **String** | Description of the sender | [optional]
19
+ **name** | **String** | Name of sender (used only with a Business sender) | [optional]
20
+ **city** | **String** | Sender&#39;s city |
21
+ **street** | **String** | Sender&#39;s street |
22
+ **address_description** | **String** | Description of address | [optional]
23
+ **postal_code** | **String** | Zip code of sender |
24
+ **birth_date** | **Date** | Date of birth of sender | [optional]
25
+ **ip** | **String** | IP of sender |
26
+ **documents** | [**Array&lt;Document&gt;**](Document.md) | Needed for KYC checks. Required to approve the sender unless KYC is waived for your account. Please send us an empty list of documents: &#x60;\&quot;documents\&quot;: [ ]&#x60; in the request if KYC has been waived. If the documents already exist, please send the Document ID eg. &#x60;&#x60;&#x60;JSON \&quot;documents\&quot;: [ { \&quot;id\&quot;: \&quot;b6648ba3-1c7b-4f59-8580-684899c84a07\&quot; } ] &#x60;&#x60;&#x60; |
27
+ **metadata** | [**Object**](.md) | Metadata of sender. You can store any detail specific to your integration here (for example the local ID of the sender on your end). When requesting sender details you will receive the sent metadata back. Also when sending sender related webhooks you will receive the details stored here as well. | [optional]
28
+ **state** | [**SenderState**](SenderState.md) | | [optional]
29
+ **id** | **String** | | [optional]
30
+ **errors** | **Hash&lt;String, Array&lt;ValidationErrorDescription&gt;&gt;** | The fields that have some problems and don&#39;t pass validation | [optional]
31
+
32
+
@@ -0,0 +1,30 @@
1
+ # Bitpesa::SenderBase
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **type** | **String** | Type of sender to create - either person or business (defaults to person) | [optional]
7
+ **country** | **String** | Country of sender in 2-character alpha ISO 3166-2 country format |
8
+ **phone_country** | **String** | Phone country of sender in 2-character alpha ISO 3166-2 country format |
9
+ **phone_number** | **String** | Phone number of sender (without country callcode) | [optional]
10
+ **email** | **String** | Email of sender |
11
+ **first_name** | **String** | First name of sender (used only with a Personal sender) | [optional]
12
+ **middle_name** | **String** | Middle name of sender (used only with a Personal sender) | [optional]
13
+ **last_name** | **String** | Last name of sender (used only with a Personal sender) | [optional]
14
+ **occupation** | **String** | Occupation of sender (used only with a Personal sender) | [optional]
15
+ **nationality** | **String** | The nationality of the sender (used only with a Personal sender) | [optional]
16
+ **onboarding_status** | **String** | The onboarding status of the sender | [optional]
17
+ **address** | **String** | The address of the sender | [optional]
18
+ **description** | **String** | Description of the sender | [optional]
19
+ **name** | **String** | Name of sender (used only with a Business sender) | [optional]
20
+ **city** | **String** | Sender&#39;s city |
21
+ **street** | **String** | Sender&#39;s street |
22
+ **address_description** | **String** | Description of address | [optional]
23
+ **postal_code** | **String** | Zip code of sender |
24
+ **birth_date** | **Date** | Date of birth of sender | [optional]
25
+ **ip** | **String** | IP of sender |
26
+ **documents** | [**Array&lt;DocumentBase&gt;**](DocumentBase.md) | Needed for KYC checks. Required to approve the sender unless KYC is waived for your account. Please send us an empty list of documents: &#x60;\&quot;documents\&quot;: [ ]&#x60; in the request if KYC has been waived. If the documents already exist, please send the Document ID eg. &#x60;&#x60;&#x60;JSON \&quot;documents\&quot;: [ { \&quot;id\&quot;: \&quot;b6648ba3-1c7b-4f59-8580-684899c84a07\&quot; } ] &#x60;&#x60;&#x60; |
27
+ **metadata** | **Object** | Metadata of sender. You can store any detail specific to your integration here (for example the local ID of the sender on your end). When requesting sender details you will receive the sent metadata back. Also when sending sender related webhooks you will receive the details stored here as well. | [optional]
28
+ **providers** | **Object** | Providers associated with sender (deprecated) | [optional]
29
+
30
+
@@ -0,0 +1,32 @@
1
+ # Bitpesa::SenderErrorResponse
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **type** | **String** | Type of sender to create - either person or business (defaults to person) | [optional]
7
+ **country** | **String** | Country of sender in 2-character alpha ISO 3166-2 country format |
8
+ **phone_country** | **String** | Phone country of sender in 2-character alpha ISO 3166-2 country format |
9
+ **phone_number** | **String** | Phone number of sender (without country callcode) | [optional]
10
+ **email** | **String** | Email of sender |
11
+ **first_name** | **String** | First name of sender (used only with a Personal sender) | [optional]
12
+ **middle_name** | **String** | Middle name of sender (used only with a Personal sender) | [optional]
13
+ **last_name** | **String** | Last name of sender (used only with a Personal sender) | [optional]
14
+ **occupation** | **String** | Occupation of sender (used only with a Personal sender) | [optional]
15
+ **nationality** | **String** | The nationality of the sender (used only with a Personal sender) | [optional]
16
+ **onboarding_status** | **String** | The onboarding status of the sender | [optional]
17
+ **address** | **String** | The address of the sender | [optional]
18
+ **description** | **String** | Description of the sender | [optional]
19
+ **name** | **String** | Name of sender (used only with a Business sender) | [optional]
20
+ **city** | **String** | Sender&#39;s city |
21
+ **street** | **String** | Sender&#39;s street |
22
+ **address_description** | **String** | Description of address | [optional]
23
+ **postal_code** | **String** | Zip code of sender |
24
+ **birth_date** | **Date** | Date of birth of sender | [optional]
25
+ **ip** | **String** | IP of sender |
26
+ **documents** | [**Array&lt;DocumentBase&gt;**](DocumentBase.md) | Needed for KYC checks. Required to approve the sender unless KYC is waived for your account. Please send us an empty list of documents: &#x60;\&quot;documents\&quot;: [ ]&#x60; in the request if KYC has been waived. If the documents already exist, please send the Document ID eg. &#x60;&#x60;&#x60;JSON \&quot;documents\&quot;: [ { \&quot;id\&quot;: \&quot;b6648ba3-1c7b-4f59-8580-684899c84a07\&quot; } ] &#x60;&#x60;&#x60; |
27
+ **metadata** | **Object** | Metadata of sender. You can store any detail specific to your integration here (for example the local ID of the sender on your end). When requesting sender details you will receive the sent metadata back. Also when sending sender related webhooks you will receive the details stored here as well. | [optional]
28
+ **providers** | **Object** | Providers associated with sender (deprecated) | [optional]
29
+ **state** | **String** | The state of the sender. Can be one of the following: - &#x60;initial&#x60;: When a sender is created and has not been through any KYC checking (cannot transact) - &#x60;verified&#x60;: A sender has passed sanction list checks (cannot transact) - &#x60;approved&#x60;: The sender has passed both KYC and sanction checks (can transact) - &#x60;banned&#x60;: An admin has banned the sender (cannot transact) - &#x60;rejected&#x60;: The sender has failed sanction list checks (cannot transact) - &#x60;disabled&#x60;: A sender is put into this state as a result of a delete request via the API (cannot transact) | [optional]
30
+ **errors** | **Object** | List of invalid fields with associated errors | [optional]
31
+
32
+
@@ -0,0 +1,8 @@
1
+ # Bitpesa::SenderExistingRequest
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **id** | **String** | | [optional]
7
+
8
+
@@ -0,0 +1,30 @@
1
+ # Bitpesa::SenderFullRequest
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **type** | **String** | Type of sender to create - either person or business (defaults to person) | [optional]
7
+ **country** | **String** | Country of sender in 2-character alpha ISO 3166-2 country format |
8
+ **phone_country** | **String** | Phone country of sender in 2-character alpha ISO 3166-2 country format |
9
+ **phone_number** | **String** | Phone number of sender (without country callcode) | [optional]
10
+ **email** | **String** | Email of sender |
11
+ **first_name** | **String** | First name of sender (used only with a Personal sender) | [optional]
12
+ **middle_name** | **String** | Middle name of sender (used only with a Personal sender) | [optional]
13
+ **last_name** | **String** | Last name of sender (used only with a Personal sender) | [optional]
14
+ **occupation** | **String** | Occupation of sender (used only with a Personal sender) | [optional]
15
+ **nationality** | **String** | The nationality of the sender (used only with a Personal sender) | [optional]
16
+ **onboarding_status** | **String** | The onboarding status of the sender | [optional]
17
+ **address** | **String** | The address of the sender | [optional]
18
+ **description** | **String** | Description of the sender | [optional]
19
+ **name** | **String** | Name of sender (used only with a Business sender) | [optional]
20
+ **city** | **String** | Sender&#39;s city |
21
+ **street** | **String** | Sender&#39;s street |
22
+ **address_description** | **String** | Description of address | [optional]
23
+ **postal_code** | **String** | Zip code of sender |
24
+ **birth_date** | **Date** | Date of birth of sender | [optional]
25
+ **ip** | **String** | IP of sender |
26
+ **documents** | [**Array&lt;DocumentBase&gt;**](DocumentBase.md) | Needed for KYC checks. Required to approve the sender unless KYC is waived for your account. Please send us an empty list of documents: &#x60;\&quot;documents\&quot;: [ ]&#x60; in the request if KYC has been waived. If the documents already exist, please send the Document ID eg. &#x60;&#x60;&#x60;JSON \&quot;documents\&quot;: [ { \&quot;id\&quot;: \&quot;b6648ba3-1c7b-4f59-8580-684899c84a07\&quot; } ] &#x60;&#x60;&#x60; |
27
+ **metadata** | **Object** | Metadata of sender. You can store any detail specific to your integration here (for example the local ID of the sender on your end). When requesting sender details you will receive the sent metadata back. Also when sending sender related webhooks you will receive the details stored here as well. | [optional]
28
+ **providers** | **Object** | Providers associated with sender (deprecated) | [optional]
29
+
30
+
@@ -0,0 +1,9 @@
1
+ # Bitpesa::SenderListResponse
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **object** | [**Array&lt;Sender&gt;**](Sender.md) | | [optional]
7
+ **meta** | [**PaginationMeta**](PaginationMeta.md) | | [optional]
8
+
9
+
@@ -0,0 +1,8 @@
1
+ # Bitpesa::SenderRequest
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **sender** | [**Sender**](Sender.md) | | [optional]
7
+
8
+
@@ -0,0 +1,8 @@
1
+ # Bitpesa::SenderResponse
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **object** | [**Sender**](Sender.md) | | [optional]
7
+
8
+