Files
personal_website/config/payment.ts
T
jory b42ff297eb Fix Tetris 2P preview block synchronization issue
- Prevent duplicate piece shapes when generating next pieces
- Enhanced randomTetromino() with excludeShape parameter
- Update piece placement logic to avoid visual duplicates
- Improve initial state generation for both players
- Add P1 and P2 next piece previews in 2P mode
2026-01-06 21:54:11 +01:00

166 lines
4.7 KiB
TypeScript

/**
* PAYMENT CONFIGURATION
*
* Edit this file to configure all payment methods.
* This is the only file you need to modify for production.
*/
export const CONFIG = {
// ============================================
// STORE SETTINGS
// ============================================
store: {
name: "Secure Market",
currency: "USD",
currencySymbol: "$",
supportEmail: "support@example.com",
pgpKey: "0x1234ABCD5678EFGH",
},
// ============================================
// PRODUCTS
// ============================================
products: [
{
id: "prod_001",
name: "Digital Product #001",
description: "Secure digital delivery. Encrypted files with lifetime access.",
priceFiat: 25.00,
priceCrypto: {
btc: "0.001",
eth: "0.015",
ltc: "0.3",
xmr: "0.15",
},
image: "📦",
downloadUrl: "/downloads/product-001.zip", // After payment verification
},
{
id: "prod_002",
name: "Premium Bundle",
description: "Complete package with all features and priority support.",
priceFiat: 99.00,
priceCrypto: {
btc: "0.004",
eth: "0.06",
ltc: "1.2",
xmr: "0.6",
},
image: "💎",
downloadUrl: "/downloads/premium-bundle.zip",
},
],
// ============================================
// PAYPAL / CARD PAYMENTS
// Get your Client ID: https://developer.paypal.com/dashboard/applications
// ============================================
paypal: {
enabled: true,
clientId: "YOUR_PAYPAL_CLIENT_ID", // Replace with your PayPal Client ID
currency: "USD",
// PayPal supports: paypal, card, credit, venmo, paylater, bancontact, giropay, ideal, mybank, p24, sepa, sofort
enabledFunding: ["paypal", "card", "venmo", "paylater"],
},
// ============================================
// STRIPE (for Apple Pay / Google Pay)
// Get your keys: https://dashboard.stripe.com/apikeys
// ============================================
stripe: {
enabled: true,
publishableKey: "YOUR_STRIPE_PUBLISHABLE_KEY", // pk_live_... or pk_test_...
// For server-side (edge function), add STRIPE_SECRET_KEY to your secrets
},
// ============================================
// CRYPTOCURRENCY
// ============================================
crypto: {
enabled: true,
// Replace with YOUR wallet addresses
wallets: {
btc: {
address: "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
enabled: true,
},
eth: {
address: "0x71C7656EC7ab88b098defB751B7401B5f6d8976F",
enabled: true,
},
ltc: {
address: "ltc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
enabled: true,
},
xmr: {
address: "888tNkZrPN6JsEgekjMnABU4TBzc2Dt29EPAvkRxbANsAnjyPbb3iQ1YBRk1UXcdRsiKc9dhwMVgN5S9cQUiyoogDavup3H",
enabled: true,
},
},
// Auto-detection requires backend (Supabase edge function)
autoDetection: {
enabled: false,
pollIntervalMs: 15000,
supabaseUrl: "https://your-project.supabase.co",
},
},
// ============================================
// DIRECT PAYMENTS (Manual Verification)
// ============================================
direct: {
enabled: true,
venmo: {
enabled: true,
username: "@YourVenmoUsername",
link: "https://venmo.com/u/YourVenmoUsername",
},
cashapp: {
enabled: true,
cashtag: "$YourCashTag",
link: "https://cash.app/$YourCashTag",
},
zelle: {
enabled: true,
email: "payments@example.com",
phone: "+1234567890",
},
bankTransfer: {
enabled: true,
bankName: "Your Bank",
accountName: "Your Business Name",
accountNumber: "1234567890",
routingNumber: "021000021",
swift: "YOURSWIFT",
iban: "US00BANK0000001234567890",
},
giftCards: {
enabled: true,
accepted: ["Amazon", "Steam", "iTunes", "Google Play", "Visa", "Mastercard"],
},
},
// ============================================
// CAPTCHA SETTINGS
// ============================================
captcha: {
enabled: true,
maxAttempts: 3,
challengeTypes: ["math", "text", "reverse", "count"],
},
// ============================================
// NOTIFICATIONS (Webhooks)
// Called when payment is submitted for verification
// ============================================
webhooks: {
onPaymentSubmitted: "", // Optional: https://your-server.com/api/payment-submitted
onPaymentVerified: "", // Optional: https://your-server.com/api/payment-verified
},
};
// Type exports for TypeScript
export type Product = typeof CONFIG.products[0];
export type CryptoType = keyof typeof CONFIG.crypto.wallets;