Documentação da API
Autenticação, carteira, transações, cobranças Pix, split e saques — com exemplos prontos em PHP, JavaScript e Python.
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.
x-api-key: sua_chave_de_integração
Content-Type: application/json
/integration/wallet
Recupera o saldo da carteira.
Respostas
- 200 — Retorna saldo disponível e bloqueado da carteira.
- 401 — Token de integração inválido.
GET https://api.morpheuspay.com/integration/wallet
{
"balance": 1500.00,
"blockedBalance": 100.00
}
/integration/transactions
Recupera todas as transações realizadas.
Respostas
- 200 — Lista de transações.
- 401 — Token de integração inválido.
[
{
"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"
}
]
/integration/generate-payment
Gera uma cobrança Pix (com split opcional).
Parâmetros
| Campo | Tipo | Descrição |
|---|---|---|
| fullName | string · obrigatório | Nome completo do pagador |
| document | string · obrigatório | Documento do pagador (CPF ou CNPJ) |
| 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 |
{
"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
}
]
}
{
"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"
}
/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.
{
"amount": 100.00,
"webhookUrl": "https://seusite.com/webhook",
"externalId": "saque123"
}
{
"id": "wd_001",
"status": "processing"
}
Exemplos de código
Chamada ao endpoint generate-payment. Adapte à sua linguagem ou framework preferido.
<?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);
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));
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)