class Stripe::CustomerBalanceTransaction

Related guide: [Customer balance](stripe.com/docs/billing/customer/balance)
or by creating a Customer Balance Transaction, which increments or decrements the customer’s ‘balance` by the specified `amount`.
You may modify the value directly by using the [update customer API](stripe.com/docs/api/customers/update),
which denotes a debit or credit that’s automatically applied to their next invoice upon finalization.
Each customer has a [Balance](stripe.com/docs/api/customers/object#customer_object-balance) value,

def self.retrieve(_id, _opts = {})

def self.retrieve(_id, _opts = {})
  raise NotImplementedError,
        "Customer Balance Transactions cannot be retrieved without a customer ID. " \
        "Retrieve a Customer Balance Transaction using `Customer.retrieve_balance_transaction('cus_123', 'cbtxn_123')`"
end

def self.update(_id, _params = nil, _opts = nil)

def self.update(_id, _params = nil, _opts = nil)
  raise NotImplementedError,
        "Customer Balance Transactions cannot be retrieved without a customer ID. " \
        "Update a Customer Balance Transaction using `Customer.update_balance_transaction('cus_123', 'cbtxn_123', params)`"
end

def resource_url

def resource_url
  if !respond_to?(:customer) || customer.nil?
    raise NotImplementedError,
          "Customer Balance Transactions cannot be accessed without a customer ID."
  end
  "#{Customer.resource_url}/#{CGI.escape(customer)}/balance_transactions/#{CGI.escape(id)}"
end