Documentação da API

Pix, MB WAY e Multibanco

Um endpoint de criação por método. O ambiente vem da chave. Envie sempre Idempotency-Key (por exemplo, o id do pedido) para não cobrar duas vezes em retentativas. O status final chega por webhook; também dá para consultar.

MétodoMoedaComo o cliente paga
mbwayEURAprovação na app MB WAY do telefone
multibancoEUREntidade + referência no multibanco/home banking
europix (Pix)EURQR Code ou Pix copia e cola no app do banco, liquidado em euro

Status do pagamento

pending → paid | failed | expired | cancelled; depois de pago pode virar refunded. Valores monetários vêm como string com 2 casas.

GET /developer/payments

Listar pagamentos

escopo payments:read

Pagamentos do ambiente da chave (a chave de sandbox só vê pagamentos de teste), do mais novo para o mais antigo.

ParâmetroOndeTipoDescrição
statusquerystringpending, paid, failed, expired, cancelled, refunded...
methodquerystringeuropix (Pix), mbway, multibanco.
order_idquerystringFiltra pelo seu order_id.
created_fromquerystring (data)Criados a partir de.
created_toquerystring (data)Criados até.
per_pagequeryintegerItens por página (1 a 100, padrão 25).
pagequeryintegerPágina (a partir de 1).
curl -X GET https://api.uneway.pro/api/v1/developer/payments \
  -H "Authorization: Bearer uw_test_SUA_CHAVE"

Resposta (exemplo)

{
  "success": true,
  "data": [
    {
      "object": "payment",
      "id": 1842,
      "order_id": "pedido-2001",
      "status": "paid",
      "method": "europix",
      "amount": "49.90",
      "fee_amount": "1.50",
      "net_amount": "48.40",
      "currency": "EUR",
      "description": "Pedido 2001",
      "customer": {
        "name": "Ana Souza",
        "email": "ana@exemplo.com"
      },
      "refunded": false,
      "refund_amount": null,
      "paid_at": "2026-10-02T14:03:11+00:00",
      "expired_at": null,
      "refunded_at": null,
      "created_at": "2026-10-02T14:01:52+00:00",
      "metadata": {},
      "livemode": false,
      "public_token": "pt_8bZ2mQ..."
    }
  ],
  "meta": {
    "page": 1,
    "per_page": 25,
    "total": 1,
    "last_page": 1
  }
}

GET /developer/payments/{ref}

Consultar pagamento

escopo payments:read

Busca pelo id numérico, pelo seu order_id ou pelo token público (pt_...).

ParâmetroOndeTipoDescrição
ref obrigatóriocaminhostringid, order_id ou pt_...
curl -X GET https://api.uneway.pro/api/v1/developer/payments/pedido-2001 \
  -H "Authorization: Bearer uw_test_SUA_CHAVE"

Resposta (exemplo)

{
  "success": true,
  "data": {
    "object": "payment",
    "id": 1842,
    "order_id": "pedido-2001",
    "status": "paid",
    "method": "europix",
    "amount": "49.90",
    "fee_amount": "1.50",
    "net_amount": "48.40",
    "currency": "EUR",
    "description": "Pedido 2001",
    "customer": {
      "name": "Ana Souza",
      "email": "ana@exemplo.com"
    },
    "refunded": false,
    "refund_amount": null,
    "paid_at": "2026-10-02T14:03:11+00:00",
    "expired_at": null,
    "refunded_at": null,
    "created_at": "2026-10-02T14:01:52+00:00",
    "metadata": {},
    "livemode": false,
    "public_token": "pt_8bZ2mQ..."
  }
}

POST /payments/multibanco

Criar referência Multibanco

escopo payments:write aceita Idempotency-Key

Gera entidade e referência Multibanco (EUR) para pagamento no multibanco ou home banking.

CampoTipoDescrição
amount obrigatórionumberValor em EUR (mínimo 0,50).
order_idstringSeu identificador do pedido (letras, números, _ e -). Gerado se omitido; precisa ser único na sua conta.
customer_emailstringE-mail do pagador (o domínio precisa existir).
descriptionstringDescrição (até 1.000 caracteres).
currencystringEUR.
customer_namestringNome do pagador.
curl -X POST https://api.uneway.pro/api/v1/payments/multibanco \
  -H "Authorization: Bearer uw_test_SUA_CHAVE" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"order_id": "pedido-2003", "amount": 120.0}'

Resposta (exemplo)

{
  "success": true,
  "entidade": "12345",
  "referencia": "123 456 789",
  "valor": 120.0,
  "payment": {
    "id": 1844,
    "order_id": "pedido-2003",
    "status": "pending"
  }
}

POST /payments/mbway

Criar cobrança MB WAY

escopo payments:write aceita Idempotency-Key

Envia o pedido para a app MB WAY do telefone informado (EUR). O cliente aprova na app; o resultado chega por webhook.

CampoTipoDescrição
amount obrigatórionumberValor em EUR (mínimo 0,51).
phone obrigatóriostringTelefone com 9 a 15 dígitos (ex.: 351912345678).
order_idstringSeu identificador do pedido (letras, números, _ e -). Gerado se omitido; precisa ser único na sua conta.
customer_emailstringE-mail do pagador (o domínio precisa existir).
descriptionstringDescrição (até 1.000 caracteres).
currencystringEUR.
merchant_namestringNome exibido na app (até 30 caracteres).
curl -X POST https://api.uneway.pro/api/v1/payments/mbway \
  -H "Authorization: Bearer uw_test_SUA_CHAVE" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"order_id": "pedido-2002", "amount": 25.0, "phone": "351912345678"}'

Resposta (exemplo)

{
  "success": true,
  "status": "pending",
  "payment": {
    "id": 1843,
    "order_id": "pedido-2002",
    "status": "pending"
  }
}

POST /payments/europix

Criar cobrança Pix

escopo payments:write aceita Idempotency-Key

Cobrança Pix liquidada em euro: o cliente paga com Pix no app do banco e o valor entra no seu saldo em EUR. A resposta traz o QR Code (qr_code, imagem em base64) e o Pix copia e cola (string_pix). O método se chama europix na API. No sandbox vem só um string_pix de teste (sem QR Code).

CampoTipoDescrição
amount obrigatórionumberValor em EUR (1,00 a 100.000,00; até 2 casas).
order_idstringSeu identificador do pedido (letras, números, _ e -). Gerado se omitido; precisa ser único na sua conta.
customer_emailstringE-mail do pagador (o domínio precisa existir).
descriptionstringDescrição (até 1.000 caracteres).
customer_namestringNome do pagador.
customer_documentstringCPF ou CNPJ.
curl -X POST https://api.uneway.pro/api/v1/payments/europix \
  -H "Authorization: Bearer uw_test_SUA_CHAVE" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"order_id": "pedido-2004", "amount": 80.0, "customer_email": "ana@exemplo.com"}'

Resposta (exemplo)

{
  "success": true,
  "status": "pending",
  "qr_code": "iVBORw0KG...",
  "string_pix": "00020126...",
  "payment": {
    "id": 1845,
    "order_id": "pedido-2004",
    "status": "pending"
  }
}