diff --git a/lib/stripe/resources/customer.rb b/lib/stripe/resources/customer.rb index b864c4e07..9526bcd50 100644 --- a/lib/stripe/resources/customer.rb +++ b/lib/stripe/resources/customer.rb @@ -28,9 +28,14 @@ class << self alias detach_source delete_source end + # Deletes a discount associated with the customer. + # + # Returns the deleted discount. The customer object is not updated, + # so you must call `refresh` on it to get a new version with the + # discount removed. def delete_discount resp, opts = execute_resource_request(:delete, resource_url + "/discount") - initialize_from(resp.data, opts, true) + Util.convert_to_stripe_object(resp.data, opts) end end end diff --git a/test/stripe/customer_test.rb b/test/stripe/customer_test.rb index 9c8128648..20a80a115 100644 --- a/test/stripe/customer_test.rb +++ b/test/stripe/customer_test.rb @@ -56,9 +56,9 @@ class CustomerTest < Test::Unit::TestCase context "#delete_discount" do should "delete a discount" do customer = Stripe::Customer.retrieve("cus_123") - customer = customer.delete_discount + discount = customer.delete_discount assert_requested :delete, "#{Stripe.api_base}/v1/customers/cus_123/discount" - assert customer.is_a?(Stripe::Customer) + assert discount.is_a?(Stripe::Discount) end end