{
  "info": {
    "_postman_id": "b3e2182e-9d29-4d6d-bf1e-6242502bc89a",
    "name": "PayGate Tenant API",
    "description": "Koleksi Postman resmi untuk tenant PayGate. Untuk integrasi merchant - Payments (QRIS), Tenant Config, dan Webhooks. Endpoint Admin internal tidak disertakan.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://pg-be.belanjamu.company",
      "type": "string"
    },
    {
      "key": "apiKey",
      "value": "your_tenant_api_key_here",
      "type": "string"
    }
  ],
  "item": [
    {
      "name": "1. Public & Auth",
      "item": [
        {
          "name": "Register Tenant (Public)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"Toko Maju Bersama\",\n  \"phone\": \"081234567890\",\n  \"business_type\": \"Topup Game & PPOB\",\n  \"notes\": \"Daftar baru via Postman\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/register",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "register"]
            }
          }
        },
        {
          "name": "Health Check",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/api/health",
              "host": ["{{baseUrl}}"],
              "path": ["api", "health"]
            }
          }
        }
      ]
    },
    {
      "name": "2. Payments (Tenant API)",
      "item": [
        {
          "name": "Create Payment (QRIS)",
          "request": {
            "method": "POST",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "X-API-Key", "value": "{{apiKey}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"order_id\": \"ORD-{{$timestamp}}\",\n  \"amount\": 10000,\n  \"method\": \"qris\",\n  \"note\": \"Pembayaran Order Postman\",\n  \"expire_minutes\": 15\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/payments",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "payments"]
            }
          }
        },
        {
          "name": "Get Payment Status",
          "request": {
            "method": "GET",
            "header": [
              { "key": "X-API-Key", "value": "{{apiKey}}" }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/payments/ORD-123456",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "payments", "ORD-123456"]
            }
          }
        },
        {
          "name": "Cancel Payment",
          "request": {
            "method": "POST",
            "header": [
              { "key": "X-API-Key", "value": "{{apiKey}}" }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/payments/ORD-123456/cancel",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "payments", "ORD-123456", "cancel"]
            }
          }
        }
      ]
    },
    {
      "name": "3. Tenant Config",
      "item": [
        {
          "name": "Get Provider Config",
          "request": {
            "method": "GET",
            "header": [
              { "key": "X-API-Key", "value": "{{apiKey}}" }
            ],
            "url": {
              "raw": "{{baseUrl}}/api/v1/config/provider",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "config", "provider"]
            }
          }
        },
        {
          "name": "Update Provider Config (Pakasir)",
          "request": {
            "method": "PUT",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "X-API-Key", "value": "{{apiKey}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"provider\": \"PAKASIR\",\n  \"credentials\": {\n    \"projectSlug\": \"my-project-slug\",\n    \"apiKey\": \"my_pakasir_api_key\"\n  },\n  \"sandbox_mode\": false\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/config/provider",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "config", "provider"]
            }
          }
        },
        {
          "name": "Update Webhook URL",
          "request": {
            "method": "PUT",
            "header": [
              { "key": "Content-Type", "value": "application/json" },
              { "key": "X-API-Key", "value": "{{apiKey}}" }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"webhook_url\": \"https://yourstore.com/api/webhooks/payment\",\n  \"webhook_secret\": \"your_webhook_secret\"\n}"
            },
            "url": {
              "raw": "{{baseUrl}}/api/v1/config/webhook",
              "host": ["{{baseUrl}}"],
              "path": ["api", "v1", "config", "webhook"]
            }
          }
        }
      ]
    }
  ]
}
