From b5847b573b48cc261e7bf230045f1f4dd4cb3b4c Mon Sep 17 00:00:00 2001 From: Matt Date: Thu, 30 Oct 2025 15:05:04 +0100 Subject: [PATCH] Enable business payments and bank transfers in Stripe checkout MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Payment Methods Added: - ACH bank transfers (us_bank_account) for US customers - Stripe Link for saved payment methods including bank accounts - Kept credit/debit card payments Business Payment Features: - customer_creation: 'always' - Creates Stripe customer for each payment - billing_address_collection: 'required' - Collects full billing address - phone_number_collection: Enabled for contact information - tax_id_collection: Enabled for business tax ID (VAT, EIN, etc.) Benefits: - Businesses can now enter their tax ID for invoicing - Customers can pay via bank transfer (ACH) as well as cards - Full billing information collected for business records - Stripe Link provides one-click checkout for returning customers 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- server/routes/checkout.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/server/routes/checkout.js b/server/routes/checkout.js index d020d69..dc95812 100644 --- a/server/routes/checkout.js +++ b/server/routes/checkout.js @@ -92,12 +92,20 @@ router.post('/create-session', async (req, res) => { // Create Stripe Checkout Session const session = await stripe.checkout.sessions.create({ - payment_method_types: ['card'], + payment_method_types: ['card', 'us_bank_account', 'link'], line_items: lineItems, mode: 'payment', success_url: `${process.env.FRONTEND_URL}/checkout/success?session_id={CHECKOUT_SESSION_ID}`, cancel_url: `${process.env.FRONTEND_URL}/checkout/cancel`, customer_email: customerEmail, + customer_creation: 'always', // Always create a customer for payment tracking + billing_address_collection: 'required', // Collect billing address for business payments + phone_number_collection: { + enabled: true, // Collect phone number + }, + tax_id_collection: { + enabled: true, // Allow customers to enter business tax ID + }, metadata: { tons: tons.toString(), portfolioId: portfolioId.toString(),