Repositório GitHub Acesse o repositório oficial dos SDKs UPay no GitHub
A Upay oferece SDKs oficiais para facilitar a integração da plataforma de pagamentos em diferentes linguagens de programação. Todos os SDKs são open-source e mantidos pela equipe Upay.
Recursos disponíveis
Todos os SDKs suportam os principais recursos da API Upay:
Payment Links : Criar e gerenciar links de pagamento
Transações : Listar e consultar transações
Produtos : Gerenciar produtos
Clientes : Gerenciar clientes
Cupons : Validar cupons de desconto
Webhooks : Verificar assinaturas de webhooks
JavaScript/TypeScript
Instalação
npm install @upay/upay-js
Uso básico
import UpayClient from '@upay/upay-js' ;
const upay = new UpayClient ({
apiKey: 'sua_api_key_aqui' ,
});
// Criar um link de pagamento
const paymentLink = await upay . paymentLinks . create ({
title: 'Produto Premium' ,
amount: 10000 , // R$ 100,00 em centavos
description: 'Descrição do produto' ,
});
console . log ( `Link criado: ${ upay . paymentLinks . getCheckoutUrl ( paymentLink . slug ) } ` );
// Listar transações
const { data : transactions } = await upay . transactions . list ({
page: 1 ,
limit: 10 ,
});
Recursos
Suporte completo a TypeScript com tipos
Tratamento de erros específicos
Validação de webhooks
Exemplos completos incluídos
Documentação completa Veja a documentação completa do SDK JavaScript/TypeScript
Python
Instalação
Uso básico
from upay import UpayClient
upay = UpayClient( api_key = "sua_api_key_aqui" )
# Criar um link de pagamento
payment_link = upay.payment_links.create({
"title" : "Produto Premium" ,
"amount" : 10000 , # R$ 100,00 em centavos
"description" : "Descrição do produto"
})
print ( f "Link criado: { upay.payment_links.get_checkout_url(payment_link[ 'slug' ]) } " )
# Listar transações
transactions = upay.transactions.list( page = 1 , limit = 10 )
print ( f "Total de transações: { transactions[ 'pagination' ][ 'total' ] } " )
Recursos
Compatível com Python 3.8+
Sintaxe pythônica e intuitiva
Tratamento de exceções específicas
Suporte a webhooks
Documentação completa Veja a documentação completa do SDK Python
PHP
Instalação
composer require upay/upay-php
Uso básico
<? php
use Upay\ UpayClient ;
$upay = new UpayClient ( apiKey : "sua_api_key_aqui" );
// Criar um link de pagamento
$paymentLink = $upay -> paymentLinks -> create ([
'title' => 'Produto Premium' ,
'amount' => 10000 , // R$ 100,00 em centavos
'description' => 'Descrição do produto'
]);
echo "Link criado: " . $upay -> paymentLinks -> getCheckoutUrl ( $paymentLink [ 'slug' ]) . " \n " ;
// Listar transações
$transactions = $upay -> transactions -> list ([ 'page' => 1 , 'limit' => 10 ]);
echo "Total de transações: " . $transactions [ 'pagination' ][ 'total' ] . " \n " ;
Recursos
Compatível com PHP 8.0+
Suporte a named arguments
Tratamento de exceções específicas
Validação de webhooks
Documentação completa Veja a documentação completa do SDK PHP
Java
O SDK Java está em desenvolvimento ativo. Algumas funcionalidades podem estar limitadas.
Requisitos
Uso básico
import com.upay.sdk.UpayClient;
import com.fasterxml.jackson.databind.JsonNode;
String apiKey = "sua_api_key_aqui" ;
String baseUrl = "https://upay-sistema-api.onrender.com" ;
UpayClient upay = new UpayClient (apiKey, baseUrl, "v1" , 30 );
// Criar Payment Link
Map < String , Object > options = new HashMap <>();
options . put ( "description" , "Produto Premium" );
options . put ( "status" , "ACTIVE" );
JsonNode link = upay . paymentLinks . create (
"Produto Premium" ,
10000 , // R$ 100,00 em centavos
options
);
System . out . println ( "ID: " + link . get ( "id" ). asText ());
System . out . println ( "Slug: " + link . get ( "slug" ). asText ());
Recursos
Compatível com Java 17+
Integração com Maven
Validação de webhooks
Operações de leitura e listagem
Documentação completa Veja a documentação completa do SDK Java
Obter API Key
Para usar qualquer SDK, você precisa de uma API Key:
Acesse o Dashboard Upay
Vá em Configurações > API Keys
Crie uma nova API Key
Copie e use no seu código
Nunca compartilhe sua API Key publicamente ou a inclua em repositórios públicos. Use variáveis de ambiente para armazenar suas credenciais.
Webhooks
Todos os SDKs incluem utilitários para validar assinaturas de webhooks:
JavaScript/TypeScript
Python
PHP
Java
import express from 'express' ;
app . post ( '/webhook' , express . raw ({ type: 'application/json' }), ( req , res ) => {
const signature = upay . extractWebhookSignature ( req . headers );
const secret = process . env . WEBHOOK_SECRET ;
if ( ! upay . verifyWebhookSignature ( req . body , signature , secret )) {
return res . status ( 401 ). json ({ error: 'Assinatura inválida' });
}
const event = JSON . parse ( req . body . toString ());
// Processar evento
res . json ({ received: true });
});
Tratamento de erros
Todos os SDKs fornecem classes de erro específicas para facilitar o tratamento:
JavaScript/TypeScript
Python
PHP
Java
import {
UpayError ,
UpayAuthenticationError ,
UpayValidationError ,
UpayNotFoundError ,
UpayRateLimitError
} from '@upay/upay-js' ;
try {
await upay . paymentLinks . create ({ title: 'Test' });
} catch ( error ) {
if ( error instanceof UpayAuthenticationError ) {
console . error ( 'Erro de autenticação:' , error . message );
} else if ( error instanceof UpayValidationError ) {
console . error ( 'Erro de validação:' , error . message , error . details );
}
}
Contribuindo
Todos os SDKs são open-source e aceitam contribuições:
Faça um fork do repositório
Crie uma branch para sua feature (git checkout -b feature/nova-feature)
Commit suas mudanças (git commit -m 'Adiciona nova feature')
Push para a branch (git push origin feature/nova-feature)
Abra um Pull Request
Suporte
Se você encontrar algum problema ou tiver dúvidas: