balanced 0.8.2 → 1.0.beta1

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 (359) hide show
  1. checksums.yaml +4 -4
  2. data/.rbenv-version +1 -1
  3. data/.ruby-version +1 -1
  4. data/Gemfile +7 -3
  5. data/README.md +2 -10
  6. data/Rakefile +4 -18
  7. data/balanced.gemspec +8 -10
  8. data/lib/balanced.rb +28 -28
  9. data/lib/balanced/client.rb +15 -6
  10. data/lib/balanced/error.rb +21 -12
  11. data/lib/balanced/pager.rb +66 -25
  12. data/lib/balanced/resources.rb +18 -17
  13. data/lib/balanced/resources/api_key.rb +4 -0
  14. data/lib/balanced/resources/bank_account.rb +26 -75
  15. data/lib/balanced/resources/callback.rb +2 -0
  16. data/lib/balanced/resources/card.rb +15 -65
  17. data/lib/balanced/resources/card_hold.rb +38 -0
  18. data/lib/balanced/resources/credit.rb +6 -50
  19. data/lib/balanced/resources/customer.rb +33 -71
  20. data/lib/balanced/resources/debit.rb +6 -14
  21. data/lib/balanced/resources/event.rb +6 -0
  22. data/lib/balanced/resources/funding_instrument.rb +11 -0
  23. data/lib/balanced/resources/hypermedia.rb +28 -0
  24. data/lib/balanced/resources/marketplace.rb +5 -203
  25. data/lib/balanced/resources/order.rb +71 -0
  26. data/lib/balanced/resources/refund.rb +2 -7
  27. data/lib/balanced/resources/resource.rb +169 -106
  28. data/lib/balanced/resources/reversal.rb +2 -8
  29. data/lib/balanced/resources/transfer.rb +11 -0
  30. data/lib/balanced/response/balanced_exception_middleware.rb +2 -2
  31. data/lib/balanced/utils.rb +47 -14
  32. data/lib/balanced/version.rb +1 -1
  33. data/scenario.cache +526 -380
  34. data/scenarios/api_key_create/definition.rb +1 -0
  35. data/scenarios/api_key_create/request.rb +2 -0
  36. data/scenarios/api_key_create/ruby.mako +21 -0
  37. data/scenarios/api_key_delete/definition.rb +1 -0
  38. data/scenarios/api_key_delete/request.rb +3 -0
  39. data/scenarios/api_key_delete/ruby.mako +12 -0
  40. data/scenarios/api_key_list/definition.rb +1 -0
  41. data/scenarios/api_key_list/request.rb +2 -0
  42. data/scenarios/api_key_list/ruby.mako +28 -0
  43. data/scenarios/api_key_show/definition.rb +1 -0
  44. data/scenarios/api_key_show/request.rb +2 -0
  45. data/scenarios/api_key_show/ruby.mako +18 -0
  46. data/scenarios/{customer_add_bank_account → bank_account_associate_to_customer}/definition.rb +0 -0
  47. data/scenarios/bank_account_associate_to_customer/request.rb +3 -0
  48. data/scenarios/bank_account_associate_to_customer/ruby.mako +49 -0
  49. data/scenarios/bank_account_create/definition.rb +1 -1
  50. data/scenarios/bank_account_create/request.rb +1 -1
  51. data/scenarios/bank_account_create/ruby.mako +44 -7
  52. data/scenarios/{credit_create_existing_bank_account → bank_account_credit}/definition.rb +0 -0
  53. data/scenarios/bank_account_credit/request.rb +3 -0
  54. data/scenarios/bank_account_credit/ruby.mako +42 -0
  55. data/scenarios/bank_account_debit/definition.rb +1 -0
  56. data/scenarios/bank_account_debit/request.rb +5 -0
  57. data/scenarios/bank_account_debit/ruby.mako +50 -0
  58. data/scenarios/bank_account_delete/request.rb +1 -1
  59. data/scenarios/bank_account_delete/ruby.mako +5 -3
  60. data/scenarios/bank_account_list/ruby.mako +76 -2
  61. data/scenarios/bank_account_show/definition.rb +1 -1
  62. data/scenarios/bank_account_show/request.rb +1 -1
  63. data/scenarios/bank_account_show/ruby.mako +41 -5
  64. data/scenarios/bank_account_update/definition.rb +1 -0
  65. data/scenarios/bank_account_update/request.rb +6 -0
  66. data/scenarios/bank_account_update/ruby.mako +56 -0
  67. data/scenarios/bank_account_verification_create/request.rb +1 -1
  68. data/scenarios/bank_account_verification_create/ruby.mako +20 -3
  69. data/scenarios/bank_account_verification_show/definition.rb +1 -1
  70. data/scenarios/bank_account_verification_show/request.rb +1 -1
  71. data/scenarios/bank_account_verification_show/ruby.mako +21 -4
  72. data/scenarios/bank_account_verification_update/definition.rb +1 -1
  73. data/scenarios/bank_account_verification_update/request.rb +5 -5
  74. data/scenarios/bank_account_verification_update/ruby.mako +24 -8
  75. data/scenarios/callback_create/definition.rb +1 -1
  76. data/scenarios/callback_create/request.rb +2 -2
  77. data/scenarios/callback_create/ruby.mako +22 -0
  78. data/scenarios/callback_delete/definition.rb +1 -1
  79. data/scenarios/callback_delete/request.rb +2 -2
  80. data/scenarios/callback_delete/ruby.mako +12 -0
  81. data/scenarios/callback_list/definition.rb +1 -1
  82. data/scenarios/callback_list/request.rb +1 -2
  83. data/scenarios/callback_list/ruby.mako +20 -0
  84. data/scenarios/callback_show/definition.rb +1 -1
  85. data/scenarios/callback_show/request.rb +1 -1
  86. data/scenarios/callback_show/ruby.mako +20 -0
  87. data/scenarios/{customer_add_card → card_associate_to_customer}/definition.rb +0 -0
  88. data/scenarios/card_associate_to_customer/request.rb +3 -0
  89. data/scenarios/card_associate_to_customer/ruby.mako +49 -0
  90. data/scenarios/card_create/request.rb +1 -2
  91. data/scenarios/card_create/ruby.mako +44 -7
  92. data/scenarios/card_debit/definition.rb +1 -0
  93. data/scenarios/card_debit/request.rb +5 -0
  94. data/scenarios/card_debit/ruby.mako +49 -0
  95. data/scenarios/card_delete/request.rb +1 -1
  96. data/scenarios/card_delete/ruby.mako +5 -3
  97. data/scenarios/card_hold_capture/definition.rb +1 -0
  98. data/scenarios/card_hold_capture/request.rb +5 -0
  99. data/scenarios/card_hold_capture/ruby.mako +49 -0
  100. data/scenarios/card_hold_create/definition.rb +1 -0
  101. data/scenarios/card_hold_create/request.rb +5 -0
  102. data/scenarios/card_hold_create/ruby.mako +38 -0
  103. data/scenarios/card_hold_list/definition.rb +1 -0
  104. data/scenarios/card_hold_list/request.rb +2 -0
  105. data/scenarios/card_hold_list/ruby.mako +60 -0
  106. data/scenarios/card_hold_show/definition.rb +1 -0
  107. data/scenarios/card_hold_show/request.rb +2 -0
  108. data/scenarios/card_hold_show/ruby.mako +36 -0
  109. data/scenarios/card_hold_update/definition.rb +1 -0
  110. data/scenarios/card_hold_update/request.rb +7 -0
  111. data/scenarios/card_hold_update/ruby.mako +42 -0
  112. data/scenarios/card_hold_void/definition.rb +1 -0
  113. data/scenarios/card_hold_void/request.rb +3 -0
  114. data/scenarios/card_hold_void/ruby.mako +36 -0
  115. data/scenarios/card_list/definition.rb +1 -1
  116. data/scenarios/card_list/request.rb +1 -1
  117. data/scenarios/card_list/ruby.mako +78 -5
  118. data/scenarios/card_show/definition.rb +1 -1
  119. data/scenarios/card_show/request.rb +1 -1
  120. data/scenarios/card_show/ruby.mako +42 -4
  121. data/scenarios/card_update/definition.rb +1 -1
  122. data/scenarios/card_update/request.rb +1 -1
  123. data/scenarios/card_update/ruby.mako +45 -4
  124. data/scenarios/credit_list/request.rb +1 -3
  125. data/scenarios/credit_list/ruby.mako +34 -4
  126. data/scenarios/{credit_bank_account_list → credit_list_bank_account}/definition.rb +0 -0
  127. data/scenarios/credit_list_bank_account/request.rb +3 -0
  128. data/scenarios/credit_list_bank_account/ruby.mako +13 -0
  129. data/scenarios/credit_show/definition.rb +1 -1
  130. data/scenarios/credit_show/request.rb +1 -3
  131. data/scenarios/credit_show/ruby.mako +35 -5
  132. data/scenarios/{credit_create_new_bank_account → credit_update}/definition.rb +0 -0
  133. data/scenarios/credit_update/request.rb +7 -0
  134. data/scenarios/credit_update/ruby.mako +48 -0
  135. data/scenarios/customer_create/request.rb +4 -1
  136. data/scenarios/customer_create/ruby.mako +60 -3
  137. data/scenarios/customer_delete/request.rb +1 -1
  138. data/scenarios/customer_delete/ruby.mako +4 -2
  139. data/scenarios/customer_list/definition.rb +1 -0
  140. data/scenarios/customer_list/request.rb +2 -0
  141. data/scenarios/customer_list/ruby.mako +105 -0
  142. data/scenarios/customer_show/definition.rb +1 -0
  143. data/scenarios/customer_show/request.rb +2 -0
  144. data/scenarios/customer_show/ruby.mako +58 -0
  145. data/scenarios/customer_update/definition.rb +1 -0
  146. data/scenarios/customer_update/request.rb +7 -0
  147. data/scenarios/customer_update/ruby.mako +64 -0
  148. data/scenarios/debit_list/request.rb +1 -3
  149. data/scenarios/debit_list/ruby.mako +70 -4
  150. data/scenarios/debit_show/definition.rb +1 -1
  151. data/scenarios/debit_show/request.rb +1 -1
  152. data/scenarios/debit_show/ruby.mako +39 -4
  153. data/scenarios/debit_update/definition.rb +1 -1
  154. data/scenarios/debit_update/request.rb +1 -1
  155. data/scenarios/debit_update/ruby.mako +39 -4
  156. data/scenarios/event_list/definition.rb +1 -1
  157. data/scenarios/event_list/request.rb +1 -2
  158. data/scenarios/event_list/ruby.mako +54 -5
  159. data/scenarios/event_show/definition.rb +1 -1
  160. data/scenarios/event_show/request.rb +1 -1
  161. data/scenarios/event_show/ruby.mako +54 -4
  162. data/scenarios/helpers.rb +29 -2
  163. data/scenarios/order_create/definition.rb +1 -0
  164. data/scenarios/order_create/request.rb +5 -0
  165. data/scenarios/order_create/ruby.mako +46 -0
  166. data/scenarios/order_list/definition.rb +1 -0
  167. data/scenarios/order_list/request.rb +2 -0
  168. data/scenarios/order_list/ruby.mako +42 -0
  169. data/scenarios/order_show/definition.rb +1 -0
  170. data/scenarios/order_show/request.rb +2 -0
  171. data/scenarios/order_show/ruby.mako +44 -0
  172. data/scenarios/order_update/definition.rb +1 -0
  173. data/scenarios/order_update/request.rb +7 -0
  174. data/scenarios/order_update/ruby.mako +50 -0
  175. data/scenarios/refund_create/definition.rb +1 -1
  176. data/scenarios/refund_create/request.rb +2 -1
  177. data/scenarios/refund_create/ruby.mako +33 -5
  178. data/scenarios/refund_list/request.rb +1 -3
  179. data/scenarios/refund_list/ruby.mako +30 -4
  180. data/scenarios/refund_show/definition.rb +1 -1
  181. data/scenarios/refund_show/request.rb +1 -1
  182. data/scenarios/refund_show/ruby.mako +32 -4
  183. data/scenarios/refund_update/definition.rb +1 -1
  184. data/scenarios/refund_update/request.rb +1 -1
  185. data/scenarios/refund_update/ruby.mako +32 -4
  186. data/scenarios/render_mako.rb +59 -4
  187. data/scenarios/reversal_create/definition.rb +1 -0
  188. data/scenarios/reversal_create/request.rb +9 -0
  189. data/scenarios/reversal_create/ruby.mako +45 -0
  190. data/scenarios/reversal_list/definition.rb +1 -0
  191. data/scenarios/reversal_list/request.rb +2 -0
  192. data/scenarios/reversal_list/ruby.mako +36 -0
  193. data/scenarios/reversal_show/definition.rb +1 -0
  194. data/scenarios/reversal_show/request.rb +2 -0
  195. data/scenarios/reversal_show/ruby.mako +37 -0
  196. data/scenarios/reversal_update/definition.rb +1 -0
  197. data/scenarios/reversal_update/request.rb +7 -0
  198. data/scenarios/reversal_update/ruby.mako +44 -0
  199. data/spec/balanced/error_spec.rb +7 -7
  200. data/spec/balanced/pager_spec.rb +10 -10
  201. data/spec/balanced/resources/api_key_spec.rb +6 -35
  202. data/spec/balanced/resources/bank_account_spec.rb +123 -218
  203. data/spec/balanced/resources/callback_spec.rb +12 -13
  204. data/spec/balanced/resources/card_hold_spec.rb +103 -0
  205. data/spec/balanced/resources/card_spec.rb +101 -27
  206. data/spec/balanced/resources/credit_spec.rb +69 -35
  207. data/spec/balanced/resources/customer_spec.rb +91 -271
  208. data/spec/balanced/resources/debit_spec.rb +95 -0
  209. data/spec/balanced/resources/marketplace_spec.rb +17 -170
  210. data/spec/balanced/resources/order_spec.rb +364 -0
  211. data/spec/balanced/resources/resource_spec.rb +25 -32
  212. data/spec/balanced_spec.rb +18 -36
  213. data/spec/client_spec.rb +7 -7
  214. data/spec/spec_helper.rb +19 -18
  215. data/spec/utils_spec.rb +5 -5
  216. metadata +123 -165
  217. data/examples/bank_account_debits.rb +0 -57
  218. data/examples/customers.rb +0 -114
  219. data/examples/events_and_callbacks.rb +0 -81
  220. data/examples/examples.rb +0 -162
  221. data/examples/exception_handling.rb +0 -44
  222. data/lib/balanced/resources/account.rb +0 -179
  223. data/lib/balanced/resources/hold.rb +0 -61
  224. data/lib/balanced/resources/invoice.rb +0 -11
  225. data/lib/balanced/resources/merchant.rb +0 -21
  226. data/lib/balanced/resources/transaction.rb +0 -17
  227. data/scenarios/account_add_card/definition.rb +0 -1
  228. data/scenarios/account_add_card/request.rb +0 -3
  229. data/scenarios/account_add_card/ruby.mako +0 -11
  230. data/scenarios/account_capture_hold/definition.rb +0 -1
  231. data/scenarios/account_capture_hold/request.rb +0 -3
  232. data/scenarios/account_capture_hold/ruby.mako +0 -11
  233. data/scenarios/account_create/definition.rb +0 -1
  234. data/scenarios/account_create/request.rb +0 -2
  235. data/scenarios/account_create/ruby.mako +0 -10
  236. data/scenarios/account_create_buyer/definition.rb +0 -1
  237. data/scenarios/account_create_buyer/request.rb +0 -5
  238. data/scenarios/account_create_buyer/ruby.mako +0 -13
  239. data/scenarios/account_create_debit/definition.rb +0 -1
  240. data/scenarios/account_create_debit/request.rb +0 -3
  241. data/scenarios/account_create_debit/ruby.mako +0 -11
  242. data/scenarios/account_create_hold/definition.rb +0 -1
  243. data/scenarios/account_create_hold/request.rb +0 -3
  244. data/scenarios/account_create_hold/ruby.mako +0 -11
  245. data/scenarios/account_create_merchant/definition.rb +0 -1
  246. data/scenarios/account_create_merchant/request.rb +0 -3
  247. data/scenarios/account_create_merchant/ruby.mako +0 -11
  248. data/scenarios/account_underwrite_business/definition.rb +0 -1
  249. data/scenarios/account_underwrite_business/request.rb +0 -17
  250. data/scenarios/account_underwrite_business/ruby.mako +0 -37
  251. data/scenarios/account_underwrite_person/definition.rb +0 -1
  252. data/scenarios/account_underwrite_person/request.rb +0 -18
  253. data/scenarios/account_underwrite_person/ruby.mako +0 -31
  254. data/scenarios/bank_account_find_and_credit/definition.rb +0 -1
  255. data/scenarios/bank_account_find_and_credit/request.rb +0 -5
  256. data/scenarios/bank_account_find_and_credit/ruby.mako +0 -13
  257. data/scenarios/bank_account_find_and_delete/definition.rb +0 -1
  258. data/scenarios/bank_account_find_and_delete/request.rb +0 -3
  259. data/scenarios/bank_account_find_and_delete/ruby.mako +0 -10
  260. data/scenarios/bank_account_invalid_routing_number/definition.rb +0 -1
  261. data/scenarios/bank_account_invalid_routing_number/request.rb +0 -11
  262. data/scenarios/bank_account_invalid_routing_number/ruby.mako +0 -16
  263. data/scenarios/card_invalidate/definition.rb +0 -1
  264. data/scenarios/card_invalidate/request.rb +0 -3
  265. data/scenarios/card_invalidate/ruby.mako +0 -10
  266. data/scenarios/credit_account_list/definition.rb +0 -1
  267. data/scenarios/credit_account_list/request.rb +0 -3
  268. data/scenarios/credit_account_list/ruby.mako +0 -10
  269. data/scenarios/credit_account_merchant_create/definition.rb +0 -1
  270. data/scenarios/credit_account_merchant_create/request.rb +0 -5
  271. data/scenarios/credit_account_merchant_create/ruby.mako +0 -12
  272. data/scenarios/credit_bank_account_list/request.rb +0 -5
  273. data/scenarios/credit_bank_account_list/ruby.mako +0 -12
  274. data/scenarios/credit_create_existing_bank_account/request.rb +0 -5
  275. data/scenarios/credit_create_existing_bank_account/ruby.mako +0 -12
  276. data/scenarios/credit_create_new_bank_account/request.rb +0 -10
  277. data/scenarios/credit_create_new_bank_account/ruby.mako +0 -21
  278. data/scenarios/credit_customer_list/definition.rb +0 -1
  279. data/scenarios/credit_customer_list/request.rb +0 -4
  280. data/scenarios/credit_customer_list/ruby.mako +0 -12
  281. data/scenarios/credit_failed_state/definition.rb +0 -1
  282. data/scenarios/credit_failed_state/request.rb +0 -10
  283. data/scenarios/credit_failed_state/ruby.mako +0 -18
  284. data/scenarios/credit_paid_state/definition.rb +0 -1
  285. data/scenarios/credit_paid_state/request.rb +0 -11
  286. data/scenarios/credit_paid_state/ruby.mako +0 -19
  287. data/scenarios/credit_pending_state/definition.rb +0 -1
  288. data/scenarios/credit_pending_state/request.rb +0 -9
  289. data/scenarios/credit_pending_state/ruby.mako +0 -17
  290. data/scenarios/customer_add_bank_account/request.rb +0 -3
  291. data/scenarios/customer_add_bank_account/ruby.mako +0 -11
  292. data/scenarios/customer_add_card/request.rb +0 -3
  293. data/scenarios/customer_add_card/ruby.mako +0 -11
  294. data/scenarios/customer_capture_hold/definition.rb +0 -1
  295. data/scenarios/customer_capture_hold/request.rb +0 -3
  296. data/scenarios/customer_capture_hold/ruby.mako +0 -0
  297. data/scenarios/customer_create_debit/definition.rb +0 -1
  298. data/scenarios/customer_create_debit/request.rb +0 -3
  299. data/scenarios/customer_create_debit/ruby.mako +0 -11
  300. data/scenarios/customer_create_hold/definition.rb +0 -1
  301. data/scenarios/customer_create_hold/request.rb +0 -3
  302. data/scenarios/customer_create_hold/ruby.mako +0 -11
  303. data/scenarios/customer_credit/definition.rb +0 -1
  304. data/scenarios/customer_credit/request.rb +0 -2
  305. data/scenarios/customer_credit/ruby.mako +0 -8
  306. data/scenarios/debit_account_list/definition.rb +0 -1
  307. data/scenarios/debit_account_list/request.rb +0 -3
  308. data/scenarios/debit_account_list/ruby.mako +0 -10
  309. data/scenarios/debit_create/definition.rb +0 -1
  310. data/scenarios/debit_create/request.rb +0 -5
  311. data/scenarios/debit_create/ruby.mako +0 -15
  312. data/scenarios/debit_customer_list/definition.rb +0 -1
  313. data/scenarios/debit_customer_list/request.rb +0 -4
  314. data/scenarios/debit_customer_list/ruby.mako +0 -12
  315. data/scenarios/debit_refund/definition.rb +0 -1
  316. data/scenarios/debit_refund/request.rb +0 -3
  317. data/scenarios/debit_refund/ruby.mako +0 -10
  318. data/scenarios/delete.rb +0 -7
  319. data/scenarios/event_replay/definition.rb +0 -0
  320. data/scenarios/event_replay/request.rb +0 -1
  321. data/scenarios/event_replay/ruby.mako +0 -0
  322. data/scenarios/execute.rb +0 -27
  323. data/scenarios/hold_account_list/definition.rb +0 -1
  324. data/scenarios/hold_account_list/request.rb +0 -3
  325. data/scenarios/hold_account_list/ruby.mako +0 -10
  326. data/scenarios/hold_capture/definition.rb +0 -1
  327. data/scenarios/hold_capture/request.rb +0 -5
  328. data/scenarios/hold_capture/ruby.mako +0 -15
  329. data/scenarios/hold_create/definition.rb +0 -1
  330. data/scenarios/hold_create/request.rb +0 -5
  331. data/scenarios/hold_create/ruby.mako +0 -14
  332. data/scenarios/hold_customer_list/definition.rb +0 -1
  333. data/scenarios/hold_customer_list/request.rb +0 -3
  334. data/scenarios/hold_customer_list/ruby.mako +0 -11
  335. data/scenarios/hold_list/definition.rb +0 -1
  336. data/scenarios/hold_list/request.rb +0 -4
  337. data/scenarios/hold_list/ruby.mako +0 -11
  338. data/scenarios/hold_show/definition.rb +0 -1
  339. data/scenarios/hold_show/request.rb +0 -2
  340. data/scenarios/hold_show/ruby.mako +0 -10
  341. data/scenarios/hold_update/definition.rb +0 -1
  342. data/scenarios/hold_update/request.rb +0 -7
  343. data/scenarios/hold_update/ruby.mako +0 -16
  344. data/scenarios/hold_void/definition.rb +0 -1
  345. data/scenarios/hold_void/request.rb +0 -3
  346. data/scenarios/hold_void/ruby.mako +0 -10
  347. data/scenarios/refund_account_list/definition.rb +0 -1
  348. data/scenarios/refund_account_list/request.rb +0 -3
  349. data/scenarios/refund_account_list/ruby.mako +0 -10
  350. data/scenarios/refund_customer_list/definition.rb +0 -1
  351. data/scenarios/refund_customer_list/request.rb +0 -3
  352. data/scenarios/refund_customer_list/ruby.mako +0 -11
  353. data/scenarios/render.rb +0 -32
  354. data/scenarios/render_one.rb +0 -32
  355. data/spec/balanced/resources/account_spec.rb +0 -636
  356. data/spec/balanced/resources/hold_spec.rb +0 -48
  357. data/spec/balanced/resources/merchant_spec.rb +0 -6
  358. data/spec/scenarios_spec.rb +0 -39
  359. data/upload_docs.rb +0 -40
