diff --git a/lib/stripe/charge.rb b/lib/stripe/charge.rb index 256b1e7c..ce477f97 100644 --- a/lib/stripe/charge.rb +++ b/lib/stripe/charge.rb @@ -25,6 +25,22 @@ module Stripe refresh_from(response, api_key) end + def mark_as_fraudulent + params = { + :fraud_details => { :user_report => 'fraudulent' } + } + response, api_key = Stripe.request(:post, url, @api_key, params) + refresh_from(response, api_key) + end + + def mark_as_safe + params = { + :fraud_details => { :user_report => 'safe' } + } + response, api_key = Stripe.request(:post, url, @api_key, params) + refresh_from(response, api_key) + end + private def refund_url diff --git a/test/stripe/charge_test.rb b/test/stripe/charge_test.rb index 0c370ee7..87ddfc52 100644 --- a/test/stripe/charge_test.rb +++ b/test/stripe/charge_test.rb @@ -36,6 +36,22 @@ module Stripe c.save end + should "charges should be able to be marked as fraudulent" do + @mock.expects(:get).once.returns(test_response(test_charge)) + @mock.expects(:post).once.returns(test_response(test_charge)) + c = Stripe::Charge.new("test_charge") + c.refresh + c.mark_as_fraudulent + end + + should "charges should be able to be marked as safe" do + @mock.expects(:get).once.returns(test_response(test_charge)) + @mock.expects(:post).once.returns(test_response(test_charge)) + c = Stripe::Charge.new("test_charge") + c.refresh + c.mark_as_safe + end + should "charges should have Card objects associated with their Card property" do @mock.expects(:get).once.returns(test_response(test_charge)) c = Stripe::Charge.retrieve("test_charge") @@ -64,4 +80,4 @@ module Stripe assert c.paid end end -end \ No newline at end of file +end