đ Stripe Payment Integration - Market Manager Guide
A practical guide to accepting card payments through LocallyGrown.net - covering setup, daily operations, and troubleshooting.
What is Stripe?
Stripe is a payment processing company that handles credit and debit card transactions for LocallyGrown.net's online ordering system.
Security
Card information never touches LocallyGrown's servers - it goes directly to Stripe's secure systems.
PCI Compliance
Stripe handles all the complex security requirements for processing cards.
Reliability
Stripe is used by millions of businesses worldwide, including Amazon and Target.
Flexibility
Supports all major card types: Visa, Mastercard, American Express, Discover, and prepaid cards.
How Customer Payments Work
The Simple Version
- đ Customer shops and adds items to their cart
- đŗ Customer saves a card to their account (one time)
- đ Customer places order - NO charge happens yet!
- đĻ Growers pack the order and adjust quantities if needed
- đ Customer picks up their order (may add extras from extras table)
- đ° LocallyGrown charges the card for the actual amount received
- đ§ Customer receives email confirmation of the charge
Important: When Do Charges Happen?
â° Cards are charged AFTER pickup, not when the order is placed.
Why?
- Growers may be out of some items
- Quantities might change (3 tomatoes available instead of 5)
- Customers may add items from an "extras table" at pickup
- Customers are only charged for what they actually receive
đ Real-World Example:
- Sarah orders $50 worth of produce
- Grower is out of $8 worth of items
- Sarah adds $5 worth of extras at pickup
- Sarah's card is charged $47 after pickup (plus any processing fee)
- Sarah gets an email showing the $47 charge
- Sarah was only charged for what she actually received
Customer Payment Methods
What Customers See
Saving a Card
When customers save a card, they see:
Current card: Visa ending in 4242
After an Order is Charged
Order #12345 - Payment Confirmation
An order payment of $42.00 was made via credit/debit card of type Visa with the last four digits of 4242.
The total payment was $43.26 and includes a 3% payment convenience charge.
Items in your order:
- Tomatoes (2 lbs) - $8.00
- Fresh Eggs (1 dozen) - $6.00
- Honey (16 oz) - $12.00
- Mixed Greens (1 bag) - $5.00
- Carrots (3 lbs) - $11.00
What Market Managers See
In the LocallyGrown Admin Panel
đ¤ Customer Account Information
- Saved card: "Visa ending in 4242" (or "No card on file")
- Account balance
- Order history with payment methods
đĻ Order Details
- Payment method: "Stripe" (after charge) or "Pending Stripe" (before charge)
- Payment status: Paid or Unpaid
- Any payment errors (if card declined, etc.)
In Your Stripe Dashboard
You don't need to use Stripe's dashboard for daily operations, but if you want to:
Log into stripe.com
Use your market's Stripe account credentials
View Payments
See all successful charges with customer names and amounts
View Failed Payments
See declined cards and reasons for failure
Issue Refunds
Process card refunds in Stripe dashboard, or issue account credits in LocallyGrown
See Reports
Revenue, fees, payouts to your bank account
What You'll See in Stripe Dashboard:
- Customer name (from Stripe customer record)
- Amount charged
- Date/time
- Card brand and last 4 digits
- Status (succeeded, failed, refunded)
- Your fee (Stripe's processing fee, typically 2.9% + $0.30)
When Do Funds Arrive in Your Bank Account?
đ Standard Payout Schedule:
- First payout: 7-14 days after your first successful charge (identity verification period)
- Ongoing payouts: Typically 2 business days after a charge
- Payout frequency: Daily or weekly (configurable in Stripe dashboard)
- Thursday night: Customer charged $50
- Friday: Charge appears in Stripe dashboard
- Monday: Funds deposited in your bank account ($48.25 after Stripe's fee)
đĄ Viewing Payout Details:
In your Stripe dashboard, go to Balance â Payouts to see:
- When payouts were sent to your bank
- Which charges are included in each payout
- Estimated arrival date for pending payouts
- Your current available balance
Processing Fees
đŧ Stripe's Fee (paid by your market)
Typically 2.9% + $0.30 per transaction
How it works: Deducted before money reaches your bank account
- $50 charge
- ~$1.75 fee
- You receive ~$48.25
đ° Convenience Fee (optional, paid by customer)
You can configure this in market settings
- Default: 0% (no fee)
- Common setting: 2-3% to offset Stripe's fees
- Shows as separate line item to customer
- $50 order
- + $1.50 (3% convenience fee)
- = $51.50 charged to customer
đĄ Configuring the Convenience Fee:
- Set the percentage in market settings
- Set the label (e.g., "Payment Convenience Charge" or "Processing Fee")
- If set to 0%, customers see no additional charge
Refunds
How Refunds Work
đĄ Two Types of Refunds
LocallyGrown supports two refund methods. Choose based on the situation and customer preference:
đĢ Account Credit (Automated)
Credits the customer's LocallyGrown account balance for future purchases.
- Regular customers who will order again
- Quick resolution without waiting for bank processing
- Avoiding Stripe refund fees (you keep the transaction fee)
đŗ Card Refund (Manual via Stripe)
Returns money to the customer's original payment card.
- Stripe keeps the original transaction fee (~$0.30 + 2.9%)
- If you charged a convenience fee, refund that too
- Refunds must be processed in Stripe - LocallyGrown doesn't automate this
- Partial refunds are supported
Refund Examples
Account Credit Example:
- Order total: $50.00
- Convenience fee (3%): $1.50
- Total charged: $51.50
- Stripe's fee to you: ~$1.79
- Customer's account balance: +$51.50
- Your revenue: $0 (kept for future order)
- Stripe fee: You keep the $1.79 (no refund fee)
- Net cost to market: $0 (customer uses credit on next order)
Card Refund Example (via Stripe):
- Order total: $50.00
- Convenience fee (3%): $1.50
- Total charged: $51.50
- Stripe's fee to you: ~$1.79
- Customer receives: $51.50 back to card (2-10 business days)
- You pay: $51.50 refund
- Stripe keeps: $1.79 (original transaction fee, non-refundable)
- Net cost to market: $1.79 in non-refundable fees
Partial Refund ($10 worth of items via Stripe):
- Customer receives: $10.30 back (including proportional convenience fee)
- You pay: $10.30 refund, keep $41.20 revenue
- Stripe keeps: Their original $1.79 fee (no partial fee refund)
- Net impact: Lost $10.30 in product revenue, kept $41.20
Chargebacks and Disputes
âī¸ What is a chargeback?
A chargeback occurs when a customer disputes a charge with their bank/card issuer rather than contacting you directly. The bank reverses the charge while investigating.
How the Dispute Process Works:
Customer Files Dispute
Customer contacts their bank claiming the charge was fraudulent, duplicate, or unauthorized
You're Notified
Stripe emails you immediately and shows the dispute in your dashboard
Funds Held
The disputed amount is immediately deducted from your account
You Respond (Deadline: 7 days)
Submit evidence through Stripe dashboard:
- Order details and delivery confirmation
- Customer communication records
- Proof customer received items
- Terms of service
Bank Decides (30-90 days)
The customer's bank reviews evidence from both sides
Outcome
- You win: Funds returned to your account
- You lose: Customer keeps the refund, you lose the revenue + $15 dispute fee
đĄī¸ Best Practices to Prevent Chargebacks:
- Send clear email confirmations when orders are charged
- Make sure your market name appears on customer statements (set in Stripe)
- Respond quickly to customer concerns before they escalate
- Keep records of order pickups and customer communication
- Process refunds promptly when appropriate
- "I don't recognize this charge" â Provide order details, pickup confirmation, email confirmation they received
- "I didn't receive the items" â Provide pickup records, order confirmation emails, pickup date/time logs
- "I was charged twice" â First, check if multiple orders were combined into a single charge (normal). If truly charged twice for the same order, contact LocallyGrown support immediately - this indicates a technical issue that needs investigation
- "I cancelled my order" â Show order was picked up before cancellation request, or no cancellation was received
Common Scenarios
đ Scenario 1: Customer's Card is Declined
What happens:
- After pickup, system tries to charge the card
- Card is declined (insufficient funds, expired, etc.)
- Order marked with error: "Payment failed"
- Customer has already received items but payment is outstanding
What you should do:
- Contact customer (they may not know card was declined)
- Ask them to update their payment method
- OR change order to "Pay at Pickup"
- Re-process the payment once resolved
đŗ Scenario 2: Customer Wants to Change Their Card
Where customers can update:
- Their account page - dedicated card update form
- During checkout - "Change Card" button in cart
- You can do it for them - in admin panel, user account section
Note: Only ONE card can be saved per customer. New card replaces the old one.
đĻ Scenario 3: Grouped Orders (Multiple Orders, One Charge)
What happens:
- Customer places 3 separate orders over the week
- All orders get packed on the same day
- System groups them into ONE charge
- Customer's card charged once for the total
- Saves on processing fees
- Order #101: $20
- Order #102: $15
- Order #103: $25
- Total: $60 + 3% fee = $61.80 (one charge) Instead of 3 separate charges with 3 sets of fees
Email shows:
An order payment of $60.00 was made via credit/debit card of type Visa with the last four digits of 4242. The total payment was $61.80 and includes a 3% payment convenience charge. (Orders: #101, #102, #103)
đ Scenario 4: Card Verification and Updates
How card matching works:
- System displays the saved card info before checkout
- System verifies the saved card matches Stripe's records before charging
- Customers can only have one card saved at a time
- Adding a new card automatically replaces the previous one
If a customer reports an unexpected card being charged:
- Check the customer's account page - which card is displayed?
- Review the order details - which card was actually charged?
- Verify the charge in your Stripe dashboard
- In most cases, the customer updated their card and forgot, or is looking at an old saved card from another service
- If you confirm a genuine mismatch between what's shown and what was charged, contact LocallyGrown support as this would indicate a system issue
đĄ Prevention tip: Encourage customers to review their saved card info when placing orders. The system displays "Current card: Visa ending in 4242" prominently during checkout.
Payment Timing and Flow
Customer Activity
- Customer browses products
- Customer saves card (or already has one saved)
- Customer places order for Friday pickup
Order Preparation
- Growers see the order
- NO charge happens yet
- Customer can still modify order
Packing
- Growers pack orders
- Growers note any missing/unavailable items
- Orders ready for pickup
Pickup & Payment
- Customers pick up orders (may add extras)
- Orders marked as picked up in system
- Background process detects picked-up orders
- Calculates actual totals (including fee if applicable)
- Charges customer's saved cards
- Sends confirmation emails
- Updates order status to "Paid"
đĄ When Are Orders Charged?
The system processes payments after pickup, allowing for:
- Final adjustments for out-of-stock items
- Quantity changes based on actual availability
- Additions from extras tables at pickup
- Accurate charges reflecting what customers actually received
The key: Charges happen after pickup so the final amount matches what the customer actually got.
Troubleshooting
"Market does not have Stripe payments enabled"
Cause:
Your market's Stripe integration is not activated
Solution:
- Ensure your Stripe account is set up
- Ensure API keys are configured in market settings
- Ensure "Stripe Approved" is checked in settings
- Contact LocallyGrown support if you need help
"Payment amount $0.35 is below the minimum charge amount of $0.50"
Cause:
Stripe requires minimum $0.50 charge
Solution:
- Order total (after pickup adjustments) is too small
- Customer needs to add more items OR
- Change payment method to "Pay at Pickup"
"Customer has removed their card from their account"
What happened:
- Customer saved card
- Customer later removed it
- Order was placed when card was saved
- Card removed before pickup
Solution:
- Contact customer
- Ask them to save a card again OR
- Change order to different payment method
"Card setup failed" or "Payment processing failed"
Possible causes:
- Customer entered wrong card information
- Card was declined by bank
- Technical issue with Stripe
- Internet connection issue
Solutions:
- Ask customer to try again
- Check Stripe status page (status.stripe.com)
- Try different card
- Contact LocallyGrown support if persistent
Security and Privacy
How Customer Data is Protected
Card Information
- Never stored on LocallyGrown servers
- Never visible to market managers (only last 4 digits)
- Entered directly into Stripe's secure form
- Encrypted in transit and at rest
- PCI compliant
What LocallyGrown Stores
- Stripe customer ID (reference number)
- Card brand (Visa, Mastercard, etc.)
- Last 4 digits
- That's it!
What You Can See
- â "Visa ending in 4242"
- â NOT the full card number
- â NOT the expiration date
- â NOT the security code
What to Tell Customers Concerned About Security
â "Is it safe to save my card?"
Yes! Here's why:
- We use Stripe, the same company used by Amazon, Target, and millions of businesses
- Your full card number never touches our servers
- Card data is encrypted and tokenized
- We only see the last 4 digits
- Stripe is PCI Level 1 certified (highest security level)
â "What if LocallyGrown gets hacked?"
Your card would be safe because:
- We don't have your full card number
- We only have a reference number that's useless to hackers
- Only Stripe can use that reference to charge your card
- Stripe's security is bank-level
Best Practices for Market Managers
Setting Up Stripe for Your Market
Create a Stripe account (if you don't have one)
- Use your market's business information
- Connect your bank account for payouts
- Complete identity verification
Get your API keys from Stripe dashboard
- You'll need both a publishable key and a secret key
- Use LIVE keys, not test keys
Configure in LocallyGrown
- Enter API keys in market settings
- Set convenience fee percentage (if any)
- Set convenience fee label
- Check "Stripe Approved" to enable
Test with a real order
- Place a test order yourself using your own account
- Save a card (use your own real card)
- Mark the order as picked up to trigger payment
- Verify charge appears in Stripe dashboard
- Verify email confirmation received
- Important: Immediately refund in Stripe dashboard to avoid being charged
â ī¸ Testing Without Real Charges
Currently, LocallyGrown does not support Stripe test mode for individual markets. When testing:
- You'll need to use real cards and process real charges
- Immediately refund test orders to avoid costs
- Stripe's fee on the original charge is not refunded (typically ~$0.30-$1)
- Keep test orders small (e.g., $1-$5) to minimize fees
Sample Messaging for Customers
đĸ When launching Stripe payments:
"We now accept credit and debit cards! Save your card to your account for quick, automatic checkout. You'll only be charged after you pick up your order, so you pay for exactly what you receive (including any extras you add)."
â In your market FAQ:
Q: When will my card be charged?
A: Your card is charged after you pick up your order, so you only pay for what you actually receive (including any extras you add at pickup). You'll get an email confirmation with the exact amount.
Q: Is it safe?
A: Yes! We use Stripe, a trusted payment processor used by millions of businesses. Your card information is encrypted and never stored on our servers.
Q: Can I use multiple cards?
A: You can save one card at a time. If you want to use a different card, just update your payment method before placing your order.
đ§ In order confirmation emails:
Your order has been placed! Your card will be charged after you pick up your order. You'll receive a payment confirmation email with the final amount at that time.
Monitoring Payments
đ Weekly Checklist
- Check for orders with payment errors
- Contact customers with failed payments
- Review Stripe dashboard for any issues
- Verify payouts are reaching your bank account
đ Monthly Checklist
- Reconcile Stripe revenue with your accounting
- Review refunds and chargebacks (if any)
- Check processing fees are as expected
- Update any outdated customer communications
FAQ for Market Managers
â Can customers use debit cards?
Yes! Stripe accepts all major debit cards (Visa, Mastercard, etc.) just like credit cards.
â What about prepaid cards?
Yes, prepaid cards work too, as long as they're registered with a ZIP code.
â Can I see customers' full card numbers?
No, and that's a good thing! You only see the card type and last 4 digits. This protects both you and your customers.
â What if I need to refund someone?
You have two options: (1) Issue an account credit in LocallyGrown's order management - credits their balance instantly. (2) Process a card refund in Stripe dashboard - returns money to their original card (2-10 business days).
â How long do card refunds take?
2-10 business days after you process the refund in Stripe dashboard, depending on the customer's bank. Stripe processes refunds immediately, but banks take time to post them. Account credits are instant.
â Can I charge a customer manually?
No, the system only charges for orders after pickup. This ensures customers are only charged for what they actually receive, including any extras.
â What if a customer disputes a charge (chargeback)?
Stripe will notify you via email. You'll need to provide evidence (order details, pickup confirmation, etc.). LocallyGrown stores all the necessary information.
â Do I need a separate Stripe account for each market?
If you manage multiple markets, yes. Each market should have its own Stripe account and API keys.
â What's the difference between "Pending Stripe" and "Stripe"?
Pending Stripe: Order placed, card will be charged after pickup
Stripe: Order charged, payment complete
â Can customers split payment between card and account balance?
Not currently. They use one payment method per order.
â What happens if a customer's card expires?
They'll need to update their card information. The system will not be able to charge an expired card, and the order will show a payment error.
Getting Help
For Payment Issues
- Check this guide first
- Check your Stripe dashboard
- Check Stripe's status page (status.stripe.com)
- Contact LocallyGrown support
For Stripe Account Issues
- Log into your Stripe dashboard
- Use Stripe's support chat (bottom right of dashboard)
- Email [email protected]
- Check Stripe's documentation (stripe.com/docs)
For LocallyGrown System Issues
Contact LocallyGrown support with:
- Your market name
- Order number (if applicable)
- Description of the issue
- Error messages (if any)
- Screenshots (if helpful)
đ Summary - Key Takeaways
Stripe is safe and secure - industry-standard payment processing
Charges happen after pickup - customers only pay for what they actually receive, including any extras
One card per customer - streamlined payment management
You control the convenience fee - offset your processing costs if desired
Flexible refunds - account credits via system, card refunds via Stripe
You don't need to be a tech expert - system handles the complexity
Customer communication is important - let them know how and when they'll be charged
Questions not answered here? Contact LocallyGrown support - we're here to help!