@@ -1,179 +0,0 @@
1
- module Balanced
2
- # An Account represents a user within your Marketplace. An Account can have
3
- # two +roles+. If the Account has the +buyer+ role then you may create
4
- # Debits using this Account. If they have the +merchant+ role then you may
5
- # create Credits to transfer funds to this Account.
6
- #
7
- class Account
8
- include Balanced::Resource
9
-
10
- def initialize attributes = {}
11
- Balanced::Utils.stringify_keys! attributes
12
- unless attributes.has_key? 'uri'
13
- attributes['uri'] = self.class.uri
14
- end
15
- super attributes
16
- end
17
-
18
- # Attempts to find an existing buyer account by email
19
- #
20
- # @param [String] email An email of an account
21
- # @return [Account] if account is found
22
- # @return [nil] if account is not found
23
- def self.find_by_email email
24
- self.find(:first, :email_address => email)
25
- end
26
-
27
- # Returns a new Debit that represents a flow of money from this
28
- # Account to your Marketplace's escrow account.
29
- #
30
- # @return [Debit]
31
- def debit *args
32
- warn_on_positional args
33
-
34
- options = args.last.is_a?(Hash) ? args.pop : {}
35
- amount = args[0] || options.fetch(:amount) { nil }
36
- appears_on_statement_as = args[1] || options.fetch(:appears_on_statement_as) { nil }
37
- hold_uri = args[2] || options.fetch(:hold_uri) { nil }
38
- meta = args[3] || options.fetch(:meta) { nil }
39
- description = args[4] || options.fetch(:description) { nil }
40
- source_uri = args[5] || options.fetch(:source_uri) { nil }
41
- on_behalf_of = args[6] || options.fetch(:on_behalf_of) { nil }
42
-
43
- if on_behalf_of
44
- if on_behalf_of.respond_to? :uri
45
- on_behalf_of = on_behalf_of.uri
46
- end
47
- if !on_behalf_of.is_a?(String)
48
- raise ArgumentError, 'The on_behalf_of parameter needs to be an account URI'
49
- end
50
- if on_behalf_of == self.uri
51
- raise ArgumentError, 'The on_behalf_of parameter MAY NOT be the same account as the account you are debiting!'
52
- end
53
- end
54
-
55
- debit = Debit.new(
56
- :uri => self.debits_uri,
57
- :amount => amount,
58
- :appears_on_statement_as => appears_on_statement_as,
59
- :hold_uri => hold_uri,
60
- :meta => meta,
61
- :description => description,
62
- :source_uri => source_uri,
63
- :on_behalf_of_uri => on_behalf_of
64
- )
65
- debit.save
66
- end
67
-
68
- # Returns a new Hold that represents a reservation of money on this
69
- # Account which can be transferred via a Debit to your Marketplace
70
- # up to 7 days later.
71
- #
72
- # @param [String] source_uri A specific funding source such as a Card
73
- # associated with this account. If not specified the most recently
74
- # added Card is used.
75
- # @return [Hold] A Hold representing the reservation of funds from
76
- # this Account to your Marketplace.
77
- def hold *args
78
- warn_on_positional args
79
-
80
- options = args.last.is_a?(Hash) ? args.pop : {}
81
- amount = args[0] || options.fetch(:amount) { }
82
- meta = args[1] || options.fetch(:meta) { nil }
83
- source_uri = args[2] || options.fetch(:source_uri) { nil }
84
- description = args[3] || options.fetch(:description) { nil }
85
-
86
- hold = Hold.new(
87
- :uri => self.holds_uri,
88
- :amount => amount,
89
- :meta => meta,
90
- :source_uri => source_uri,
91
- :description => description
92
- )
93
- hold.save
94
- end
95
-
96
- # Returns a new Credit representing a transfer of funds from your
97
- # Marketplace to this Account.
98
- #
99
- # @param [String] destination_uri A specific funding destination such as
100
- # a BankAccount already associated with this account.
101
- # @return [Credit] A Credit representing the transfer of funds from
102
- # your Marketplace to this Account.
103
- def credit *args
104
- warn_on_positional args
105
-
106
- if args.last.is_a? Hash
107
- args.last.merge! :uri => self.credits_uri
108
- else
109
- args << { :uri => self.credits_uri }
110
- end
111
- Credit.new(*args).save
112
- end
113
-
114
- # Associates the Card represented by +card_uri+ with this Account.
115
- #
116
- # @return [Account]
117
- def add_card(card)
118
- card.save if card.kind_of?(Balanced::Card) && card.hash.nil?
119
- self.card_uri = Balanced::Utils.extract_uri_from_object(card)
120
- save
121
- end
122
-
123
- # Associates the BankAccount represented by +bank_account_uri+ with this
124
- # Account.
125
- #
126
- # @return [Account]
127
- def add_bank_account(bank_account)
128
- if bank_account.kind_of?(Balanced::BankAccount) && bank_account.fingerprint.nil?
129
- bank_account.save
130
- end
131
- self.bank_account_uri = Balanced::Utils.extract_uri_from_object(bank_account)
132
- save
133
- end
134
-
135
- # Adds the role Merchant to this Account.
136
- #
137
- # The merchant data for a *person* should look like:
138
- #
139
- # {
140
- # :type => "person",
141
- # :name => "William James", # Legal name
142
- # :street_address => "167 West 74th Street",
143
- # :postal_code => "10023",
144
- # :country_code => "USA", # ISO 3166-1 alpha-3
145
- # :dob => "1842-01",
146
- # :phone_number => "+16505551234"
147
- # }
148
- #
149
- # For a *business*, the payload should look like:
150
- #
151
- # {
152
- # :name => "Levain Bakery",
153
- # :tax_id => "253912384", # Optional
154
- # :street_address => "167 West 74th Street",
155
- # :postal_code => "10023",
156
- # :phone_number => "+16505551234",
157
- # :country_code => "USA", # ISO 3166-1 alpha-3
158
- # :person => {
159
- # :name => "William James", # Legal name
160
- # :tax_id => "393483992", # Optional
161
- # :street_address => "167 West 74th Street", # Home address
162
- # :postal_code => "10023",
163
- # :dob => "1842-01-01",
164
- # :phone_number => "+16505551234",
165
- # :country_code => "USA" # ISO 3166-1 alpha-3
166
- # }
167
- # }
168
- #
169
- def promote_to_merchant merchant
170
- if merchant.is_a?(String)
171
- self.merchant_uri = merchant
172
- else
173
- self.merchant = merchant
174
- end
175
- save
176
- end
177
-
178
- end
179
- end
@@ -1,61 +0,0 @@
1
- module Balanced
2
- # A Hold is a reservation of funds on a funding source such as a Card. This
3
- # reservation is guaranteed until the +expires_at+ date. You may capture
4
- # the Hold at any time before then which will create a Debit and transfer
5
- # the funds to your Marketplace. If you do not capture the Hold it will
6
- # be marked as invalid which is represented by the +is_void+ field being
7
- # set to +true+.
8
- #
9
- # By default a Hold is created using the most recently added funding source
10
- # on the Account. You may specify a specific funding source such as a Card
11
- # or BankAccount uri.
12
- #
13
- class Hold
14
- include Balanced::Resource
15
-
16
- def initialize attributes = {}
17
- Balanced::Utils.stringify_keys! attributes
18
- unless attributes.has_key? 'uri'
19
- attributes['uri'] = self.class.uri
20
- end
21
- super attributes
22
- end
23
-
24
- # Cancels an active Hold.
25
- #
26
- def void
27
- self.is_void = true
28
- begin
29
- save
30
- rescue Balanced::Error
31
- self.is_void = false
32
- raise
33
- end
34
- end
35
-
36
- # Captures a valid Hold and returns a Debit representing the transfer of
37
- # funds from the buyer's Account to your Marketplace.
38
- #
39
- # @return [Debit]
40
- def capture *args
41
- warn_on_positional args
42
-
43
- options = args.last.is_a?(Hash) ? args.pop : {}
44
- amount = args[0] || options.fetch(:amount) { nil }
45
- appears_on_statement_as = args[1] || options.fetch(:appears_on_statement_as) { nil }
46
- meta = args[2] || options.fetch(:meta) { nil }
47
- description = args[3] || options.fetch(:description) { nil }
48
-
49
- amount ||= self.amount
50
- self.account.debit(
51
- :amount => amount,
52
- :appears_on_statement_as => appears_on_statement_as,
53
- :hold_uri => self.uri,
54
- :meta => meta,
55
- :description => description
56
- )
57
- end
58
-
59
- end
60
- end
61
-
@@ -1,11 +0,0 @@
1
- module Balanced
2
-
3
- # An Invoice is the invoice that Balanced generates instrumenting all
4
- # the events
5
-
6
- class Invoice
7
- include Balanced::Resource
8
-
9
- end
10
-
11
- end
@@ -1,21 +0,0 @@
1
- module Balanced
2
- # Resource representing the marketplace merchant object.
3
- class Merchant
4
- include Balanced::Resource
5
-
6
- # Returns the Merchant associated with your Marketplace.
7
- #
8
- # @return [Merchant]
9
- def self.me
10
- self.all.first
11
- end
12
-
13
- # Returns the Merchant associated with your Marketplace.
14
- #
15
- # @return [Merchant]
16
- def me
17
- self.class.me
18
- end
19
-
20
- end
21
- end
@@ -1,17 +0,0 @@
1
- module Balanced
2
- # Any transfer, or potential transfer of, funds from or to, your
3
- # Marketplace. E.g. a Credit, Debit, Refund, Reversal, or Hold.
4
- #
5
- class Transaction
6
- include Balanced::Resource
7
-
8
- def initialize attributes = {}
9
- Balanced::Utils.stringify_keys! attributes
10
- unless attributes.has_key? 'uri'
11
- attributes['uri'] = self.class.uri
12
- end
13
- super attributes
14
- end
15
-
16
- end
17
- end
@@ -1 +0,0 @@
1
- Balanced::Account.add_card
@@ -1,3 +0,0 @@
1
- <%= boiler_plate %>
2
- account = Balanced::Account.find('<%=request['uri']%>')
3
- response = account.add_card('<%= payload['card_uri']%>')
@@ -1,11 +0,0 @@
1
- % if mode == 'definition':
2
- Balanced::Account.add_card
3
-
4
- % else:
5
- require 'balanced'
6
- Balanced.configure('8c3aeeb80e9e11e38901026ba7f8ec28')
7
-
8
- account = Balanced::Account.find('/v1/marketplaces/TEST-MP4h8BxozeLxe7VAllP6b5gj/accounts/AC4SoZJ23TvXIUcUOBSTXYHQ')
9
- response = account.add_card('/v1/marketplaces/TEST-MP4h8BxozeLxe7VAllP6b5gj/cards/CC4Y12fGIP0HQ1jhcDgE9cFi')
10
-
11
- % endif
@@ -1 +0,0 @@
1
- Balanced::Account.debit
@@ -1,3 +0,0 @@
1
- <%= boiler_plate %>
2
- account = Balanced::Account.find('<%=request['uri']%>')
3
- account.debit(:amount => '<%=payload['amount']%>', :hold_uri => '<%=payload['hold_uri']%>')
@@ -1,11 +0,0 @@
1
- % if mode == 'definition':
2
- Balanced::Account.debit
3
-
4
- % else:
5
- require 'balanced'
6
- Balanced.configure('8af725c6d54611e2bf5e026ba7f8ec28')
7
-
8
- account = Balanced::Account.find('/v1/marketplaces/TEST-MP4erLnXCYoaeyr3tx95WSKc/accounts/AC6jdot989BbUks8LFIdRVcX/debits')
9
- account.debit(:amount => '1000', :hold_uri => '/v1/marketplaces/TEST-MP4erLnXCYoaeyr3tx95WSKc/holds/HL6t6iMvY9Touhig2PZnCOHk')
10
-
11
- % endif
@@ -1 +0,0 @@
1
- Balanced::Account.new
@@ -1,2 +0,0 @@
1
- <%= boiler_plate %>
2
- account = Balanced::Marketplace.my_marketplace.create_account
@@ -1,10 +0,0 @@
1
- % if mode == 'definition':
2
- Balanced::Account.new
3
-
4
- % else:
5
- require 'balanced'
6
- Balanced.configure('8c3aeeb80e9e11e38901026ba7f8ec28')
7
-
8
- account = Balanced::Marketplace.my_marketplace.create_account
9
-
10
- % endif
@@ -1 +0,0 @@
1
- Balanced::Marketplace.create_buyer
@@ -1,5 +0,0 @@
1
- <%= boiler_plate %>
2
-
3
- buyer = Balanced::Marketplace.my_marketplace.create_buyer(
4
- <%= params_to_hash.call(payload) %>
5
- )
@@ -1,13 +0,0 @@
1
- % if mode == 'definition':
2
- Balanced::Marketplace.create_buyer
3
-
4
- % else:
5
- require 'balanced'
6
- Balanced.configure('8c3aeeb80e9e11e38901026ba7f8ec28')
7
-
8
-
9
- buyer = Balanced::Marketplace.my_marketplace.create_buyer(
10
- :card_uri => '/v1/marketplaces/TEST-MP4h8BxozeLxe7VAllP6b5gj/cards/CC4KUcbT2dmJRIYoG0hBpO6S'
11
- )
12
-
13
- % endif
@@ -1 +0,0 @@
1
- Balanced::Account.debit
@@ -1,3 +0,0 @@
1
- <%= boiler_plate %>
2
- account = Balanced::Account.find('<%=request['uri']%>')
3
- account.debit(:amount => '<%=payload['amount']%>')
@@ -1,11 +0,0 @@
1
- % if mode == 'definition':
2
- Balanced::Account.debit
3
-
4
- % else:
5
- require 'balanced'
6
- Balanced.configure('8af725c6d54611e2bf5e026ba7f8ec28')
7
-
8
- account = Balanced::Account.find('/v1/marketplaces/TEST-MP4erLnXCYoaeyr3tx95WSKc/accounts/AC6jdot989BbUks8LFIdRVcX/debits')
9
- account.debit(:amount => '1000')
10
-
11
- % endif
@@ -1 +0,0 @@
1
- Balanced::Account.hold
@@ -1,3 +0,0 @@
1
- <%= boiler_plate %>
2
- account = Balanced::Account.find('<%=request['account_uri']%>')
3
- account.hold(:amount => '<%=payload['amount']%>')
@@ -1,11 +0,0 @@
1
- % if mode == 'definition':
2
- Balanced::Account.hold
3
-
4
- % else:
5
- require 'balanced'
6
- Balanced.configure('8af725c6d54611e2bf5e026ba7f8ec28')
7
-
8
- account = Balanced::Account.find('/v1/marketplaces/TEST-MP4erLnXCYoaeyr3tx95WSKc/accounts/AC6jdot989BbUks8LFIdRVcX')
9
- account.hold(:amount => '1000')
10
-
11
- % endif
@@ -1 +0,0 @@
1
- Balanced::Account.add_bank_account
@@ -1,3 +0,0 @@
1
- <%= boiler_plate %>
2
- account = Balanced::Account.find('<%=request['uri']%>')
3
- account.add_bank_account("<%=payload['bank_account_uri']%>")
@@ -1,11 +0,0 @@
1
- % if mode == 'definition':
2
- Balanced::Account.add_bank_account
3
-
4
- % else:
5
- require 'balanced'
6
- Balanced.configure('8c3aeeb80e9e11e38901026ba7f8ec28')
7
-
8
- account = Balanced::Account.find('/v1/marketplaces/TEST-MP4h8BxozeLxe7VAllP6b5gj/accounts/AC4SoZJ23TvXIUcUOBSTXYHQ')
9
- account.add_bank_account("/v1/bank_accounts/BA5hNwwQFEWByAcdf1U5D5ok")
10
-
11
- % endif