intrapay-sdk
v0.1.2
Published
SDK oficial Intra Pay para Financial API (PIX Cash In/Out e Webhooks)
Maintainers
Readme
Intra Pay SDK (Financial API)
Pacote oficial para integrar com a Financial API da Intra Pay em Node.js/TypeScript.
Instalação
npm install intrapay-sdk
Configuração
Defina as variáveis de ambiente e instancie o cliente.
INTRAPAY_CLIENT_KEYINTRAPAY_CLIENT_SECRETINTRAPAY_BASE_URL(ex.:https://api.intrapay.io/api/financial/v1)
Uso em TypeScript
Autenticação + cobrança estática:
import { IntraPayClient } from 'intrapay-sdk'
const client = new IntraPayClient({
clientKey: process.env.INTRAPAY_CLIENT_KEY!,
clientSecret: process.env.INTRAPAY_CLIENT_SECRET!,
baseUrl: process.env.INTRAPAY_BASE_URL!
})
await client.authenticate()
const charge = await client.cashIn.createStaticCharge({
pixKeyId: '123e4567-e89b-12d3-a456-426614174000',
amount: 150.5,
additionalInformation: 'Pagamento de serviços.'
})Cobrança dinâmica imediata:
const immediate = await client.cashIn.createImmediateCharge({
pixKeyId: '123e4567-e89b-12d3-a456-426614174000',
amount: 150.5,
additionalInformation: [{ name: 'Serviço', value: 'Limpeza de piscina' }],
debtor: { name: 'João da Silva', taxId: '12345678900' },
payerQuestion: 'Qual o número do seu pedido?',
expiration: { value: 60, unit: 'minutes' }
})Pix Cash Out por chave:
const payment = await client.cashOut.payByKey({
key: '123e4567-e89b-12d3-a456-426614174000',
keyType: 'EVP',
endtoEndId: 'E12345678920251024000123456789',
account: { participant: '12345678', accountType: 'CACC', branch: '0001', account: '1234567-8' },
owner: { name: 'Maria Souza', type: 'NATURAL_PERSON', tradeName: 'Maria Confeitaria', documentNumber: '12345678909' }
})Endpoint de webhook (Express) simplificado:
import express from 'express'
import { parsePixPaymentEvent, isPixPaymentConfirmed } from 'intrapay-sdk'
const app = express()
app.use(express.json({ type: 'application/json' }))
app.post('/webhooks/pix', (req, res) => {
const event = parsePixPaymentEvent(req.body)
if (isPixPaymentConfirmed(event)) {
console.log('Pedido pago:', event.transactionIdentification)
}
res.status(200).send('ok')
})Base URL
Produção: https://api.intrapay.io/api/financial/v1.
Build e Publicação
npm run buildnpm publish
Testes
npm test
