API REST · v1

Documentação da API

Autenticação, carteira, transações, cobranças Pix, split e saques — com exemplos prontos em PHP, JavaScript e Python.

https://api.morpheuspay.com Obter chave de API

Introdução

A API da Morpheus Pay oferece recursos para autenticação, geração de cobranças Pix, gerenciamento de conta, carteira e muito mais. Esta documentação cobre os principais endpoints, com exemplos, cabeçalhos obrigatórios e formatos de requisição e resposta.

Interface do cliente: https://app.morpheuspay.com

Autenticação

Todas as requisições exigem o cabeçalho x-api-key com a sua chave de integração. Requisições com corpo JSON devem enviar também Content-Type: application/json.

Cabeçalhos
x-api-key: sua_chave_de_integração
Content-Type: application/json
GET /integration/wallet

Recupera o saldo da carteira.

Respostas

  • 200 — Retorna saldo disponível e bloqueado da carteira.
  • 401 — Token de integração inválido.
Requisição
GET https://api.morpheuspay.com/integration/wallet
Resposta 200
{
  "balance": 1500.00,
  "blockedBalance": 100.00
}
GET /integration/transactions

Recupera todas as transações realizadas.

Respostas

  • 200 — Lista de transações.
  • 401 — Token de integração inválido.
Resposta 200
[
  {
    "id": "txn_001",
    "type": "payment",
    "status": "completed",
    "amount": 500.00,
    "fee": 5.00,
    "webhookUrl": "https://seusite.com/webhook",
    "externalId": "pedido123",
    "splits": [
      {
        "id": "split_001",
        "pixKey": "parceiro1@pix.com",
        "pixKeyType": "EMAIL",
        "fullName": "Parceiro 1",
        "document": "12345678901",
        "percent": 50,
        "amount": 250.00
      }
    ],
    "payerInfo": {
      "fullName": "João Silva",
      "document": "12345678900",
      "phone": "11988889999",
      "mail": "joao@email.com"
    },
    "createdAt": "2025-07-23T07:25:27.053Z"
  }
]
POST /integration/generate-payment

Gera uma cobrança Pix (com split opcional).

Parâmetros

CampoTipoDescrição
fullName string · obrigatório Nome completo do pagador
document string · obrigatório Documento do pagador (CPF ou CNPJ)
mail string · obrigatório E-mail do pagador
phone string · opcional Telefone do pagador
value number · obrigatório Valor da cobrança
split[] array · opcional Chaves Pix para divisão de valores
split[].pixKey string Chave Pix do recebedor
split[].pixKeyType string Tipo da chave Pix
split[].amount number Valor fixo a dividir
split[].percent number · opcional Percentual a dividir
split[].document string Documento do recebedor
webhookUrl string · opcional URL de notificação da transação
externalId string · opcional Identificador externo para rastreio
Corpo da requisição
{
  "fullName": "João Silva",
  "document": "12345678900",
  "mail": "joao@email.com",
  "phone": "11999999999",
  "value": 500.00,
  "webhookUrl": "https://seusite.com/webhook",
  "externalId": "pedido123",
  "splits": [
    {
      "pixKey": "parceiro1@pix.com",
      "pixKeyType": "EMAIL",
      "document": "12345678901",
      "amount": 250.00
    }
  ]
}
Resposta 201
{
  "transactionId": "txn_001",
  "status": "pending",
  "pixQrCode": "00020126360014BR.GOV.BCB.PIX0114parceiro1@pix.com...6304ABCD",
  "pixCode": "00020126360014BR.GOV.BCB.PIX0114parceiro1@pix.com...6304ABCD",
  "generateTime": "2025-07-23T07:25:27.053Z"
}
POST /integration/withdraw

Solicita um saque do saldo da carteira.

Parâmetros

  • amount (number, obrigatório) — Valor do saque.
  • webhookUrl (string, opcional) — URL de notificação.
  • externalId (string, opcional) — Identificador externo.
Corpo da requisição
{
  "amount": 100.00,
  "webhookUrl": "https://seusite.com/webhook",
  "externalId": "saque123"
}
Resposta 201
{
  "id": "wd_001",
  "status": "processing"
}

Exemplos de código

Chamada ao endpoint generate-payment. Adapte à sua linguagem ou framework preferido.

PHP · cURL
<?php

$url = 'https://api.morpheuspay.com/integration/generate-payment';

$data = [
  'fullName'   => 'Morpheus Pay',
  'mail'       => 'email@exemplo.com',
  'phone'      => '00000000000',
  'document'   => '00000000000',
  'value'      => 100,
  'webhookUrl' => 'exemplo.com/webhook',
  'externalId' => '1',
];

$headers = [
  'Content-Type: application/json',
  'x-api-key: SEU_TOKEN_DE_INTEGRACAO',
];

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));

$response = curl_exec($ch);

if (curl_errno($ch)) {
  echo 'Erro: ' . curl_error($ch);
} else {
  echo 'Resposta da API: ' . $response;
}

curl_close($ch);
JavaScript · Fetch API
const url = 'https://api.morpheuspay.com/integration/generate-payment';

const data = {
  fullName: 'Morpheus Pay',
  mail: 'email@exemplo.com',
  phone: '00000000000',
  document: '00000000000',
  value: 100,
  webhookUrl: 'exemplo.com/webhook',
  externalId: '1',
};

fetch(url, {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'x-api-key': 'SEU_TOKEN_DE_INTEGRACAO',
  },
  body: JSON.stringify(data),
})
  .then((response) => response.json())
  .then((data) => console.log('Resposta da API:', data))
  .catch((error) => console.error('Erro:', error));
Python · requests
import requests

url = "https://api.morpheuspay.com/integration/generate-payment"

payload = {
    "fullName": "Morpheus Pay",
    "mail": "email@exemplo.com",
    "phone": "00000000000",
    "document": "00000000000",
    "value": 100,
    "webhookUrl": "exemplo.com/webhook",
    "externalId": "1",
}
headers = {
    "Content-Type": "application/json",
    "x-api-key": "SEU_TOKEN_DE_INTEGRACAO",
}

response = requests.post(url, json=payload, headers=headers)

if response.status_code == 201:
    print("Resposta da API:", response.json())
else:
    print("Erro:", response.text)