asaas-client
v1.0.7
Published
Unofficial Asaas Payment Gateway SDK
Downloads
26
Maintainers
Readme
Unofficial Asaas Payment Gateway SDK
❗SDK and documentation under development.
A simple sdk made to abstract most of the Asaas payment gateway api requests.
last update: 01/09/2023 Items updated:
- Documentation URL (Developer Center)
- new API URL
- Subscriptions
- Starting API Tests with Jest
Author
Reference
Features
- [x] Customers (Customers Documentation)
- [x] Payments (Payments Documentation)
- [x] Installments (Installments Documentation)
- [x] Subscriptions (Subscriptions Documentation)
- [ ] Payment Links (soon) (Payment Links Documentation)
SDK Documentation
Get Start
Import the package and instantitate a new Client:
import { AsaasClient } from 'asaas';
const asaas = new AsaasClient(process.env.ASAAS_API_KEY);
Authentication
Every request to the Asaas API needs an API Key, which must be passed as the first parameter in the constructor. To obtain your API Key, access the Integration Tab in the Account Settings area.
Optionally you can set base url, enable sandbox mode and set sandbox mode base url.
import { AsaasClient } from 'asaas';
//Instantiate a new client
const asaas = new AsaasClient(process.env.ASAAS_API_KEY, {
//baseUrl?: string (default: https://api.asaas.com/v3);
//sandbox?: boolean;
//sandboxUrl?: string (default: https://sandbox.asaas.com/api/v3);
});
Sandbox Mode
To enable Sandbox Mode, pass to the client's constructor, as the second parameter, an object with sandbox
information as true
. The default sandbox URL is https://sandbox.asaas.com/api/v3
import { AsaasClient } from 'asaas';
const asaas = new AsaasClient(process.env.ASAAS_API_KEY, {
sandbox: true;
//sandboxUrl?: string (default: https://sandbox.asaas.com/api/v3);
//baseUrl?: string (default: https://api.asaas.com/v3);
});
Customers
Return all customers
Returns customers. Filters can be applied, passing an object with the items allowed in the official documentation.
import { AsaasClient } from 'asaas';
const asaas = new AsaasClient(process.env.ASAAS_API_KEY, {
// sandbox: boolean;
//sandboxUrl?: string (default: https://sandbox.asaas.com/api/v3);
//baseUrl?: string (default: https://api.asaas.com/v3);
});
//It lists all registered customers and makes a filter by email.
await asaas.customers.list({
email: "[email protected]"
});
| Parameter | Type | Description |
| :---------- | :--------- | :---------------------------------- |
| name
| string
| Filter by Name.|
| email
| string
| Filter by Email.|
| cpfCnpj
| string
| Filter by CPF or CNPJ.|
| groupName
| string
| Filter by Group.|
| externalReference
| string
| Filter by External Reference.|
| offset
| number
| Offset of search.|
| limit
| number
| Limit of results.|
Return customer by ID
import { AsaasClient } from 'asaas';
const asaas = new AsaasClient(process.env.ASAAS_API_KEY, {
// sandbox: boolean;
//sandboxUrl?: string (default: https://sandbox.asaas.com/api/v3);
//baseUrl?: string (default: https://api.asaas.com/v3);
});
//It returns a customer by ID.
await asaas.customers.getById("cus_123abcde456");
| Parameter | Type | Description |
| :---------- | :--------- | :------------------------------------------ |
| id
| string
| Required. Customer ID |
Payments
Return all payments
Returns payments. Filters can be applied, passing an object with the items allowed in the official documentation.
import { AsaasClient } from 'asaas';
const asaas = new AsaasClient(process.env.ASAAS_API_KEY, {
// sandbox: boolean;
//sandboxUrl?: string (default: https://sandbox.asaas.com/api/v3);
//baseUrl?: string (default: https://api.asaas.com/v3);
});
//It lists all registered payments and makes a filter by customer ID.
await asaas.payments.list({
customer: "cus_123abcde456"
});
| Parameter | Type | Description |
| :---------- | :--------- | :---------------------------------- |
| customer
| string
| Filter by Customer ID.|
| customerGroupName
| string
| Filter by Customer group name.|
| billingType
| string
| Filter by Billing Type.|
| status
| string
| Filter by Status.|
| subscription
| string
| Filter by Subscription ID.|
| installment
| string
| Filter by Installment ID.|
| externalReference
| string
| Filter by External Reference.|
| paymentDate
| string
| Filter by Payment Date.|
| estimatedCreditDate
| string
| Filter by Estimated Credit Date.|
| pixQrCodeId
| string
| Filter by Static Pix QR Code ID.|
| anticipated
| boolean
| Filter by Antecipated status.|
| "dateCreated[ge]"
| string
| Filter by Initial Date Created.|
| "dateCreated[le]"
| string
| Filter by End Date Created.|
| "paymentDate[ge]"
| string
| Filter by Initial Payment Date.|
| "paymentDate[le]"
| string
| Filter by End Payment Date.|
| "estimatedCreditDate[ge]"
| string
| Filter by Initial Estimated Credit Date.|
| "estimatedCreditDate[le]"
| string
| Filter by End Estimated Credit Date.|
| "dueDate[ge]"
| string
| Filter by Initial Due Date.|
| "dueDate[le]"
| string
| Filter by End Due Date.|
| user
| string
| Filter by the Email address of the user who created the charge.|
| offset
| number
| Offset of search.|
| limit
| number
| Limit of results.|
Return payment by ID
import { AsaasClient } from 'asaas';
const asaas = new AsaasClient(process.env.ASAAS_API_KEY, {
// sandbox: boolean;
//sandboxUrl?: string (default: https://sandbox.asaas.com/api/v3);
//baseUrl?: string (default: https://api.asaas.com/v3);
});
//It returns a payment object by ID.
await asaas.payments.getById("pay_0802152313252");
| Parameter | Type | Description |
| :---------- | :--------- | :------------------------------------------ |
| id
| string
| Required. Payment ID |
Subscriptions
Return all subscriptions
Returns subscriptions. Filters can be applied, passing an object with the items allowed in the official documentation.
import { AsaasClient } from 'asaas';
const asaas = new AsaasClient(process.env.ASAAS_API_KEY, {
// sandbox: boolean;
//sandboxUrl?: string (default: https://sandbox.asaas.com/api/v3);
//baseUrl?: string (default: https://api.asaas.com/v3);
});
//List subscriptions for a specific customer ID.
await asaas.subscriptions.list({
customer: "cus_123abcde456"
});
Contributing
Do you want to contribute? Found a bug? Feel free :)