{
  "info": {
    "name": "RisaPay API",
    "_postman_id": "risapay-api-v1",
    "description": "Koleksi API RisaPay. Isi environment: base_url, api_key, merchant_code, private_key.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    { "key": "base_url", "value": "https://risapay.xfazrin.my.id" },
    { "key": "api_key", "value": "ISI_API_KEY" },
    { "key": "merchant_code", "value": "ISI_MERCHANT_CODE" },
    { "key": "private_key", "value": "ISI_PRIVATE_KEY" },
    { "key": "reference", "value": "" }
  ],
  "item": [
    {
      "name": "Create Transaction (QRIS)",
      "event": [
        {
          "listen": "prerequest",
          "script": {
            "type": "text/javascript",
            "exec": [
              "var mref = 'R-TEST-' + Date.now();",
              "pm.environment.set('merchant_ref', mref);",
              "var raw = pm.environment.get('merchant_code') + mref + '10000';",
              "var sig = CryptoJS.HmacSHA256(raw, pm.environment.get('private_key')).toString();",
              "pm.environment.set('signature', sig);"
            ]
          }
        },
        {
          "listen": "test",
          "script": {
            "type": "text/javascript",
            "exec": [
              "var j = pm.response.json();",
              "if (j && j.success && j.data && j.data.reference) {",
              "  pm.environment.set('reference', j.data.reference);",
              "}"
            ]
          }
        }
      ],
      "request": {
        "method": "POST",
        "header": [
          { "key": "Authorization", "value": "Bearer {{api_key}}" },
          { "key": "Content-Type", "value": "application/x-www-form-urlencoded" }
        ],
        "url": "{{base_url}}/api/transaction/create",
        "body": {
          "mode": "urlencoded",
          "urlencoded": [
            { "key": "method", "value": "QRIS" },
            { "key": "merchant_ref", "value": "{{merchant_ref}}" },
            { "key": "amount", "value": "10000" },
            { "key": "customer_name", "value": "R-Test" },
            { "key": "customer_email", "value": "t@t.id" },
            { "key": "customer_phone", "value": "0811" },
            { "key": "signature", "value": "{{signature}}" }
          ]
        }
      }
    },
    {
      "name": "Transaction Detail",
      "request": {
        "method": "GET",
        "header": [{ "key": "Authorization", "value": "Bearer {{api_key}}" }],
        "url": "{{base_url}}/api/transaction/detail?reference={{reference}}"
      }
    }
  ]
}
