#!/bin/sh
# POS cihazı veya shop sistemini yerel merchant-pos'a bağlama örnekleri.
# ibrese.com /v1/pos barındırmaz. Önce kendi servisinizi açın:
#   POS_MERCHANT_ADDRESS=<64-hex> POS_NODE_URL=https://rpc.ibrese.com \
#   POS_NETWORK_ID=ibrese POS_CHAIN_ID=ibrese-l1 POS_HOST=127.0.0.1 POS_PORT=8101 npm run pos
set -eu
POS="${POS_BASE:-http://127.0.0.1:8101}"
WEBHOOK="${SHOP_WEBHOOK_URL:-http://127.0.0.1:8787/ibrese/webhook}"

echo "== GET /v1/info"
curl -sS "$POS/v1/info"
echo

echo "== cihaz kaydı (POS terminal veya shop backend)"
CREATE="$(curl -sS -X POST "$POS/v1/pos/devices" \
  -H 'content-type: application/json' \
  -d "{\"name\":\"Till-1\",\"webhookUrl\":\"$WEBHOOK\"}")"
echo "$CREATE"
API_KEY="$(printf '%s' "$CREATE" | sed -n 's/.*"apiKey": "\([^"]*\)".*/\1/p')"
echo "API_KEY=$API_KEY"

echo "== webhook testi (pos.ping)"
curl -sS -X POST "$POS/v1/pos/webhooks/test" \
  -H "authorization: Bearer $API_KEY"
echo

echo "== fatura 12,50 IBR = 1250000 alt birim"
INVOICE="$(curl -sS -X POST "$POS/v1/pos/invoices" \
  -H "authorization: Bearer $API_KEY" \
  -H 'content-type: application/json' \
  -d '{"amount":"1250000","merchantReference":"ORDER-123","memo":"IBRESE POS"}')"
echo "$INVOICE"
PAYMENT_ID="$(printf '%s' "$INVOICE" | sed -n 's/.*"paymentId": "\([^"]*\)".*/\1/p')"

echo "== POS fatura durumu"
curl -sS "$POS/v1/pos/invoices/$PAYMENT_ID" -H "authorization: Bearer $API_KEY"
echo

echo "== public node gözlemi (otorite değil)"
curl -sS "https://rpc.ibrese.com/payments/$PAYMENT_ID" || true
echo
