curl -X POST https://carteira.nevermissapps.com/v1/payment/create \
-H "Authorization: Bearer SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 49.90,
"description": "Plano Premium - Mensal",
"redirectUrl": "https://exemplo.com/sucesso",
"passFeeToCustomer": true
}'
const response = await fetch('https://carteira.nevermissapps.com/v1/payment/create', {
method: 'POST',
headers: {
'Authorization': 'Bearer SUA_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
amount: 49.90,
description: 'Plano Premium - Mensal',
redirectUrl: 'https://exemplo.com/sucesso'
})
});
const payment = await response.json();
console.log(payment);
import requests
response = requests.post(
'https://carteira.nevermissapps.com/v1/payment/create',
headers={
'Authorization': 'Bearer SUA_API_KEY',
'Content-Type': 'application/json'
},
json={
'amount': 49.90,
'description': 'Plano Premium - Mensal',
'redirectUrl': 'https://exemplo.com/sucesso'
}
)
payment = response.json()
print(payment)
<?php
$ch = curl_init('https://carteira.nevermissapps.com/v1/payment/create');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer SUA_API_KEY',
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'amount' => 49.90,
'description' => 'Plano Premium - Mensal',
'redirectUrl' => 'https://exemplo.com/sucesso'
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$payment = curl_exec($ch);
curl_close($ch);
echo $payment;
?>
{
"success": true,
"transaction": {
"txid": "ABC123XYZ",
"amount": 53.65,
"originalAmount": 49.90,
"fee": 3.75,
"netAmount": 49.90,
"feePassedToCustomer": true,
"status": "pending",
"provider": "cartwave"
},
"pixCopiaECola": "00020126580014br.gov.bcb.pix...",
"qrcode": {
"imagemQrcode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
"qrcodeBase64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
},
"paymentLink": "https://carteira.nevermissapps.com/pay/ABC123XYZ",
"split": {
"recipientUserId": "123456789012345678",
"splitAmount": 10.00,
"creatorNetAmount": 39.90,
"splitType": "fixed"
},
"warning": "Taxa de R$ 3.75 está sendo cobrada do cliente. Valor original: R$ 49.90, Valor cobrado: R$ 53.65"
}
{
"error": "Bad Request",
"message": "Invalid amount value"
}
{
"error": "Bad Request",
"message": "Description is required"
}
API - Pagamentos
Criar Pagamento
Cria uma nova cobrança PIX com QR Code e Copia e Cola
POST
/
v1
/
payment
/
create
curl -X POST https://carteira.nevermissapps.com/v1/payment/create \
-H "Authorization: Bearer SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 49.90,
"description": "Plano Premium - Mensal",
"redirectUrl": "https://exemplo.com/sucesso",
"passFeeToCustomer": true
}'
const response = await fetch('https://carteira.nevermissapps.com/v1/payment/create', {
method: 'POST',
headers: {
'Authorization': 'Bearer SUA_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
amount: 49.90,
description: 'Plano Premium - Mensal',
redirectUrl: 'https://exemplo.com/sucesso'
})
});
const payment = await response.json();
console.log(payment);
import requests
response = requests.post(
'https://carteira.nevermissapps.com/v1/payment/create',
headers={
'Authorization': 'Bearer SUA_API_KEY',
'Content-Type': 'application/json'
},
json={
'amount': 49.90,
'description': 'Plano Premium - Mensal',
'redirectUrl': 'https://exemplo.com/sucesso'
}
)
payment = response.json()
print(payment)
<?php
$ch = curl_init('https://carteira.nevermissapps.com/v1/payment/create');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer SUA_API_KEY',
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'amount' => 49.90,
'description' => 'Plano Premium - Mensal',
'redirectUrl' => 'https://exemplo.com/sucesso'
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$payment = curl_exec($ch);
curl_close($ch);
echo $payment;
?>
{
"success": true,
"transaction": {
"txid": "ABC123XYZ",
"amount": 53.65,
"originalAmount": 49.90,
"fee": 3.75,
"netAmount": 49.90,
"feePassedToCustomer": true,
"status": "pending",
"provider": "cartwave"
},
"pixCopiaECola": "00020126580014br.gov.bcb.pix...",
"qrcode": {
"imagemQrcode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
"qrcodeBase64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
},
"paymentLink": "https://carteira.nevermissapps.com/pay/ABC123XYZ",
"split": {
"recipientUserId": "123456789012345678",
"splitAmount": 10.00,
"creatorNetAmount": 39.90,
"splitType": "fixed"
},
"warning": "Taxa de R$ 3.75 está sendo cobrada do cliente. Valor original: R$ 49.90, Valor cobrado: R$ 53.65"
}
{
"error": "Bad Request",
"message": "Invalid amount value"
}
{
"error": "Bad Request",
"message": "Description is required"
}
Descrição
Cria uma nova cobrança PIX e retorna QR Code e PIX Copia e Cola para o cliente efetuar o pagamento. A plataforma cobra 6% de taxa sobre o valor, com taxa mínima de R$ 0,20.Taxa mínima: Se o cálculo de 6% resultar em menos de R0,20,ataxamıˊnimadeR 0,20 será aplicada. Para valores menores que R$ 1,00, a taxa deve ser repassada ao cliente.
Headers
string
required
Bearer token com sua API Key
string
required
Deve ser
application/jsonBody
number
required
Valor do pagamento em reais (ex: 10.50)
string
required
Descrição da cobrança que aparecerá para o cliente
string
URL para redirecionar o cliente após o pagamento ser confirmado
boolean
default:false
Se
true, a taxa de 6% será adicionada ao valor cobrado do cliente, e você receberá 100% do valor original. Se false ou omitido, usa a configuração padrão da conta.array
Array definindo a divisão do pagamento. Apenas 1 destinatário é suportado. Note que é necessário aprovação do nosso staff para que sua conta tenha essa funcionalidade ativada.
Show properties
Show properties
Response
boolean
Indica se a operação foi bem-sucedida
object
Informações da transação criada
Show properties
Show properties
string
ID único da transação
number
Valor total cobrado do cliente
string
Provedor de pagamento (ex: “cartwave”)
number
Valor original solicitado (presente apenas se
passFeeToCustomer for true)number
Taxa da plataforma (6% com mínimo de R$ 0,20)
number
Valor líquido que você receberá
boolean
Indica se a taxa foi passada para o cliente
string
Status inicial:
pendingstring
Código PIX Copia e Cola para pagamento
object
string
Link para página de pagamento (somente se callbackUrl configurada)
object
string
Mensagem de aviso retornada caso a taxa seja repassada ao cliente e informando o valor cobrado.
curl -X POST https://carteira.nevermissapps.com/v1/payment/create \
-H "Authorization: Bearer SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"amount": 49.90,
"description": "Plano Premium - Mensal",
"redirectUrl": "https://exemplo.com/sucesso",
"passFeeToCustomer": true
}'
const response = await fetch('https://carteira.nevermissapps.com/v1/payment/create', {
method: 'POST',
headers: {
'Authorization': 'Bearer SUA_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
amount: 49.90,
description: 'Plano Premium - Mensal',
redirectUrl: 'https://exemplo.com/sucesso'
})
});
const payment = await response.json();
console.log(payment);
import requests
response = requests.post(
'https://carteira.nevermissapps.com/v1/payment/create',
headers={
'Authorization': 'Bearer SUA_API_KEY',
'Content-Type': 'application/json'
},
json={
'amount': 49.90,
'description': 'Plano Premium - Mensal',
'redirectUrl': 'https://exemplo.com/sucesso'
}
)
payment = response.json()
print(payment)
<?php
$ch = curl_init('https://carteira.nevermissapps.com/v1/payment/create');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Authorization: Bearer SUA_API_KEY',
'Content-Type: application/json'
]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
'amount' => 49.90,
'description' => 'Plano Premium - Mensal',
'redirectUrl' => 'https://exemplo.com/sucesso'
]));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$payment = curl_exec($ch);
curl_close($ch);
echo $payment;
?>
{
"success": true,
"transaction": {
"txid": "ABC123XYZ",
"amount": 53.65,
"originalAmount": 49.90,
"fee": 3.75,
"netAmount": 49.90,
"feePassedToCustomer": true,
"status": "pending",
"provider": "cartwave"
},
"pixCopiaECola": "00020126580014br.gov.bcb.pix...",
"qrcode": {
"imagemQrcode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA...",
"qrcodeBase64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..."
},
"paymentLink": "https://carteira.nevermissapps.com/pay/ABC123XYZ",
"split": {
"recipientUserId": "123456789012345678",
"splitAmount": 10.00,
"creatorNetAmount": 39.90,
"splitType": "fixed"
},
"warning": "Taxa de R$ 3.75 está sendo cobrada do cliente. Valor original: R$ 49.90, Valor cobrado: R$ 53.65"
}
{
"error": "Bad Request",
"message": "Invalid amount value"
}
{
"error": "Bad Request",
"message": "Description is required"
}
Observações Importantes
Payment Link: O campo
paymentLink só é retornado se você tiver configurado uma callbackUrl através do painel de administração. Este link oferece uma página pronta para o cliente pagar com sua marca personalizada.Taxa de 6%: A taxa é fixa (6% + taxa operacional). Por padrão é deduzida do seu valor:
- Pagamento de R$ 100,00
- Taxa: R$ 6,00
- Você recebe: R$ 94,00
passFeeToCustomer: true: A taxa é adicionada ao valor cobrado do cliente:- Valor original: R$ 100,00
- Cliente paga: R$ 106,00
- Você recebe: R$ 100,00
Todos os pagamentos são reais: Não há ambiente de testes. Certifique-se de testar com valores pequenos se necessário.
Fluxo Recomendado
1
Cliente solicita pagamento
Usuário clica em “Pagar” no seu site/app
2
Crie a cobrança
Chame este endpoint com amount e description
3
Exiba o pagamento
Opção A: Redirecione para o
paymentLink (página pronta)Opção B: Exiba o QR Code (qrcodeBase64) no seu site4
Aguarde confirmação
Opção A: Configure webhook e receba notificação automáticaOpção B: Faça polling com
GET /v1/payment/status/:txid5
Libere o acesso
Após confirmar status
approved, libere produto/serviçoErros Comuns
| Código | Causa | Solução |
|---|---|---|
| 400 | Valor inválido ou negativo | Envie um valor numérico positivo |
| 400 | Descrição faltando | Inclua o campo description |
| 401 | API Key inválida | Verifique o header Authorization |
| 500 | Erro ao gerar cobrança | Tente novamente ou contate suporte |