O AbacatePay SDK para Lua é uma biblioteca que facilita a integração com o sistema de pagamentos AbacatePay. Este SDK permite a criação e listagem de clientes, além da interação com os produtos e cobranças do sistema, por meio de uma API RESTful.
O projeto está organizado da seguinte forma:
- src/: Contém os arquivos principais do SDK.
- API/: Lógica para interação com as rotas da API AbacatePay.
- Config/: Configuração básica para a conexão com a API.
- Models/: Modelos de dados como Cliente e Produto.
- Utils/: Funções utilitárias, como validações e helpers.
Este SDK depende das seguintes bibliotecas externas:
socket.http
: Para realizar requisições HTTP.ltn12
: Para trabalhar com fluxo de dados.dkjson
(opcional): Para decodificação de JSON (se necessário para processar respostas).
Para instalar o SDK:
git clone https://github.com/EricksonLOOP/abacatepay-sdk-lua.git
cd abacatepay-sdk-lua
instale as dependências:
luarocks install luasocket
luarocks install dkjson # Opcional, se usar JSON
Para configurar o SDK, defina a URL base da API e a chave de API fornecida pela AbacatePay:
local SDK = require("src.Init")
SDK.Config:set("https://api.abacatepay.com/", "sua_chave_de_api")
local SDK= require("src.Init")
SDK.Config:set("https://api.abacatepay.com/", "sua_chave_de_api")
local req_body = "name=John Doe&cellphone=1234567890&[email protected]&taxId=123456789" -- AbacatePayClientRequest
local res = SDK.Client.createNewClient(req_body, SDK.Config:get())
print(res)
local SDK= require("src.Init")
SDK.Config:set("https://api.abacatepay.com/", "sua_chave_de_api")
local res = SDK.Client.listClients(SDK.Config:get()) -- Array -> AbacatePayClientResponse
print(res)
local SDK= require("src.Init")
SDK.Config:set("https://api.abacatepay.com/", "sua_chave_de_api")
-- req_body = AbacatePayBillingRequest
local res = SDK.Billing.createNewBilling(req_body, SDK.Config:get())
print(res)
local SDK= require("src.Init")
SDK.Config:set("https://api.abacatepay.com/", "sua_chave_de_api")
local res = SDK.Billing.listBilling(SDK.Config:get()) -- Array -> AbacatePayBillingResponse
print(res)
Se você deseja contribuir com o projeto, faça um fork deste repositório, crie uma branch, faça suas alterações e envie um pull request.