littleshop/MANUAL_DEPLOYMENT_INSTRUCTIONS.md
SilverLabs DevTeam 36b393dd2e Update BTCPay integration with production credentials and deployment documentation
- Updated API key and Store ID to production values
- Added comprehensive deployment documentation
- Fixed invoice creation to use GBP (fiat) currency
- Documented successful production deployment status
- Added manual deployment instructions
- Updated CLAUDE.md with latest integration fixes

Production Status:
- BTCPay connection working with v2.2.1
- Store "Shop" configured with ID: CvdvHoncGLM7TdMYRAG6Z15YuxQfxeMWRYwi9gvPhh5R
- Invoice creation functional (wallets need BTCPay-side configuration)

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-19 11:17:43 +01:00

3.6 KiB

Manual Deployment Instructions for BTCPay Fix

Since SSH access is currently unavailable, please follow these manual steps to deploy the BTCPay fixes to Hostinger:

  1. Access your Hostinger VPS through their web console or SSH client

  2. Navigate to the application directory:

cd /home/littleshop
# OR wherever your LittleShop is deployed
  1. Pull the latest changes from Gitea:
git pull origin main
  1. Build the application:
dotnet publish -c Release -o ./publish --no-self-contained
  1. Restart the application:
# If using systemd
sudo systemctl restart littleshop

# If using Docker
docker-compose down
docker-compose up -d

# If running directly
pkill -f "dotnet LittleShop.dll"
nohup dotnet publish/LittleShop.dll > logs/app.log 2>&1 &

Option 2: Manual File Upload

If git is not available, you can manually upload the changed files:

Files to Update:

  1. /LittleShop/Services/BTCPayServerService.cs
  2. /LittleShop/Services/CryptoPaymentService.cs
  3. /LittleShop/Controllers/BTCPayTestController.cs

Upload Method:

  • Use Hostinger's File Manager in their control panel
  • Or use SFTP if available
  • The compiled package is available at: /silverlabs/src/LittleShop/littleshop-btcpay-fix.tar.gz

After Upload:

cd /home/littleshop
tar -xzf littleshop-btcpay-fix.tar.gz
# Restart the application as shown above

Testing the Fix

Once deployed, test the BTCPay integration:

1. Test Connection

curl -X GET https://your-app-domain.com/api/btcpay-test/connection \
  -H "Cookie: .AspNetCore.Cookies=YOUR_ADMIN_COOKIE"

Expected response:

{
  "status": "Connected",
  "baseUrl": "https://thebankofdebbie.giize.com",
  "message": "BTCPay Server connection successful"
}

2. Create Test Payment

curl -X POST https://your-app-domain.com/api/btcpay-test/test-payment \
  -H "Content-Type: application/json" \
  -H "Cookie: .AspNetCore.Cookies=YOUR_ADMIN_COOKIE" \
  -d '{"amount": 10.00, "cryptoCurrency": 0}'

Expected response:

{
  "status": "Success",
  "invoiceId": "xxx",
  "checkoutLink": "https://thebankofdebbie.giize.com/i/xxx",
  "message": "✅ Test payment created successfully - Use checkout link to complete payment"
}

What Was Fixed

  1. Currency Issue: Changed from creating invoices in BTC to GBP (fiat currency)
  2. Address Extraction: Removed incorrect CryptoInfo access, now uses CheckoutLink
  3. Payment Methods: Properly specifies which cryptocurrencies to accept
  4. Logging: Added comprehensive logging for debugging

Important Notes

  • BTCPay Server v2 doesn't expose raw wallet addresses via API
  • Customers must use the checkout link to complete payments
  • The checkout page shows the wallet address and QR code
  • Webhook notifications will update order status automatically

Troubleshooting

If payments still don't work:

  1. Check BTCPay Configuration:

  2. Check Application Logs:

    tail -f /home/littleshop/logs/app.log
    # Look for BTCPay-related errors
    
  3. Verify Configuration:

    • Ensure appsettings.Hostinger.json or appsettings.Production.json has correct BTCPay settings
    • API Key, Store ID, and Base URL must match your BTCPay setup

Contact

If you need assistance with deployment, the changes are in the Gitea repository: