{
  "info": {
    "name": "ZWAY API",
    "description": "API única de pagamentos. Preencha a variável apiKey com a sua chave secreta (painel ZWAY → Webhooks e chaves de API → Chaves de API).",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "auth": {
    "type": "bearer",
    "bearer": [
      {
        "key": "token",
        "value": "{{apiKey}}",
        "type": "string"
      }
    ]
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://api.zwaybr.com/api/v1"
    },
    {
      "key": "apiKey",
      "value": ""
    }
  ],
  "item": [
    {
      "name": "Pagamentos",
      "item": [
        {
          "name": "Criar pagamento · PIX (BRL)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/payments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "payments"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"currency\": \"BRL\",\n  \"paymentMethod\": \"PIX\",\n  \"amount\": 9990,\n  \"name\": \"Maria Souza\",\n  \"email\": \"maria@exemplo.com.br\",\n  \"document\": {\n    \"type\": \"cpf\",\n    \"number\": \"12345678909\"\n  },\n  \"phone\": \"11999999999\",\n  \"items\": [\n    {\n      \"title\": \"Plano Pro\",\n      \"unitPrice\": 9990,\n      \"quantity\": 1\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Uma rota para todas as moedas e métodos: currency e paymentMethod decidem o fluxo. Os campos exigidos mudam conforme o método."
          }
        },
        {
          "name": "Criar pagamento · BOLETO (BRL)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/payments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "payments"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"currency\": \"BRL\",\n  \"paymentMethod\": \"BOLETO\",\n  \"amount\": 9990,\n  \"name\": \"Maria Souza\",\n  \"email\": \"maria@exemplo.com.br\",\n  \"document\": {\n    \"type\": \"cpf\",\n    \"number\": \"12345678909\"\n  },\n  \"items\": [\n    {\n      \"title\": \"Plano Pro\",\n      \"unitPrice\": 9990,\n      \"quantity\": 1\n    }\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Uma rota para todas as moedas e métodos: currency e paymentMethod decidem o fluxo. Os campos exigidos mudam conforme o método."
          }
        },
        {
          "name": "Criar pagamento · CREDIT_CARD (BRL)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/payments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "payments"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"currency\": \"BRL\",\n  \"paymentMethod\": \"CREDIT_CARD\",\n  \"amount\": 9990,\n  \"name\": \"Maria Souza\",\n  \"email\": \"maria@exemplo.com.br\",\n  \"document\": {\n    \"type\": \"cpf\",\n    \"number\": \"12345678909\"\n  },\n  \"items\": [\n    {\n      \"title\": \"Plano Pro\",\n      \"unitPrice\": 9990,\n      \"quantity\": 1\n    }\n  ],\n  \"cardToken\": \"TOKEN_GERADO_NO_NAVEGADOR\",\n  \"tokenOrigin\": \"provedor\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Uma rota para todas as moedas e métodos: currency e paymentMethod decidem o fluxo. Os campos exigidos mudam conforme o método."
          }
        },
        {
          "name": "Criar pagamento · SPEI (MXN)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/payments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "payments"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"currency\": \"MXN\",\n  \"paymentMethod\": \"SPEI\",\n  \"amount\": 50000,\n  \"name\": \"Juan Pérez López\",\n  \"email\": \"juan@ejemplo.mx\",\n  \"document\": {\n    \"type\": \"rfc\",\n    \"number\": \"PELJ900131AB1\"\n  },\n  \"birthDate\": \"1990-01-31\",\n  \"birthCountry\": \"MX\",\n  \"returnUrl\": \"https://sualoja.com/obrigado\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Uma rota para todas as moedas e métodos: currency e paymentMethod decidem o fluxo. Os campos exigidos mudam conforme o método."
          }
        },
        {
          "name": "Criar pagamento · OXXO (MXN)",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "Idempotency-Key",
                "value": "{{$guid}}"
              }
            ],
            "url": {
              "raw": "{{baseUrl}}/payments",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "payments"
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"currency\": \"MXN\",\n  \"paymentMethod\": \"OXXO\",\n  \"amount\": 50000,\n  \"name\": \"Juan Pérez López\",\n  \"email\": \"juan@ejemplo.mx\",\n  \"returnUrl\": \"https://sualoja.com/obrigado\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            },
            "description": "Uma rota para todas as moedas e métodos: currency e paymentMethod decidem o fluxo. Os campos exigidos mudam conforme o método."
          }
        },
        {
          "name": "Buscar pagamento",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/payments/zw_1760000000000_ab12cd34",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "payments",
                "zw_1760000000000_ab12cd34"
              ]
            },
            "description": "Consulta qualquer pagamento, em qualquer moeda. Pagamento de outra conta devolve o mesmo 404 de um id inexistente."
          }
        }
      ]
    },
    {
      "name": "Consulta",
      "item": [
        {
          "name": "Moedas e métodos",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/payments/methods",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "payments",
                "methods"
              ]
            },
            "description": "Lista as moedas e os métodos liberados para a sua conta, com valor mínimo/máximo e os campos exigidos de cada método."
          }
        },
        {
          "name": "Configuração do cartão",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{baseUrl}}/payments/card-configuration",
              "host": [
                "{{baseUrl}}"
              ],
              "path": [
                "payments",
                "card-configuration"
              ]
            },
            "description": "Script e chave pública para tokenizar o cartão no navegador do comprador. O número do cartão nunca passa pelo seu servidor: envie só o cardToken."
          }
        }
      ]
    }
  ]
}
