littleshop/WORKING_BASELINE_2024-09-24.md
SysAdmin 4aecf22879 Establish working baseline - September 24, 2024
WORKING BASELINE CONFIRMED:
- TeleBot: Checkout flow fixed, currency display corrected
- LittleShop: CSRF tokens fixed, SilverPay integration working
- SilverPay: Payment creation fixed with fiat_amount field
- Network: All containers connected on littleshop-network
- Payments: Successfully creating crypto payments with live exchange rates

Test confirmed: £10 GBP = 0.00011846 BTC at £84,415.99/BTC
All systems operational and integrated.
2025-09-24 21:19:24 +01:00

5.2 KiB

Working Baseline - September 24, 2024

🎯 System Status: FULLY OPERATIONAL

This document captures the current working state of the LittleShop/TeleBot/SilverPay integrated system.

All Systems Working

1. TeleBot - Telegram Bot Interface

  • Status: Operational
  • Container: telebot:latest
  • Bot: @Littleshop_tom_bot
  • Key Fixes Applied:
    • Checkout flow collects all address details in one message (not Step 1/5)
    • No duplicate /review commands
    • Currency display shows proper conversion notes
    • Connected to LittleShop API successfully
    • Tor proxy available via telebot-tor container

2. LittleShop Admin - E-commerce Backend

  • Status: Operational
  • URL: https://admin.thebankofdebbie.giize.com
  • Container: littleshop-admin
  • Key Fixes Applied:
    • CSRF tokens on all forms (delete, update status)
    • Pending Payment orders tab
    • Rebranded to "TeleShop Admin"
    • SilverPay integration fixed (fiat_amount field)
    • Connected to both littleshop-network and bridge networks

3. SilverPay - Cryptocurrency Payment Gateway

  • Status: Operational
  • URL: https://pay.thebankofdebbie.giize.com
  • Container: silverpay-api
  • Key Fixes Applied:
    • Connected to littleshop-network for container name resolution
    • API accepting orders with correct field names
    • Currency conversion working (GBP → BTC/ETH)
    • Generating payment addresses successfully

🔧 Critical Configuration

Docker Networks

All containers must be on littleshop-network for inter-container communication:

docker network connect littleshop-network [container-name]

Environment Variables (LittleShop)

SilverPay__BaseUrl=http://silverpay-api:8000
SilverPay__ApiKey=7703aa7a62fa4b40a87e9cfd867f5407147515c0986116ea54fc00c0a0bc30d8
SilverPay__WebhookSecret=Thefa1r1esd1d1twebhooks2024

API Field Names (SilverPay)

Request must include:

  • fiat_amount (not amount)
  • fiat_currency (e.g., "GBP")
  • currency (crypto: "BTC", "ETH")
  • external_id
  • webhook_url

📊 Recent Fixes (Git Commits)

  1. 7809b6e - Fix SilverPay payment creation - use fiat_amount instead of amount
  2. 5013e60 - Fix TeleBot compilation errors - use RequiredAmount property
  3. ddff649 - Fix TeleBot checkout flow and currency display
  4. bc708bb - Fix missing CSRF tokens in all delete forms
  5. 6e3c11a - Add Pending Payment tab and rebrand to TeleShop Admin

🧪 Verification Tests

Test 1: Payment Creation

curl -X POST http://silverpay-api:8000/api/v1/orders \
  -H "Content-Type: application/json" \
  -H "X-API-Key: 7703aa7a62fa4b40a87e9cfd867f5407147515c0986116ea54fc00c0a0bc30d8" \
  -d '{
    "external_id": "test-001",
    "fiat_amount": 10.00,
    "fiat_currency": "GBP",
    "currency": "BTC",
    "webhook_url": "https://admin.thebankofdebbie.giize.com/webhook"
  }'

Expected: 200 OK with crypto_amount and payment_address

Test 2: Container Connectivity

docker exec littleshop-admin curl http://silverpay-api:8000/health

Expected: {"status":"healthy"...}

Test 3: TeleBot Order Flow

  1. Message @Littleshop_tom_bot
  2. Browse products and add to cart
  3. Checkout - provides all address details in one message
  4. Select payment method (BTC/ETH)
  5. Receive payment address with converted crypto amount

🚀 Deployment Commands

Restart All Services

# On Hostinger server (srv1002428.hstgr.cloud)
docker restart littleshop-admin
docker restart telebot
docker restart silverpay-api

Check Status

docker ps --format "table {{.Names}}\t{{.Status}}" | grep -E "littleshop|telebot|silverpay"

View Logs

docker logs --tail 50 littleshop-admin
docker logs --tail 50 telebot
docker logs --tail 50 silverpay-api

📝 Known Working Configuration

Container Versions (as of Sept 24, 2024)

  • LittleShop: Built from commit 7809b6e
  • TeleBot: Built from commit 7809b6e
  • SilverPay: localhost:5000/silverpay:latest

Database

  • LittleShop: SQLite at /opt/littleshop/data/littleshop-production.db
  • SilverPay: PostgreSQL (silverpay-postgres container)

File Permissions

  • LittleShop data: owned by UID 1654
  • TeleBot data: owned by UID 1001
  • Use chown -R [uid]:[uid] /path to fix permission issues

⚠️ Critical Points to Remember

  1. Network Connectivity: Containers must be on the same Docker network
  2. Field Names: SilverPay expects fiat_amount, not amount
  3. CSRF Tokens: All forms need @Html.AntiForgeryToken()
  4. Currency Display: Shows GBP with conversion note for amounts > 1.0
  5. Checkout Flow: Single message for address, not multi-step

🎉 System Capabilities

Users can now:

  1. Browse products via TeleBot
  2. Add items to cart
  3. Complete checkout with single address entry
  4. Select cryptocurrency for payment
  5. Receive correct crypto amounts with live exchange rates
  6. Get unique payment addresses for each order
  7. Admin can manage orders through TeleShop Admin panel
  8. View pending payments in dedicated tab

📅 Baseline Date: September 24, 2024, 20:15 UTC

All systems confirmed working at this timestamp.