Primeiros passos
Tudo o que você precisa antes do seu primeiro pagamento Cosmos Pay (o que é, como um pagamento flui e as duas formas de integração).
O Cosmos Pay permite que você aceite pagamentos na Stellar, Solana e Monad usando intenções de pagamento: você descreve um pagamento, o pagador o conclui a partir da própria carteira e você o confirma on-chain. Em torno desse núcleo você também tem swaps (em cada rede e entre elas), webhooks, produtos, clientes e análises.
Há duas formas de integração, e a maioria dos aplicativos usa ambas em conjunto:
Usar o SDK (recomendado)
@cosmosapp/pay_sdk, um cliente JavaScript/TypeScript tipado que cuida da autenticação, das requisições e da assinatura na carteira por você.
Chamar a API REST diretamente
A API REST de Pagamentos (OpenAPI), caso você não use JavaScript ou queira controle total sobre as requisições.
Como funciona um pagamento
Todo pagamento passa pelas mesmas três etapas (aqui com o SDK, na Stellar):
- Seu servidor cria uma intenção com sua chave de API secreta, por exemplo com
client.paymentIntents.createPay({ ... }). Você recebe de volta umuriSEP-7 e umqrpara mostrar ao pagador. - O pagador a conclui na sua carteira Stellar (Freighter, xBull, Rabet, LOBSTR ou Albedo). No navegador isso é uma única chamada:
new WebClient().pay(intent), que retorna umtxHashon-chain. - Seu servidor valida esse hash com
intent.validate(txHash), o que atualiza o status do pagamento e dispara um webhook para seus endpoints.
Na Solana e na Monad, informe chain, com o SDK (createPay({ chain: 'solana', ... }), a partir da versão 2.2) ou pela API REST:
você recebe um link Solana Pay ou EIP-681 em vez de um SEP-7, o pagador paga de qualquer carteira
dessa rede, e a API de Pagamentos detecta o pagamento on-chain e dispara os mesmos webhooks.
Testnet vs mainnet
Você nunca escolhe a rede no código. Ela é decidida pelo prefixo da sua chave de API: chaves dv_ rodam
na testnet, chaves prod_ rodam na mainnet. Desenvolva com uma chave dv_ e depois troque por uma
chave prod_ para entrar em produção.
Antes de começar
- Obtenha uma chave de API: entre na plataforma para desenvolvedores e gere uma. Veja Obtenha sua chave de API.
- Instale o SDK:
npm install @cosmosapp/pay_sdk(Node.js ≥ 18). Veja Instalação. - Mantenha a chave no seu servidor. Ela é secreta; o cliente web no navegador nunca precisa dela.
Seu primeiro pagamento
import { Client, Assets } from '@cosmosapp/pay_sdk';
const client = new Client({ apiKey: process.env.COSMOS_PAY_API_KEY });
const intent = await client.paymentIntents.createPay({
destination: 'G...YOUR_MERCHANT_ACCOUNT',
amount: '10',
asset: Assets.XLM,
msg: 'Order #1001',
});
console.log(intent.uri); // show as a link / button
console.log(intent.qr); // render this data: URL as an <img>Próximos passos
Obtenha sua chave de API
Entre, escolha um ambiente e gere uma chave no painel.
Início rápido
O exemplo completo de servidor-cria / navegador-conclui.
Webhooks
Seja notificado no instante em que um pagamento é concluído com sucesso.
Referência da API
Todos os endpoints, com esquemas e um playground de requisições.
Introdução
Integre pagamentos multichain na Stellar, Solana e Monad com o Cosmos Pay, usando o SDK JavaScript/TypeScript e a API REST de Pagamentos.
Obtenha sua chave de API
Entre na plataforma para desenvolvedores do Cosmos Pay, escolha um ambiente e gere uma chave de API com os escopos que sua integração precisa.