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,57 +0,0 @@
1
- """
2
- Learn how to authenticate a bank account so you can debit with it.
3
- """
4
- cwd = File.dirname(File.dirname(File.expand_path(__FILE__)))
5
- $:.unshift(cwd + "/lib")
6
- require 'rubygems'
7
- require 'balanced'
8
-
9
- host = ENV.fetch('BALANCED_HOST') { nil }
10
- options = {}
11
- if host
12
- options[:scheme] = 'http'
13
- options[:host] = host
14
- options[:port] = 5000
15
- end
16
-
17
- Balanced.configure(nil, options)
18
-
19
- # create a new marketplace
20
- api_key = Balanced::ApiKey.new.save
21
- Balanced.configure(api_key.secret)
22
- marketplace = Balanced::Marketplace.new.save
23
-
24
- # create a bank account
25
- bank_account = marketplace.create_bank_account(
26
- :account_number => "1234567890",
27
- :bank_code => "12",
28
- :name => "Jack Q Merchant"
29
- )
30
- account = marketplace.create_account()
31
- account.add_bank_account(bank_account.uri)
32
-
33
- puts "you can't debit until you authenticate"
34
- begin
35
- account.debit(:amount => 100)
36
- rescue Balanced::Error => ex
37
- puts "Debit failed, %s" % ex.message
38
- end
39
-
40
- # authenticate
41
- verification = bank_account.verify
42
-
43
- begin
44
- verification.confirm(1,2)
45
- rescue Balanced::BankAccountVerificationFailure => ex
46
- puts 'Authentication error , %s' % ex.message
47
- puts "PROTIP: for TEST bank accounts the valid amount is always 1 and 1"
48
- end
49
- verification = bank_account.verifications.find(:first).first
50
-
51
- raise "unpossible" if verification.confirm(1, 1).state != 'verified'
52
- debit = account.debit(:amount => 100)
53
- puts "debited the bank account %s for %d cents" % [
54
- debit.source.uri,
55
- debit.amount
56
- ]
57
- puts "and there you have it"
@@ -1,114 +0,0 @@
1
- cwd = File.dirname(File.dirname(File.expand_path(__FILE__)))
2
- $:.unshift(cwd + "/lib")
3
- require 'rubygems'
4
- require 'balanced'
5
-
6
- begin
7
- Balanced::Card
8
- rescue NameError
9
- raise "wtf"
10
- end
11
-
12
- host = ENV.fetch('BALANCED_HOST') { nil }
13
- options = {}
14
- if host
15
- options[:scheme] = 'http'
16
- options[:host] = host
17
- options[:port] = 5000
18
- end
19
-
20
- Balanced.configure(nil, options)
21
-
22
- puts "create our new api key"
23
- api_key = Balanced::ApiKey.new.save
24
- puts "Our secret is: ", api_key.secret
25
- secret = api_key.secret
26
-
27
- puts "configure with our secret #{secret}"
28
- Balanced.configure(secret)
29
-
30
- puts "create our marketplace"
31
- begin
32
- marketplace = Balanced::Marketplace.new.save
33
- rescue Balanced::Conflict => ex
34
- marketplace = Balanced::Marketplace.mine
35
- end
36
-
37
- puts "create a customer"
38
- #
39
- customer = marketplace.create_customer(
40
- :name => "Bill",
41
- :email => "bill@bill.com",
42
- :business_name => "Bill Inc.",
43
- :ssn_last4 => "1234",
44
- :address => {
45
- :line1 => "1234 1st Street",
46
- :city => "San Francisco",
47
- :state => "CA"
48
- }
49
- ).save
50
-
51
- puts "our customer uri is #{customer.uri}"
52
-
53
- puts "create a card and a bank account for our customer"
54
-
55
- bank_account = marketplace.create_bank_account(
56
- :account_number => "1234567980",
57
- :bank_code => "321174811",
58
- :name => "Jack Q Merchant"
59
- )
60
-
61
- card = marketplace.create_card(
62
- :card_number => "4111111111111111",
63
- :expiration_month => "12",
64
- :expiration_year => "2015"
65
- ).save
66
-
67
- puts "our bank account uri is #{bank_account.uri}"
68
- puts "our card uri is #{card.uri}"
69
-
70
- puts "associate the newly created bank account and card to our customer"
71
-
72
- customer.add_card(card)
73
- customer.add_bank_account(bank_account)
74
-
75
- puts "check and make sure our customer now has a card and bank account listed"
76
-
77
- raise "customer's cards should not be empty" unless customer.cards.any?
78
- raise "customer's bank accounts should not be empty" unless customer.bank_accounts.any?
79
-
80
- puts "create a debit on our customer"
81
-
82
- customer.debit(
83
- :amount => 5000,
84
- :description => "new debit"
85
- )
86
-
87
- puts "check to make sure debit is added"
88
-
89
- raise "customer should not have 0 debits" unless customer.debits.any?
90
- raise "customer debit should be 5000" unless customer.debits.first.amount == 5000
91
-
92
- puts "create a credit on our customer"
93
-
94
- customer.credit(
95
- :amount => 2500,
96
- :description => "new credit"
97
- )
98
-
99
- puts "check to make sure credit is added"
100
-
101
- raise "customer should not have 0 credits" unless customer.credits.any?
102
- raise "customer should be 2500" unless customer.credits.first.amount == 2500
103
-
104
- puts "check to see what is the active card for a customer"
105
-
106
- raise "active card is incorrect" unless customer.active_card.id == card.id
107
-
108
- puts "check to see what is the active bank_account for a customer"
109
-
110
- raise "active bank account is incorrect" unless customer.active_bank_account.id == bank_account.id
111
-
112
-
113
-
114
-
@@ -1,81 +0,0 @@
1
- """
2
- Welcome weary traveller. Sick of polling for state changes? Well today have I
3
- got good news for you. Run this example below to see how to get yourself some
4
- callback goodness and to understand how events work.
5
- """
6
- cwd = File.dirname(File.dirname(File.expand_path(__FILE__)))
7
- $:.unshift(cwd + "/lib")
8
- require 'rubygems'
9
- require 'balanced'
10
- require 'net/http'
11
- require 'uri'
12
- require 'json'
13
-
14
- api_key = Balanced::ApiKey.new.save
15
- Balanced.configure(api_key.secret)
16
- marketplace = Balanced::Marketplace.new.save
17
-
18
- # mumble, let's create a requestb.in
19
- request_bin = Net::HTTP.post_form(URI.parse('http://requestb.in/api/v1/bins'), {})
20
- response = JSON.parse request_bin.body
21
- bin_name = response['name']
22
- callback_url = 'http://requestb.in/' + bin_name
23
- requests_url = 'http://requestb.in/api/v1/bins/%s/requests' % bin_name
24
-
25
- puts 'let\'s create a callback'
26
- marketplace.create_callback(
27
- :url => callback_url
28
- )
29
-
30
- puts 'let\'s create a card and associate it with a new account'
31
- card = Balanced::Card.new(
32
- :expiration_month => '12',
33
- :security_code => '123',
34
- :card_number => '5105105105105100',
35
- :expiration_year => '2020'
36
- ).save()
37
- buyer = Balanced::Account.new(
38
- 'card_uri' => card.uri
39
- ).save()
40
-
41
- puts 'generate a debit (which implicitly creates and captures a hold)'
42
- buyer.debit(:amount => 100)
43
-
44
- puts 'event creation is an async operation, let\'s wait until we have ' \
45
- 'some events!'
46
- while Balanced::Event.find(:all).length == 0
47
- puts 'Zzzz'
48
- sleep(0)
49
- end
50
-
51
- puts 'Woop, we got some events, let us see what there is to look at'
52
- for event in Balanced::Event.find(:all)
53
- puts 'this was a %s event, it occurred at %s, the callback has a ' \
54
- 'status of %s' % [
55
- event.type,
56
- event.occurred_at,
57
- event.callback_statuses
58
- ]
59
- end
60
-
61
- puts 'you can inspect each event to see the logs'
62
- event = Balanced::Event.find(:first)
63
- for callback in event.callbacks
64
- puts 'inspecting callback to %s for event %s' % [
65
- callback.url,
66
- event.type
67
- ]
68
-
69
- for log in callback.logs
70
- puts 'this attempt to the callback has a status of %s' % [log.status]
71
- end
72
- end
73
-
74
- puts 'ok, let\'s check with requestb.in to see if our callbacks fired at %s' % callback_url
75
- uri = URI.parse(requests_url)
76
- request_bin = Net::HTTP.get_response(uri)
77
- response = JSON.parse request_bin.body
78
- puts 'we received %s callbacks, you can view them at http://requestb.in/%s?inspect' % [
79
- response.length,
80
- bin_name,
81
- ]
data/examples/examples.rb DELETED
@@ -1,162 +0,0 @@
1
- cwd = File.dirname(File.dirname(File.expand_path(__FILE__)))
2
- $:.unshift(cwd + "/lib")
3
- require 'rubygems'
4
- require 'balanced'
5
-
6
- begin
7
- Balanced::Card
8
- rescue NameError
9
- raise "wtf"
10
- end
11
-
12
- host = ENV.fetch('BALANCED_HOST') { nil }
13
- options = {}
14
- if host
15
- options[:scheme] = 'http'
16
- options[:host] = host
17
- options[:port] = 5000
18
- end
19
-
20
- Balanced.configure(nil, options)
21
-
22
- puts "create our new api key"
23
- api_key = Balanced::ApiKey.new.save
24
- puts "Our secret is: ", api_key.secret
25
- secret = api_key.secret
26
-
27
- puts "configure with our secret #{secret}"
28
- Balanced.configure(secret)
29
-
30
- puts "create our marketplace"
31
- begin
32
- marketplace = Balanced::Marketplace.new.save
33
- rescue Balanced::Conflict => ex
34
- marketplace = Balanced::Marketplace.mine
35
- end
36
-
37
- raise "Merchant.me should not be nil" if Balanced::Merchant.me.nil?
38
- puts "what's my merchant?, easy: Merchant.me: ", Balanced::Merchant.me
39
-
40
- # what's my marketplace?
41
- raise "Marketplace.mine should not be nil" if Balanced::Marketplace.mine.nil?
42
- puts "what's my marketplace?, easy: Marketplace.mine: ", Balanced::Marketplace.mine
43
-
44
- puts "My marketplace's name is: #{marketplace.name}"
45
- random_name = (0...10).map{ ('a'..'z').to_a[rand(26)] }.join
46
- puts "Changing it to #{random_name}"
47
- marketplace.name = random_name
48
- marketplace.save
49
- puts "My marketplace name is now: #{Balanced::Marketplace.mine.name}"
50
- raise "Marketplace name is NOT #{random_name}!" if Balanced::Marketplace.mine.name != random_name
51
-
52
- puts "cool! let's create a new card."
53
- card = Balanced::Card.new(
54
- :card_number => "5105105105105100",
55
- :expiration_month => "12",
56
- :expiration_year => "2015"
57
- ).save
58
- puts "Our card uri: #{card.uri}"
59
-
60
- puts "create our **buyer** account"
61
- buyer = marketplace.create_buyer(
62
- :email_address => "buyer@example.org",
63
- :card_uri => card.uri
64
- )
65
- puts "our buyer account: #{buyer.uri}"
66
-
67
- puts "hold some amount of funds on the buyer, lets say 15$"
68
- the_hold = buyer.hold(:amount => 1500)
69
-
70
- puts "ok, no more holds! lets just capture it (for the full amount)"
71
- debit = the_hold.capture
72
-
73
- puts "hmm, how much money do i have in escrow? should equal the debit amount"
74
- marketplace = marketplace.reload
75
- raise "1500 is not in escrow! this is wrong" if marketplace.in_escrow != 1500
76
- puts "i have #{marketplace.in_escrow} in escrow!"
77
-
78
- puts "cool. now let me refund the full amount"
79
- refund = debit.refund() # the full amount!
80
-
81
- puts "ok, we have a merchant that's signing up, let's create an account for them " \
82
- "first, lets create their bank account."
83
-
84
- bank_account = marketplace.create_bank_account(
85
- :account_number => "1234567890",
86
- :routing_number => "322271627",
87
- :name => "Jack Q Merchant"
88
- )
89
-
90
- merchant = marketplace.create_merchant(
91
- :email_address => "merchant@example.org",
92
- :merchant => {
93
- :type => "person",
94
- :name => "Billy Jones",
95
- :street_address => "801 High St.",
96
- :postal_code => "94301",
97
- :country => "USA",
98
- :dob => "1842-01",
99
- :phone_number => "+16505551234"
100
- },
101
- :bank_account_uri => bank_account.uri,
102
- :name => "Jack Q Merchant"
103
- )
104
-
105
- puts "oh our buyer is interested in buying something for 530.00$"
106
- another_debit = buyer.debit(
107
- :amount => 53000,
108
- :appears_on_statement_as => "MARKETPLACE.COM"
109
- )
110
-
111
- puts "lets credit our merchant 110.00$"
112
- credit = merchant.credit(
113
- :amount => 11000,
114
- :description => "Buyer purchased something on MARKETPLACE.COM"
115
- )
116
-
117
- puts "lets assume the marketplace charges 15%, so it earned ~20"
118
- mp_credit = marketplace.owner_account.credit(
119
- :amount => 2000,
120
- :description => "Our commission from MARKETPLACE.COM"
121
- )
122
-
123
- puts "ok lets invalid a card"
124
- card.invalidate
125
-
126
- raise "This card is INCORRECTLY VALID" if card.is_valid
127
-
128
- puts "invalidating a bank account"
129
- bank_account.invalidate
130
-
131
- raise "This card is INCORRECTLY VALID" if bank_account.is_valid
132
-
133
- puts "let's create a bank account not associated to an account"
134
- bank_account = Balanced::BankAccount.new(
135
- :account_number => "9876543210",
136
- :routing_number => "021000021",
137
- :name => "Jake Skellington",
138
- :type => "checking"
139
- ).save
140
-
141
- raise "Should not have an account" if bank_account.has_account?
142
-
143
- puts "now let's credit it, the super-simple way"
144
- credit = bank_account.credit(
145
- :amount => 500
146
- )
147
-
148
- raise "Incorrect value for credit" if credit.amount != 500
149
-
150
- puts "That was still too hard -- let's credit without creating a bank account first"
151
- credit = Balanced::Credit.new(
152
- :amount => 700,
153
- :description => "Amazing",
154
- :bank_account => {
155
- :account_number => "55555555",
156
- :bank_code => "021000021",
157
- :name => "Wanda Wandy",
158
- :type => "checking"
159
- }
160
- ).save
161
- raise "OOPS -- that was hard after all" if (credit.amount != 700 or
162
- credit.created_at.nil?)
@@ -1,44 +0,0 @@
1
- cwd = File.dirname(File.dirname(File.expand_path(__FILE__)))
2
- $:.unshift(cwd + "/lib")
3
- require 'rubygems'
4
- require 'balanced'
5
-
6
- begin
7
- Balanced::Card
8
- rescue NameError
9
- raise "wtf"
10
- end
11
-
12
- require 'balanced'
13
-
14
- Balanced.configure("8bb66df4e80711e290df026ba7cd33d0")
15
-
16
- puts "create our marketplace"
17
- begin
18
- marketplace = Balanced::Marketplace.new.save
19
- rescue Balanced::Conflict => ex
20
- # balanced automatically maps the body's response
21
- # for convenience, so for example:
22
- puts ex.response[:body]
23
- # you'll notice this hash is mapped to nice attributes
24
- raise "Not Present" if ex.response[:body]["status"] != ex.status
25
- # you can find all of the attributes here:
26
- # https://docs.balancedpayments.com/current/api?language=bash#errors
27
- marketplace = Balanced::Marketplace.mine
28
- end
29
-
30
- # create a new card
31
-
32
- card = Balanced::Card.new(
33
- :card_number => "5105105105105100",
34
- :expiration_month => "12",
35
- :expiration_year => "2015",
36
- :phone_number => "INCORRECT PHONE NUMBER"
37
- )
38
-
39
- begin
40
- card.save
41
- rescue Balanced::BadRequest => ex
42
- puts ex.extras[:phone_number]
43
- puts "All the fields that have errors are: #{ex.extras.keys}"
44
- end