diff --git a/backend/internal/api/handlers/payment.go b/backend/internal/api/handlers/payment.go index 015850e..e80a56c 100644 --- a/backend/internal/api/handlers/payment.go +++ b/backend/internal/api/handlers/payment.go @@ -157,34 +157,8 @@ func (h *PaymentHandler) CreatePayment(c *gin.Context) { token, _ := data["token"].(string) paymentURL, _ := data["payment_url"].(string) - // 尝试多个可能的字段名获取钱包地址 - var walletAddress string - addressFields := []string{"address", "wallet_address", "to_address", "payment_address", "deposit_address", "receiver_address"} - for _, field := range addressFields { - if addr, ok := data[field].(string); ok && addr != "" { - walletAddress = addr - log.Printf("[BepUsdt] found wallet address in field '%s': %s", field, addr) - break - } - } - - // 如果没有直接获取到钱包地址,尝试从payment_url解析 - if walletAddress == "" && paymentURL != "" { - // payment_url格式可能是: usdt:TRC20地址?amount=xxx 或直接是钱包地址 - if strings.HasPrefix(paymentURL, "usdt:") || strings.HasPrefix(paymentURL, "USDT:") { - parts := strings.SplitN(paymentURL, ":", 2) - if len(parts) > 1 { - // 移除查询参数 - addrPart := strings.SplitN(parts[1], "?", 2)[0] - walletAddress = strings.TrimSpace(addrPart) - log.Printf("[BepUsdt] parsed wallet address from payment_url: %s", walletAddress) - } - } else if len(paymentURL) >= 30 && !strings.Contains(paymentURL, "://") { - // 可能直接就是钱包地址 - walletAddress = paymentURL - log.Printf("[BepUsdt] using payment_url as wallet address: %s", walletAddress) - } - } + // 钱包地址在token字段中 + walletAddress := token log.Printf("[BepUsdt] payment data: trade_id=%s, token=%s, payment_url=%s, wallet_address=%s", tradeID, token, paymentURL, walletAddress)