From cfba7d8731a569d6f2d6f346354691f5772a8c76 Mon Sep 17 00:00:00 2001 From: Ryan Scherle Date: Sat, 28 Sep 2019 01:32:12 +0000 Subject: [PATCH 1/3] Correct process for setting auto_advance, correct customer name --- stash_engine/lib/stash/payments/invoicer.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/stash_engine/lib/stash/payments/invoicer.rb b/stash_engine/lib/stash/payments/invoicer.rb index 91f31d393f..f2a32c1943 100644 --- a/stash_engine/lib/stash/payments/invoicer.rb +++ b/stash_engine/lib/stash/payments/invoicer.rb @@ -26,7 +26,6 @@ def charge_user_via_invoice return unless customer_id.present? create_invoice_items_for_dpc(customer_id) invoice = create_invoice(customer_id) - invoice.auto_advance = true resource.identifier.invoice_id = invoice.id resource.identifier.save invoice.finalize_invoice @@ -118,7 +117,10 @@ def create_invoice_items_for_dpc(customer_id) def create_invoice(customer_id) Stripe::Invoice.create( + auto_advance: 'true', + collection_method: 'send_invoice', customer: customer_id, + days_until_due: '30', description: 'Dryad deposit ' + resource.identifier.to_s + ', ' + resource.title, metadata: { 'curator' => curator.name } ) @@ -126,7 +128,7 @@ def create_invoice(customer_id) def create_customer(author) Stripe::Customer.create( - description: author.author_standard_name, + name: author.author_standard_name, email: author.author_email ) end From fb60c84fdd84680eff5d3433d97f51e0bc7ba4f0 Mon Sep 17 00:00:00 2001 From: Ryan Scherle Date: Sat, 28 Sep 2019 02:09:36 +0000 Subject: [PATCH 2/3] correct for poorly-documented Stripe feature --- stash_engine/lib/stash/payments/invoicer.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/stash_engine/lib/stash/payments/invoicer.rb b/stash_engine/lib/stash/payments/invoicer.rb index f2a32c1943..57e05f010e 100644 --- a/stash_engine/lib/stash/payments/invoicer.rb +++ b/stash_engine/lib/stash/payments/invoicer.rb @@ -28,7 +28,7 @@ def charge_user_via_invoice invoice = create_invoice(customer_id) resource.identifier.invoice_id = invoice.id resource.identifier.save - invoice.finalize_invoice + invoice.send_invoice end # For a journal, generate an invoice item for the DPC. @@ -117,10 +117,10 @@ def create_invoice_items_for_dpc(customer_id) def create_invoice(customer_id) Stripe::Invoice.create( - auto_advance: 'true', + auto_advance: true, collection_method: 'send_invoice', customer: customer_id, - days_until_due: '30', + days_until_due: 30, description: 'Dryad deposit ' + resource.identifier.to_s + ', ' + resource.title, metadata: { 'curator' => curator.name } ) From 9b8125c0808db14d71c11f85effa8047cc0ba678 Mon Sep 17 00:00:00 2001 From: Ryan Scherle Date: Mon, 30 Sep 2019 21:30:15 +0000 Subject: [PATCH 3/3] fix method call in rspec --- stash_engine/spec/unit/stash/payments/invoicer_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/stash_engine/spec/unit/stash/payments/invoicer_spec.rb b/stash_engine/spec/unit/stash/payments/invoicer_spec.rb index e5850d4d08..03ad082a9d 100644 --- a/stash_engine/spec/unit/stash/payments/invoicer_spec.rb +++ b/stash_engine/spec/unit/stash/payments/invoicer_spec.rb @@ -34,7 +34,7 @@ module Payments @cust_id = '9999' fake_invoice_item = OpenStruct.new(customer: @cust_id, amount: '99.99', currency: 'usd', description: 'Data Processing Charge') fake_invoice = OpenStruct.new(customer: @cust_id, description: 'Dryad deposit', - metadata: { curator: 'The Curator' }, finalize_invoice: 'STRIPE1234') + metadata: { curator: 'The Curator' }, send_invoice: 'STRIPE1234') fake_customer = OpenStruct.new(id: @cust_id, email: @author.author_email, description: @author.author_standard_name) @invoicer = Invoicer.new(resource: @resource, curator: @curator)