#!/usr/bin/env bash set -euo pipefail BASE_URL="http://127.0.0.1:3000" APP_SECRET=$(cd /Users/yml/codes/order-site-workspace/apps/backend && node --input-type=module -e "import { runtimeConfig } from './src/config/runtime.js'; process.stdout.write(String(runtimeConfig.platforms.agiso.appSecret || ''))") ORDER_ID="${1:-SIM-ORDER-20260408-0001}" SKU_ID="32768" SKU_NAME="海底捞套餐" sign_agiso() { local raw_json="$1" local ts="$2" node -e ' const crypto = require("crypto") const appSecret = process.argv[1] const rawJson = process.argv[2] const timestamp = process.argv[3] const sign = crypto .createHash("md5") .update(`${appSecret}json${rawJson}timestamp${timestamp}${appSecret}`, "utf8") .digest("hex") .toLowerCase() process.stdout.write(sign) ' "$APP_SECRET" "$raw_json" "$ts" } push_agiso_event() { local aopic="$1" local raw_json="$2" local ts ts=$(date +%s) local sign sign=$(sign_agiso "$raw_json" "$ts") echo echo "========== PUSH aopic=$aopic ==========" echo "ORDER_ID=$ORDER_ID" echo curl -sS -X POST "${BASE_URL}/api/v1/webhooks/agiso/trade?aopic=${aopic}×tamp=${ts}&sign=${sign}" \ -H "Content-Type: application/x-www-form-urlencoded" \ --data-urlencode "json=${raw_json}" echo echo } create_payload() { cat <