class Stripe::Charge
def capture(params = {}, opts = {})
def capture(params = {}, opts = {}) resp, opts = request(:post, capture_url, params, opts) initialize_from(resp.data, opts) end
def capture_url
def capture_url ce_url + "/capture"
def close_dispute(params = {}, opts = {})
def close_dispute(params = {}, opts = {}) resp, opts = request(:post, close_dispute_url, params, opts) initialize_from(resp.data, opts) end
def close_dispute_url
def close_dispute_url ce_url + "/dispute/close"
def dispute_url
def dispute_url ce_url + "/dispute"
def mark_as_fraudulent
def mark_as_fraudulent params = { fraud_details: { user_report: "fraudulent" }, } resp, opts = request(:post, resource_url, params) initialize_from(resp.data, opts) end
def mark_as_safe
def mark_as_safe params = { fraud_details: { user_report: "safe" }, } resp, opts = request(:post, resource_url, params) initialize_from(resp.data, opts) end
def refund(params = {}, opts = {})
def refund(params = {}, opts = {}) # Old versions of charge objects included a `refunds` field that was just # a vanilla array instead of a Stripe list object. # # Where possible, we'd still like to use the new refund endpoint (thus # `self.refunds.create`), but detect the old API version by looking for # an `Array` and fall back to the old refund URL if necessary so as to # maintain internal compatibility. if refunds.is_a?(Array) resp, opts = request(:post, refund_url, params, opts) initialize_from(resp.data, opts) else refunds.create(params, opts) # now that a refund has been created, we expect the state of this object # to change as well (i.e. `refunded` will now be `true`) so refresh it # from the server refresh end end
def refund_url
Note that this is actually the *old* refund URL and its use is no longer
def refund_url ce_url + "/refund"
def update_dispute(params = {}, opts = {})
def update_dispute(params = {}, opts = {}) resp, opts = request(:post, dispute_url, params, opts) initialize_from({ dispute: resp.data }, opts, true) dispute end