diff --git a/lib/stripe/invoice.rb b/lib/stripe/invoice.rb index c4717a9b..aa283788 100644 --- a/lib/stripe/invoice.rb +++ b/lib/stripe/invoice.rb @@ -11,8 +11,8 @@ module Stripe Util.convert_to_stripe_object(resp.data, opts) end - def pay(opts={}) - resp, opts = request(:post, pay_url, {}, opts) + def pay(params={}, opts={}) + resp, opts = request(:post, pay_url, params, opts) initialize_from(resp.data, opts) end diff --git a/test/stripe/invoice_test.rb b/test/stripe/invoice_test.rb index 9b74d841..4c176f55 100644 --- a/test/stripe/invoice_test.rb +++ b/test/stripe/invoice_test.rb @@ -46,6 +46,19 @@ module Stripe "#{Stripe.api_base}/v1/invoices/#{FIXTURE[:id]}/pay" assert invoice.kind_of?(Stripe::Invoice) end + + should "pay invoice with a specific source" do + invoice = Stripe::Invoice.retrieve(FIXTURE[:id]) + invoice = invoice.pay( + source: API_FIXTURES[:customer][:sources][:data][0][:id] + ) + assert_requested :post, + "#{Stripe.api_base}/v1/invoices/#{FIXTURE[:id]}/pay", + body: { + source: API_FIXTURES[:customer][:sources][:data][0][:id] + } + assert invoice.kind_of?(Stripe::Invoice) + end end context "#upcoming" do