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.
- checksums.yaml +4 -4
- data/.rbenv-version +1 -1
- data/.ruby-version +1 -1
- data/Gemfile +7 -3
- data/README.md +2 -10
- data/Rakefile +4 -18
- data/balanced.gemspec +8 -10
- data/lib/balanced.rb +28 -28
- data/lib/balanced/client.rb +15 -6
- data/lib/balanced/error.rb +21 -12
- data/lib/balanced/pager.rb +66 -25
- data/lib/balanced/resources.rb +18 -17
- data/lib/balanced/resources/api_key.rb +4 -0
- data/lib/balanced/resources/bank_account.rb +26 -75
- data/lib/balanced/resources/callback.rb +2 -0
- data/lib/balanced/resources/card.rb +15 -65
- data/lib/balanced/resources/card_hold.rb +38 -0
- data/lib/balanced/resources/credit.rb +6 -50
- data/lib/balanced/resources/customer.rb +33 -71
- data/lib/balanced/resources/debit.rb +6 -14
- data/lib/balanced/resources/event.rb +6 -0
- data/lib/balanced/resources/funding_instrument.rb +11 -0
- data/lib/balanced/resources/hypermedia.rb +28 -0
- data/lib/balanced/resources/marketplace.rb +5 -203
- data/lib/balanced/resources/order.rb +71 -0
- data/lib/balanced/resources/refund.rb +2 -7
- data/lib/balanced/resources/resource.rb +169 -106
- data/lib/balanced/resources/reversal.rb +2 -8
- data/lib/balanced/resources/transfer.rb +11 -0
- data/lib/balanced/response/balanced_exception_middleware.rb +2 -2
- data/lib/balanced/utils.rb +47 -14
- data/lib/balanced/version.rb +1 -1
- data/scenario.cache +526 -380
- data/scenarios/api_key_create/definition.rb +1 -0
- data/scenarios/api_key_create/request.rb +2 -0
- data/scenarios/api_key_create/ruby.mako +21 -0
- data/scenarios/api_key_delete/definition.rb +1 -0
- data/scenarios/api_key_delete/request.rb +3 -0
- data/scenarios/api_key_delete/ruby.mako +12 -0
- data/scenarios/api_key_list/definition.rb +1 -0
- data/scenarios/api_key_list/request.rb +2 -0
- data/scenarios/api_key_list/ruby.mako +28 -0
- data/scenarios/api_key_show/definition.rb +1 -0
- data/scenarios/api_key_show/request.rb +2 -0
- data/scenarios/api_key_show/ruby.mako +18 -0
- data/scenarios/{customer_add_bank_account → bank_account_associate_to_customer}/definition.rb +0 -0
- data/scenarios/bank_account_associate_to_customer/request.rb +3 -0
- data/scenarios/bank_account_associate_to_customer/ruby.mako +49 -0
- data/scenarios/bank_account_create/definition.rb +1 -1
- data/scenarios/bank_account_create/request.rb +1 -1
- data/scenarios/bank_account_create/ruby.mako +44 -7
- data/scenarios/{credit_create_existing_bank_account → bank_account_credit}/definition.rb +0 -0
- data/scenarios/bank_account_credit/request.rb +3 -0
- data/scenarios/bank_account_credit/ruby.mako +42 -0
- data/scenarios/bank_account_debit/definition.rb +1 -0
- data/scenarios/bank_account_debit/request.rb +5 -0
- data/scenarios/bank_account_debit/ruby.mako +50 -0
- data/scenarios/bank_account_delete/request.rb +1 -1
- data/scenarios/bank_account_delete/ruby.mako +5 -3
- data/scenarios/bank_account_list/ruby.mako +76 -2
- data/scenarios/bank_account_show/definition.rb +1 -1
- data/scenarios/bank_account_show/request.rb +1 -1
- data/scenarios/bank_account_show/ruby.mako +41 -5
- data/scenarios/bank_account_update/definition.rb +1 -0
- data/scenarios/bank_account_update/request.rb +6 -0
- data/scenarios/bank_account_update/ruby.mako +56 -0
- data/scenarios/bank_account_verification_create/request.rb +1 -1
- data/scenarios/bank_account_verification_create/ruby.mako +20 -3
- data/scenarios/bank_account_verification_show/definition.rb +1 -1
- data/scenarios/bank_account_verification_show/request.rb +1 -1
- data/scenarios/bank_account_verification_show/ruby.mako +21 -4
- data/scenarios/bank_account_verification_update/definition.rb +1 -1
- data/scenarios/bank_account_verification_update/request.rb +5 -5
- data/scenarios/bank_account_verification_update/ruby.mako +24 -8
- data/scenarios/callback_create/definition.rb +1 -1
- data/scenarios/callback_create/request.rb +2 -2
- data/scenarios/callback_create/ruby.mako +22 -0
- data/scenarios/callback_delete/definition.rb +1 -1
- data/scenarios/callback_delete/request.rb +2 -2
- data/scenarios/callback_delete/ruby.mako +12 -0
- data/scenarios/callback_list/definition.rb +1 -1
- data/scenarios/callback_list/request.rb +1 -2
- data/scenarios/callback_list/ruby.mako +20 -0
- data/scenarios/callback_show/definition.rb +1 -1
- data/scenarios/callback_show/request.rb +1 -1
- data/scenarios/callback_show/ruby.mako +20 -0
- data/scenarios/{customer_add_card → card_associate_to_customer}/definition.rb +0 -0
- data/scenarios/card_associate_to_customer/request.rb +3 -0
- data/scenarios/card_associate_to_customer/ruby.mako +49 -0
- data/scenarios/card_create/request.rb +1 -2
- data/scenarios/card_create/ruby.mako +44 -7
- data/scenarios/card_debit/definition.rb +1 -0
- data/scenarios/card_debit/request.rb +5 -0
- data/scenarios/card_debit/ruby.mako +49 -0
- data/scenarios/card_delete/request.rb +1 -1
- data/scenarios/card_delete/ruby.mako +5 -3
- data/scenarios/card_hold_capture/definition.rb +1 -0
- data/scenarios/card_hold_capture/request.rb +5 -0
- data/scenarios/card_hold_capture/ruby.mako +49 -0
- data/scenarios/card_hold_create/definition.rb +1 -0
- data/scenarios/card_hold_create/request.rb +5 -0
- data/scenarios/card_hold_create/ruby.mako +38 -0
- data/scenarios/card_hold_list/definition.rb +1 -0
- data/scenarios/card_hold_list/request.rb +2 -0
- data/scenarios/card_hold_list/ruby.mako +60 -0
- data/scenarios/card_hold_show/definition.rb +1 -0
- data/scenarios/card_hold_show/request.rb +2 -0
- data/scenarios/card_hold_show/ruby.mako +36 -0
- data/scenarios/card_hold_update/definition.rb +1 -0
- data/scenarios/card_hold_update/request.rb +7 -0
- data/scenarios/card_hold_update/ruby.mako +42 -0
- data/scenarios/card_hold_void/definition.rb +1 -0
- data/scenarios/card_hold_void/request.rb +3 -0
- data/scenarios/card_hold_void/ruby.mako +36 -0
- data/scenarios/card_list/definition.rb +1 -1
- data/scenarios/card_list/request.rb +1 -1
- data/scenarios/card_list/ruby.mako +78 -5
- data/scenarios/card_show/definition.rb +1 -1
- data/scenarios/card_show/request.rb +1 -1
- data/scenarios/card_show/ruby.mako +42 -4
- data/scenarios/card_update/definition.rb +1 -1
- data/scenarios/card_update/request.rb +1 -1
- data/scenarios/card_update/ruby.mako +45 -4
- data/scenarios/credit_list/request.rb +1 -3
- data/scenarios/credit_list/ruby.mako +34 -4
- data/scenarios/{credit_bank_account_list → credit_list_bank_account}/definition.rb +0 -0
- data/scenarios/credit_list_bank_account/request.rb +3 -0
- data/scenarios/credit_list_bank_account/ruby.mako +13 -0
- data/scenarios/credit_show/definition.rb +1 -1
- data/scenarios/credit_show/request.rb +1 -3
- data/scenarios/credit_show/ruby.mako +35 -5
- data/scenarios/{credit_create_new_bank_account → credit_update}/definition.rb +0 -0
- data/scenarios/credit_update/request.rb +7 -0
- data/scenarios/credit_update/ruby.mako +48 -0
- data/scenarios/customer_create/request.rb +4 -1
- data/scenarios/customer_create/ruby.mako +60 -3
- data/scenarios/customer_delete/request.rb +1 -1
- data/scenarios/customer_delete/ruby.mako +4 -2
- data/scenarios/customer_list/definition.rb +1 -0
- data/scenarios/customer_list/request.rb +2 -0
- data/scenarios/customer_list/ruby.mako +105 -0
- data/scenarios/customer_show/definition.rb +1 -0
- data/scenarios/customer_show/request.rb +2 -0
- data/scenarios/customer_show/ruby.mako +58 -0
- data/scenarios/customer_update/definition.rb +1 -0
- data/scenarios/customer_update/request.rb +7 -0
- data/scenarios/customer_update/ruby.mako +64 -0
- data/scenarios/debit_list/request.rb +1 -3
- data/scenarios/debit_list/ruby.mako +70 -4
- data/scenarios/debit_show/definition.rb +1 -1
- data/scenarios/debit_show/request.rb +1 -1
- data/scenarios/debit_show/ruby.mako +39 -4
- data/scenarios/debit_update/definition.rb +1 -1
- data/scenarios/debit_update/request.rb +1 -1
- data/scenarios/debit_update/ruby.mako +39 -4
- data/scenarios/event_list/definition.rb +1 -1
- data/scenarios/event_list/request.rb +1 -2
- data/scenarios/event_list/ruby.mako +54 -5
- data/scenarios/event_show/definition.rb +1 -1
- data/scenarios/event_show/request.rb +1 -1
- data/scenarios/event_show/ruby.mako +54 -4
- data/scenarios/helpers.rb +29 -2
- data/scenarios/order_create/definition.rb +1 -0
- data/scenarios/order_create/request.rb +5 -0
- data/scenarios/order_create/ruby.mako +46 -0
- data/scenarios/order_list/definition.rb +1 -0
- data/scenarios/order_list/request.rb +2 -0
- data/scenarios/order_list/ruby.mako +42 -0
- data/scenarios/order_show/definition.rb +1 -0
- data/scenarios/order_show/request.rb +2 -0
- data/scenarios/order_show/ruby.mako +44 -0
- data/scenarios/order_update/definition.rb +1 -0
- data/scenarios/order_update/request.rb +7 -0
- data/scenarios/order_update/ruby.mako +50 -0
- data/scenarios/refund_create/definition.rb +1 -1
- data/scenarios/refund_create/request.rb +2 -1
- data/scenarios/refund_create/ruby.mako +33 -5
- data/scenarios/refund_list/request.rb +1 -3
- data/scenarios/refund_list/ruby.mako +30 -4
- data/scenarios/refund_show/definition.rb +1 -1
- data/scenarios/refund_show/request.rb +1 -1
- data/scenarios/refund_show/ruby.mako +32 -4
- data/scenarios/refund_update/definition.rb +1 -1
- data/scenarios/refund_update/request.rb +1 -1
- data/scenarios/refund_update/ruby.mako +32 -4
- data/scenarios/render_mako.rb +59 -4
- data/scenarios/reversal_create/definition.rb +1 -0
- data/scenarios/reversal_create/request.rb +9 -0
- data/scenarios/reversal_create/ruby.mako +45 -0
- data/scenarios/reversal_list/definition.rb +1 -0
- data/scenarios/reversal_list/request.rb +2 -0
- data/scenarios/reversal_list/ruby.mako +36 -0
- data/scenarios/reversal_show/definition.rb +1 -0
- data/scenarios/reversal_show/request.rb +2 -0
- data/scenarios/reversal_show/ruby.mako +37 -0
- data/scenarios/reversal_update/definition.rb +1 -0
- data/scenarios/reversal_update/request.rb +7 -0
- data/scenarios/reversal_update/ruby.mako +44 -0
- data/spec/balanced/error_spec.rb +7 -7
- data/spec/balanced/pager_spec.rb +10 -10
- data/spec/balanced/resources/api_key_spec.rb +6 -35
- data/spec/balanced/resources/bank_account_spec.rb +123 -218
- data/spec/balanced/resources/callback_spec.rb +12 -13
- data/spec/balanced/resources/card_hold_spec.rb +103 -0
- data/spec/balanced/resources/card_spec.rb +101 -27
- data/spec/balanced/resources/credit_spec.rb +69 -35
- data/spec/balanced/resources/customer_spec.rb +91 -271
- data/spec/balanced/resources/debit_spec.rb +95 -0
- data/spec/balanced/resources/marketplace_spec.rb +17 -170
- data/spec/balanced/resources/order_spec.rb +364 -0
- data/spec/balanced/resources/resource_spec.rb +25 -32
- data/spec/balanced_spec.rb +18 -36
- data/spec/client_spec.rb +7 -7
- data/spec/spec_helper.rb +19 -18
- data/spec/utils_spec.rb +5 -5
- metadata +123 -165
- data/examples/bank_account_debits.rb +0 -57
- data/examples/customers.rb +0 -114
- data/examples/events_and_callbacks.rb +0 -81
- data/examples/examples.rb +0 -162
- data/examples/exception_handling.rb +0 -44
- data/lib/balanced/resources/account.rb +0 -179
- data/lib/balanced/resources/hold.rb +0 -61
- data/lib/balanced/resources/invoice.rb +0 -11
- data/lib/balanced/resources/merchant.rb +0 -21
- data/lib/balanced/resources/transaction.rb +0 -17
- data/scenarios/account_add_card/definition.rb +0 -1
- data/scenarios/account_add_card/request.rb +0 -3
- data/scenarios/account_add_card/ruby.mako +0 -11
- data/scenarios/account_capture_hold/definition.rb +0 -1
- data/scenarios/account_capture_hold/request.rb +0 -3
- data/scenarios/account_capture_hold/ruby.mako +0 -11
- data/scenarios/account_create/definition.rb +0 -1
- data/scenarios/account_create/request.rb +0 -2
- data/scenarios/account_create/ruby.mako +0 -10
- data/scenarios/account_create_buyer/definition.rb +0 -1
- data/scenarios/account_create_buyer/request.rb +0 -5
- data/scenarios/account_create_buyer/ruby.mako +0 -13
- data/scenarios/account_create_debit/definition.rb +0 -1
- data/scenarios/account_create_debit/request.rb +0 -3
- data/scenarios/account_create_debit/ruby.mako +0 -11
- data/scenarios/account_create_hold/definition.rb +0 -1
- data/scenarios/account_create_hold/request.rb +0 -3
- data/scenarios/account_create_hold/ruby.mako +0 -11
- data/scenarios/account_create_merchant/definition.rb +0 -1
- data/scenarios/account_create_merchant/request.rb +0 -3
- data/scenarios/account_create_merchant/ruby.mako +0 -11
- data/scenarios/account_underwrite_business/definition.rb +0 -1
- data/scenarios/account_underwrite_business/request.rb +0 -17
- data/scenarios/account_underwrite_business/ruby.mako +0 -37
- data/scenarios/account_underwrite_person/definition.rb +0 -1
- data/scenarios/account_underwrite_person/request.rb +0 -18
- data/scenarios/account_underwrite_person/ruby.mako +0 -31
- data/scenarios/bank_account_find_and_credit/definition.rb +0 -1
- data/scenarios/bank_account_find_and_credit/request.rb +0 -5
- data/scenarios/bank_account_find_and_credit/ruby.mako +0 -13
- data/scenarios/bank_account_find_and_delete/definition.rb +0 -1
- data/scenarios/bank_account_find_and_delete/request.rb +0 -3
- data/scenarios/bank_account_find_and_delete/ruby.mako +0 -10
- data/scenarios/bank_account_invalid_routing_number/definition.rb +0 -1
- data/scenarios/bank_account_invalid_routing_number/request.rb +0 -11
- data/scenarios/bank_account_invalid_routing_number/ruby.mako +0 -16
- data/scenarios/card_invalidate/definition.rb +0 -1
- data/scenarios/card_invalidate/request.rb +0 -3
- data/scenarios/card_invalidate/ruby.mako +0 -10
- data/scenarios/credit_account_list/definition.rb +0 -1
- data/scenarios/credit_account_list/request.rb +0 -3
- data/scenarios/credit_account_list/ruby.mako +0 -10
- data/scenarios/credit_account_merchant_create/definition.rb +0 -1
- data/scenarios/credit_account_merchant_create/request.rb +0 -5
- data/scenarios/credit_account_merchant_create/ruby.mako +0 -12
- data/scenarios/credit_bank_account_list/request.rb +0 -5
- data/scenarios/credit_bank_account_list/ruby.mako +0 -12
- data/scenarios/credit_create_existing_bank_account/request.rb +0 -5
- data/scenarios/credit_create_existing_bank_account/ruby.mako +0 -12
- data/scenarios/credit_create_new_bank_account/request.rb +0 -10
- data/scenarios/credit_create_new_bank_account/ruby.mako +0 -21
- data/scenarios/credit_customer_list/definition.rb +0 -1
- data/scenarios/credit_customer_list/request.rb +0 -4
- data/scenarios/credit_customer_list/ruby.mako +0 -12
- data/scenarios/credit_failed_state/definition.rb +0 -1
- data/scenarios/credit_failed_state/request.rb +0 -10
- data/scenarios/credit_failed_state/ruby.mako +0 -18
- data/scenarios/credit_paid_state/definition.rb +0 -1
- data/scenarios/credit_paid_state/request.rb +0 -11
- data/scenarios/credit_paid_state/ruby.mako +0 -19
- data/scenarios/credit_pending_state/definition.rb +0 -1
- data/scenarios/credit_pending_state/request.rb +0 -9
- data/scenarios/credit_pending_state/ruby.mako +0 -17
- data/scenarios/customer_add_bank_account/request.rb +0 -3
- data/scenarios/customer_add_bank_account/ruby.mako +0 -11
- data/scenarios/customer_add_card/request.rb +0 -3
- data/scenarios/customer_add_card/ruby.mako +0 -11
- data/scenarios/customer_capture_hold/definition.rb +0 -1
- data/scenarios/customer_capture_hold/request.rb +0 -3
- data/scenarios/customer_capture_hold/ruby.mako +0 -0
- data/scenarios/customer_create_debit/definition.rb +0 -1
- data/scenarios/customer_create_debit/request.rb +0 -3
- data/scenarios/customer_create_debit/ruby.mako +0 -11
- data/scenarios/customer_create_hold/definition.rb +0 -1
- data/scenarios/customer_create_hold/request.rb +0 -3
- data/scenarios/customer_create_hold/ruby.mako +0 -11
- data/scenarios/customer_credit/definition.rb +0 -1
- data/scenarios/customer_credit/request.rb +0 -2
- data/scenarios/customer_credit/ruby.mako +0 -8
- data/scenarios/debit_account_list/definition.rb +0 -1
- data/scenarios/debit_account_list/request.rb +0 -3
- data/scenarios/debit_account_list/ruby.mako +0 -10
- data/scenarios/debit_create/definition.rb +0 -1
- data/scenarios/debit_create/request.rb +0 -5
- data/scenarios/debit_create/ruby.mako +0 -15
- data/scenarios/debit_customer_list/definition.rb +0 -1
- data/scenarios/debit_customer_list/request.rb +0 -4
- data/scenarios/debit_customer_list/ruby.mako +0 -12
- data/scenarios/debit_refund/definition.rb +0 -1
- data/scenarios/debit_refund/request.rb +0 -3
- data/scenarios/debit_refund/ruby.mako +0 -10
- data/scenarios/delete.rb +0 -7
- data/scenarios/event_replay/definition.rb +0 -0
- data/scenarios/event_replay/request.rb +0 -1
- data/scenarios/event_replay/ruby.mako +0 -0
- data/scenarios/execute.rb +0 -27
- data/scenarios/hold_account_list/definition.rb +0 -1
- data/scenarios/hold_account_list/request.rb +0 -3
- data/scenarios/hold_account_list/ruby.mako +0 -10
- data/scenarios/hold_capture/definition.rb +0 -1
- data/scenarios/hold_capture/request.rb +0 -5
- data/scenarios/hold_capture/ruby.mako +0 -15
- data/scenarios/hold_create/definition.rb +0 -1
- data/scenarios/hold_create/request.rb +0 -5
- data/scenarios/hold_create/ruby.mako +0 -14
- data/scenarios/hold_customer_list/definition.rb +0 -1
- data/scenarios/hold_customer_list/request.rb +0 -3
- data/scenarios/hold_customer_list/ruby.mako +0 -11
- data/scenarios/hold_list/definition.rb +0 -1
- data/scenarios/hold_list/request.rb +0 -4
- data/scenarios/hold_list/ruby.mako +0 -11
- data/scenarios/hold_show/definition.rb +0 -1
- data/scenarios/hold_show/request.rb +0 -2
- data/scenarios/hold_show/ruby.mako +0 -10
- data/scenarios/hold_update/definition.rb +0 -1
- data/scenarios/hold_update/request.rb +0 -7
- data/scenarios/hold_update/ruby.mako +0 -16
- data/scenarios/hold_void/definition.rb +0 -1
- data/scenarios/hold_void/request.rb +0 -3
- data/scenarios/hold_void/ruby.mako +0 -10
- data/scenarios/refund_account_list/definition.rb +0 -1
- data/scenarios/refund_account_list/request.rb +0 -3
- data/scenarios/refund_account_list/ruby.mako +0 -10
- data/scenarios/refund_customer_list/definition.rb +0 -1
- data/scenarios/refund_customer_list/request.rb +0 -3
- data/scenarios/refund_customer_list/ruby.mako +0 -11
- data/scenarios/render.rb +0 -32
- data/scenarios/render_one.rb +0 -32
- data/spec/balanced/resources/account_spec.rb +0 -636
- data/spec/balanced/resources/hold_spec.rb +0 -48
- data/spec/balanced/resources/merchant_spec.rb +0 -6
- data/spec/scenarios_spec.rb +0 -39
- 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,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,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,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 +0,0 @@
|
|
1
|
-
Balanced::Marketplace.create_buyer
|
@@ -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,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,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,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
|