sdk-node-apis-efi
Version:
Module for integration with Efi Bank API
3,195 lines • 92.8 kB
TypeScript
export class CobrancasMethods extends ExtratosMethods {
/**
* **POST /v1/charge/one-step**
*
* Criação de transação em One Step (Um passo)
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* Obs: Para Pessoa Jurídica não serão obrigatórios o nome e CPF, apenas os demais dados do cliente contidos em juridical_person
*
* Obs: Caso utilize o campo configurations interest, se optar por utilizar apenas o valor, o tipo será considerado como "daily"
*
* @param { {} } params
* @param { {
* items: Array<{
* name: string,
* value: number,
* amount: number,
* marketplace?: {
* mode?: string,
* repasses: Array<{
* payee_code: string,
* percentage?: number,
* fixed?: number
* }>
* }
* }>,
* shippings?: Array<{
* name: string,
* value: number,
* payee_code?: string
* }>,
* metadata?: {
* custom_id?: string,
* notification_url?: string
* },
* payment: {
* banking_billet?: {
* customer: {
* name?: string,
* cpf?: string,
* email?: string,
* phone_number?: string,
* birth?: string,
* address?: {
* street: string,
* number: string,
* neighborhood: string,
* zipcode: string,
* city: string,
* complement?: string,
* state: string
* },
* juridical_person?: {
* corporate_name: string,
* cnpj: string
* }
* },
* expire_at: string,
* discount?: {
* type: 'percentage' | 'currency',
* value: number
* },
* conditional_discount?: {
* type: 'percentage' | 'currency',
* value: number,
* until_date: string
* },
* configurations?: {
* days_to_write_off?: number,
* fine?: number,
* interest?: {
* value: number,
* type: 'monthly' | 'daily'
* } | number
* },
* message?: string
* },
* credit_card?: {
* customer: {
* name: string,
* cpf: string,
* email: string,
* phone_number?: string,
* birth?: string,
* address?: {
* street: string,
* number: string,
* neighborhood: string,
* zipcode: string,
* city: string,
* complement?: string,
* state: string
* },
* juridical_person?: {
* corporate_name: string,
* cnpj: string
* }
* },
* installments: number,
* discount?: {
* type: 'percentage' | 'currency',
* value: number
* },
* billing_address?: {
* street: string,
* number: string,
* neighborhood: string,
* zipcode: string,
* city: string,
* complement?: string,
* state: string
* },
* payment_token: string,
* message?: string
* }
* }
* } } body
*
* @returns {Promise<{
* code: number,
* data: {
* charge_id: number,
* total: number,
* status: string,
* barcode?: string,
* pix?: {
* qrcode: string,
* qrcode_image: string
* }
* link?: string,
* billet_link?: string,
* pdf?: {
* charge: string
* },
* expire_at?: string,
* installments?: number,
* installment_value?: number,
* refusal?: {
* reason: string,
* retry: boolean
* }
* payment: string,
* }
* }>}
*/
createOneStepCharge(params: {}, body: {
items: Array<{
name: string;
value: number;
amount: number;
marketplace?: {
mode?: string;
repasses: Array<{
payee_code: string;
percentage?: number;
fixed?: number;
}>;
};
}>;
shippings?: Array<{
name: string;
value: number;
payee_code?: string;
}>;
metadata?: {
custom_id?: string;
notification_url?: string;
};
payment: {
banking_billet?: {
customer: {
name?: string;
cpf?: string;
email?: string;
phone_number?: string;
birth?: string;
address?: {
street: string;
number: string;
neighborhood: string;
zipcode: string;
city: string;
complement?: string;
state: string;
};
juridical_person?: {
corporate_name: string;
cnpj: string;
};
};
expire_at: string;
discount?: {
type: 'percentage' | 'currency';
value: number;
};
conditional_discount?: {
type: 'percentage' | 'currency';
value: number;
until_date: string;
};
configurations?: {
days_to_write_off?: number;
fine?: number;
interest?: {
value: number;
type: 'monthly' | 'daily';
} | number;
};
message?: string;
};
credit_card?: {
customer: {
name: string;
cpf: string;
email: string;
phone_number?: string;
birth?: string;
address?: {
street: string;
number: string;
neighborhood: string;
zipcode: string;
city: string;
complement?: string;
state: string;
};
juridical_person?: {
corporate_name: string;
cnpj: string;
};
};
installments: number;
discount?: {
type: 'percentage' | 'currency';
value: number;
};
billing_address?: {
street: string;
number: string;
neighborhood: string;
zipcode: string;
city: string;
complement?: string;
state: string;
};
payment_token: string;
message?: string;
};
};
}): Promise<{
code: number;
data: {
charge_id: number;
total: number;
status: string;
barcode?: string;
pix?: {
qrcode: string;
qrcode_image: string;
};
link?: string;
billet_link?: string;
pdf?: {
charge: string;
};
expire_at?: string;
installments?: number;
installment_value?: number;
refusal?: {
reason: string;
retry: boolean;
};
payment: string;
};
}>;
/**
* **POST /v1/charge**
*
* Criar transação
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { {} } params
* @param { {
* items: Array<{
* name: string,
* value: number,
* amount: number,
* marketplace?: {
* payee_code: string,
* percentage?: number
* }
* }>,
* shippings?: Array<{
* name: string,
* value: number,
* payee_code?: string
* }>,
* metadata?: {
* custom_id?: string,
* notification_url?: string
* }
* } } body
*
* @returns {Promise<{
* code: number,
* data: {
* charge_id: number,
* total: number,
* status: string,
* custom_id: string | null,
* created_at: string,
* }
* }>}
*/
createCharge(params: {}, body: {
items: Array<{
name: string;
value: number;
amount: number;
marketplace?: {
payee_code: string;
percentage?: number;
};
}>;
shippings?: Array<{
name: string;
value: number;
payee_code?: string;
}>;
metadata?: {
custom_id?: string;
notification_url?: string;
};
}): Promise<{
code: number;
data: {
charge_id: number;
total: number;
status: string;
custom_id: string | null;
created_at: string;
};
}>;
/**
* **POST /v1/charge/:id/pay**
*
* Associar à forma de pagamento
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* Obs: Para Pessoa Jurídica não serão obrigatórios o nome e CPF, apenas os demais dados do cliente contidos em juridical_person
*
* Obs: Caso utilize o campo configurations interest, se optar por utilizar apenas o valor, o tipo será considerado como "daily"
*
* @param { { id: number } } params
* @param { {
* payment: {
* banking_billet?: {
* customer: {
* name?: string,
* cpf?: string,
* email: string,
* phone_number?: string,
* birth?: string,
* address: {
* street: string,
* number: string,
* neighborhood: string,
* zipcode: string,
* city: string,
* complement?: string,
* state: string
* },
* juridical_person?: {
* corporate_name: string,
* cnpj: string
* }
* },
* expire_at: string,
* discount?: {
* type: 'percentage' | 'currency',
* value: number
* },
* conditional_discount?: {
* type: 'percentage' | 'currency',
* value: number,
* until_date: string
* },
* configurations?: {
* days_to_write_off?: number,
* fine?: number,
* interest?: {
* value: number,
* type: 'monthly' | 'daily'
* } | number
* },
* message?: string
* },
* credit_card?: {
* customer: {
* name?: string,
* cpf?: string,
* email: string,
* phone_number?: string,
* birth?: string,
* address: {
* street: string,
* number: string,
* neighborhood: string,
* zipcode: string,
* city: string,
* complement?: string,
* state: string
* },
* juridical_person?: {
* corporate_name: string,
* cnpj: string
* }
* },
* installments: number,
* discount?: {
* type: 'percentage' | 'currency',
* value: number
* },
* billing_address: {
* street: string,
* number: string,
* neighborhood: string,
* zipcode: string,
* city: string,
* complement?: string,
* state: string
* },
* payment_token: string,
* message?: string
* }
* }
* } } body
*
* @returns {Promise<{
* code: number,
* data: {
* charge_id: number,
* total: number,
* status: string,
* reason?: string | null,
* payment: string
* barcode: string,
* pix?: {
* qrcode: string,
* qrcode_image: string
* },
* link?: string,
* pdf?: {
* charge: string
* },
* expire_at?: string,
* configurations?: {
* days_to_write_off: number,
* interest_type?: 'monthly'| 'daily',
* interest?: number,
* fine?: number
* }
* installments?: number,
* installment_value?: number
* }
* }>}
*/
definePayMethod(params: {
id: number;
}, body: {
payment: {
banking_billet?: {
customer: {
name?: string;
cpf?: string;
email: string;
phone_number?: string;
birth?: string;
address: {
street: string;
number: string;
neighborhood: string;
zipcode: string;
city: string;
complement?: string;
state: string;
};
juridical_person?: {
corporate_name: string;
cnpj: string;
};
};
expire_at: string;
discount?: {
type: 'percentage' | 'currency';
value: number;
};
conditional_discount?: {
type: 'percentage' | 'currency';
value: number;
until_date: string;
};
configurations?: {
days_to_write_off?: number;
fine?: number;
interest?: {
value: number;
type: 'monthly' | 'daily';
} | number;
};
message?: string;
};
credit_card?: {
customer: {
name?: string;
cpf?: string;
email: string;
phone_number?: string;
birth?: string;
address: {
street: string;
number: string;
neighborhood: string;
zipcode: string;
city: string;
complement?: string;
state: string;
};
juridical_person?: {
corporate_name: string;
cnpj: string;
};
};
installments: number;
discount?: {
type: 'percentage' | 'currency';
value: number;
};
billing_address: {
street: string;
number: string;
neighborhood: string;
zipcode: string;
city: string;
complement?: string;
state: string;
};
payment_token: string;
message?: string;
};
};
}): Promise<{
code: number;
data: {
charge_id: number;
total: number;
status: string;
reason?: string | null;
payment: string;
barcode: string;
pix?: {
qrcode: string;
qrcode_image: string;
};
link?: string;
pdf?: {
charge: string;
};
expire_at?: string;
configurations?: {
days_to_write_off: number;
interest_type?: 'monthly' | 'daily';
interest?: number;
fine?: number;
};
installments?: number;
installment_value?: number;
};
}>;
/**
* **GET /v1/charge/:id**
*
* Retornar informações de transação existente
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
*
* @returns {Promise<{
* code: number,
* data: {
* charge_id: number,
* total: number,
* status: string,
* reason?: string,
* custom_id: string | null,
* created_at: string,
* notification_url: string | null,
* items: Array<{
* name: string,
* value: number,
* amount: number
* }>,
* shippings?: Array<{
* name: string,
* value: number,
* payee_code: string
* }>,
* history: Array<{
* message: string,
* created_at: string
* }>,
* customer?: {
* name: string | null,
* cpf: string | null,
* birth?: string,
* email?: string,
* phone_number?: string,
* address?: {
* street: string,
* number: string,
* complement: string | null,
* neighborhood: string,
* city: string,
* state: string,
* zipcode: string
* }
* },
* payment?: {
* method: string,
* created_at: string,
* message: string | null,
* banking_billet?: {
* barcode: string,
* pix?: {
* qrcode: string,
* qrcode_image: string
* },
* link: string,
* pdf: {
* charge: string
* },
* expire_at: string
* },
* credit_card?: {
* mask: string,
* installments: number,
* installment_value: number,
* address: {
* street: string,
* number: string,
* complement: string | null,
* neighborhood: string,
* city: string,
* state: string,
* zipcode: string
* }
* },
* carnet?: {
* parcel: number,
* barcode: string,
* pix?: {
* qrcode: string,
* qrcode_image: string
* },
* url: string,
* parcel_link: string,
* pdf: {
* charge: string
* },
* expire_at: string,
* configurations?: {
* days_to_write_off?: number,
* interest_type?: 'monthly' | 'daily',
* interest?: number,
* fine?: number
* }
* }
* },
* link?: {
* billet_discount: number | null,
* card_discount: number | null,
* conditional_discount_value: number | null,
* conditional_discount_type: string | null,
* conditional_discount_date: string | null,
* message: string | null,
* expire_at: string,
* request_delivery_address: boolean,
* payment_method: string,
* payment_url: string
* }
* }
* }>}
*/
detailCharge(params: {
id: number;
}): Promise<{
code: number;
data: {
charge_id: number;
total: number;
status: string;
reason?: string;
custom_id: string | null;
created_at: string;
notification_url: string | null;
items: Array<{
name: string;
value: number;
amount: number;
}>;
shippings?: Array<{
name: string;
value: number;
payee_code: string;
}>;
history: Array<{
message: string;
created_at: string;
}>;
customer?: {
name: string | null;
cpf: string | null;
birth?: string;
email?: string;
phone_number?: string;
address?: {
street: string;
number: string;
complement: string | null;
neighborhood: string;
city: string;
state: string;
zipcode: string;
};
};
payment?: {
method: string;
created_at: string;
message: string | null;
banking_billet?: {
barcode: string;
pix?: {
qrcode: string;
qrcode_image: string;
};
link: string;
pdf: {
charge: string;
};
expire_at: string;
};
credit_card?: {
mask: string;
installments: number;
installment_value: number;
address: {
street: string;
number: string;
complement: string | null;
neighborhood: string;
city: string;
state: string;
zipcode: string;
};
};
carnet?: {
parcel: number;
barcode: string;
pix?: {
qrcode: string;
qrcode_image: string;
};
url: string;
parcel_link: string;
pdf: {
charge: string;
};
expire_at: string;
configurations?: {
days_to_write_off?: number;
interest_type?: 'monthly' | 'daily';
interest?: number;
fine?: number;
};
};
};
link?: {
billet_discount: number | null;
card_discount: number | null;
conditional_discount_value: number | null;
conditional_discount_type: string | null;
conditional_discount_date: string | null;
message: string | null;
expire_at: string;
request_delivery_address: boolean;
payment_method: string;
payment_url: string;
};
};
}>;
/**
* **GET /v1/charges**
*
* Retornar lista de cobranças
*
* Este endpoint possui filtros para afunilar os resultados da busca, tais como CPF/CNPJ e status.
* Dentre todos os filtros disponíveis, os filtros charge_type, begin_date e end_date são obrigatórios e representam o tipo da transação e o intervalo de datas em que as cobranças consultadas devem estar compreendidas.
*
* @param {{
* begin_date: string,
* end_date: string,
* charge_type: 'billet' | 'card' | 'carnet' | 'subscription',
* status?: 'new' | 'waiting' | 'link' | 'paid' | 'unpaid' | 'canceled' | 'identified' | 'settled'
* date_of?: 'creation' | 'payment' | 'expired',
* customer_document?: string,
* custom_id?: string,
* value?: number,
* limit?: number,
* page?: number,
* offset?: number
* }} params
*
* @returns {Promise<{
* code: number,
* data: Array<{
* id: number,
* total: number,
* status: string,
* custom_id: string | null,
* created_at: string,
* customer: {
* phone_number: string | null,
* cnpj?: string,
* cpf?: string
* name?: string
* corporate_name?: string
* },
* payment?: {
* payment_method: string,
* paid_at: string | null,
* pix?: {
* qrcode: string,
* qrcode_image: string
* }
* banking_billet?: {
* barcode: string,
* link: string,
* expire_at: string
* pdf: {
* charge: string
* }
* },
* carnet?: {
* parcel: number,
* barcode: string,
* expire_at: string,
* link: string,
* configurations: {
* days_to_write_off: number,
* interest_type?: 'monthly' | 'daily',
* interest: number,
* fine: number
* }
* pdf: {
* charge: string
* },
* }
* },
* link?: {
* billet_discount: number | null,
* card_discount: number | null,
* conditional_discount_value: number | null,
* conditional_discount_type: 'percentage' | 'currency' | null,
* conditional_discount_date: string | null,
* message: string | null,
* expire_at: string,
* request_delivery_address: boolean,
* payment_method: 'banking_billet' | 'credit_card' | 'all',
* payment_url: string
* }
* }>
* >}
*/
listCharges(params: {
begin_date: string;
end_date: string;
charge_type: 'billet' | 'card' | 'carnet' | 'subscription';
status?: 'new' | 'waiting' | 'link' | 'paid' | 'unpaid' | 'canceled' | 'identified' | 'settled';
date_of?: 'creation' | 'payment' | 'expired';
customer_document?: string;
custom_id?: string;
value?: number;
limit?: number;
page?: number;
offset?: number;
}): Promise<{
code: number;
data: Array<{
id: number;
total: number;
status: string;
custom_id: string | null;
created_at: string;
customer: {
phone_number: string | null;
cnpj?: string;
cpf?: string;
name?: string;
corporate_name?: string;
};
payment?: {
payment_method: string;
paid_at: string | null;
pix?: {
qrcode: string;
qrcode_image: string;
};
banking_billet?: {
barcode: string;
link: string;
expire_at: string;
pdf: {
charge: string;
};
};
carnet?: {
parcel: number;
barcode: string;
expire_at: string;
link: string;
configurations: {
days_to_write_off: number;
interest_type?: 'monthly' | 'daily';
interest: number;
fine: number;
};
pdf: {
charge: string;
};
};
};
link?: {
billet_discount: number | null;
card_discount: number | null;
conditional_discount_value: number | null;
conditional_discount_type: 'percentage' | 'currency' | null;
conditional_discount_date: string | null;
message: string | null;
expire_at: string;
request_delivery_address: boolean;
payment_method: 'banking_billet' | 'credit_card' | 'all';
payment_url: string;
};
}>;
}>;
/**
* **PUT /v1/charge/:id/metadata**
*
* Incluir "notification_url" e "custom_id" em uma transação existente
*
* - O atributo `resend` diz se será realizado o reenvio da notificação após a alteração ser aplicada.
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { {
* notification_url?: string,
* custom_id?: string,
* resend?: boolean
* } } body
*
* @returns {Promise<{
* code: number,
* }>}
*/
updateChargeMetadata(params: {
id: number;
}, body: {
notification_url?: string;
custom_id?: string;
resend?: boolean;
}): Promise<{
code: number;
}>;
/**
* **PUT /v1/charge/:id/billet**
*
* Altera a data de vencimento de uma transação existente.
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* Obs: A nova data de vencimento deve ser pelo menos maior que a data atual.
*
* @param { { id: number } } params
* @param { { expire_at: string }} body
*
* @returns {Promise<{
* code: number,
* }>}
*/
updateBillet(params: {
id: number;
}, body: {
expire_at: string;
}): Promise<{
code: number;
}>;
/**
* **PUT /v1/charge/:id/cancel**
*
* Cancela uma transação existente
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
*
* @returns {Promise<{
* code: number,
* }>}
*/
cancelCharge(params: {
id: number;
}): Promise<{
code: number;
}>;
/**
* **POST /v1/charge/:id/billet/resend**
*
* Reenvio do boleto bancário para o email desejado
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { { email: string }} body
*
* @returns {Promise<{
* code: number,
* }>}
*/
sendBilletEmail(params: {
id: number;
}, body: {
email: string;
}): Promise<{
code: number;
}>;
/**
* **POST /v1/charge/:id/history**
*
* Acrescentar descrição ao histórico de uma transação
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { { description: string }} body
*
* @returns {Promise<{
* code: number,
* }>}
*/
createChargeHistory(params: {
id: number;
}, body: {
description: string;
}): Promise<{
code: number;
}>;
/**
* **POST /v1/charge/:id/balance-sheet**
*
* Define que a transação será do tipo boleto balancete.
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { {
* title: string,
* body: Array<{
* header: string,
* tables: Array<{
* rows: Array<Array<{
* align: string,
* color: string,
* style: string,
* text: string,
* colspan: number
* }>>
* }>
* }>
* } } body
*
* @returns {Promise<{
* code: number,
* }>}
*/
defineBalanceSheetBillet(params: {
id: number;
}, body: {
title: string;
body: Array<{
header: string;
tables: Array<{
rows: Array<Array<{
align: string;
color: string;
style: string;
text: string;
colspan: number;
}>>;
}>;
}>;
}): Promise<{
code: number;
}>;
/**
* **PUT /v1/charge/:id/settle**
*
* Marcar como pago (baixa manual) uma determinada transação
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
*
* @returns {Promise<{
* code: number,
* }>}
*/
settleCharge(params: {
id: number;
}): Promise<{
code: number;
}>;
/**
* **POST /v1/charge/:id/retry**
*
* Retentativa de pagamento via cartão de crédito
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* Obs: Para Pessoa Jurídica não serão obrigatórios o nome e CPF, apenas os demais dados do cliente contidos em juridical_person
*
* @param { { id: number } } params
* @param { {
* payment: {
* credit_card: {
* customer: {
* name?: string,
* cpf?: string,
* email: string,
* birth: string,
* phone_number?: string,
* juridical_person?: {
* corporate_name: string,
* cnpj: string
* }
* },
* billing_address: {
* street: string,
* number: string,
* neighborhood: string,
* zipcode: string,
* city: string,
* complement: string,
* state: string
* },
* payment_token: string
* }
* }
* } } body
*
* @returns {Promise<{
* code: number,
* data: {
* installments: number,
* installment_value: number,
* charge_id: number,
* status: string,
* total: number,
* payment: string
* }
* }>}
*/
cardPaymentRetry(params: {
id: number;
}, body: {
payment: {
credit_card: {
customer: {
name?: string;
cpf?: string;
email: string;
birth: string;
phone_number?: string;
juridical_person?: {
corporate_name: string;
cnpj: string;
};
};
billing_address: {
street: string;
number: string;
neighborhood: string;
zipcode: string;
city: string;
complement: string;
state: string;
};
payment_token: string;
};
};
}): Promise<{
code: number;
data: {
installments: number;
installment_value: number;
charge_id: number;
status: string;
total: number;
payment: string;
};
}>;
/**
* **POST /v1/charge/card/:id/refund**
*
* Estorno de pagamento via cartão de crédito
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { { amount?: number } } body
*
* @returns {Promise<{
* code: number,
* message: string,
* }>}
*/
refundCard(params: {
id: number;
}, body: {
amount?: number;
}): Promise<{
code: number;
message: string;
}>;
/**
* **GET /v1/installments**
*
* Listar parcelas de acordo com a bandeira do cartão
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { {
* total: number,
* brand: 'visa' | 'mastercard' | 'amex' | 'elo' | 'hipercard'
* } } params
*
* @returns {Promise<{
* code: number,
* data: {
* rate: number,
* name: string,
* installments: Array<{
* installment: number,
* has_interest: boolean,
* value: number,
* currency: string,
* interest_percentage: number
* }>
* }
* }>}
*/
getInstallments(params: {
total: number;
brand: 'visa' | 'mastercard' | 'amex' | 'elo' | 'hipercard';
}): Promise<{
code: number;
data: {
rate: number;
name: string;
installments: Array<{
installment: number;
has_interest: boolean;
value: number;
currency: string;
interest_percentage: number;
}>;
};
}>;
/**
* **POST /v1/carnet**
*
* Cria um novo carnê.
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* Obs: Para Pessoa Jurídica não serão obrigatórios o nome e CPF, apenas os demais dados do cliente contidos em juridical_person
*
* @param { {} } params
* @param { {
* items: Array<{
* name: string,
* value: number,
* amount: number
* }>,
* customer: {
* name?: string,
* cpf?: string,
* email?: string,
* phone_number?: string,
* birth?: string,
* address?: {
* street: string,
* number: string,
* neighborhood: string,
* zipcode: string,
* city: string,
* complement?: string,
* state: string
* },
* juridical_person?: {
* corporate_name: string,
* cnpj: string
* }
* },
* expire_at: string,
* repeats: number,
* split_items?: boolean,
* metadata?: {
* custom_id?: string,
* notification_url?: string
* },
* configurations?: {
* fine?: number,
* interest?: {
* value: number,
* type: 'monthly' | 'daily'
* } | number
* },
* message?: string,
* discount?: {
* type: 'percentage' | 'currency',
* value: number
* },
* conditional_discount?: {
* type: 'percentage' | 'currency',
* value: number,
* until_date: string
* }
* } } body
*
* @returns {Promise<{
* code: number,
* data: {
* carnet_id: number,
* status: string,
* cover: string,
* link: string,
* carnet_link: string,
* pdf: {
* carnet: string,
* cover: string
* },
* charges: Array<{
* charge_id: number,
* parcel: string,
* status: string,
* value: number,
* expire_at: string,
* url: string,
* parcel_link: string,
* pdf: {
* charge: string
* },
* barcode: string,
* pix?: {
* qrcode: string,
* qrcode_image: string
* }
* }>
* }
* }>}
*/
createCarnet(params: {}, body: {
items: Array<{
name: string;
value: number;
amount: number;
}>;
customer: {
name?: string;
cpf?: string;
email?: string;
phone_number?: string;
birth?: string;
address?: {
street: string;
number: string;
neighborhood: string;
zipcode: string;
city: string;
complement?: string;
state: string;
};
juridical_person?: {
corporate_name: string;
cnpj: string;
};
};
expire_at: string;
repeats: number;
split_items?: boolean;
metadata?: {
custom_id?: string;
notification_url?: string;
};
configurations?: {
fine?: number;
interest?: {
value: number;
type: 'monthly' | 'daily';
} | number;
};
message?: string;
discount?: {
type: 'percentage' | 'currency';
value: number;
};
conditional_discount?: {
type: 'percentage' | 'currency';
value: number;
until_date: string;
};
}): Promise<{
code: number;
data: {
carnet_id: number;
status: string;
cover: string;
link: string;
carnet_link: string;
pdf: {
carnet: string;
cover: string;
};
charges: Array<{
charge_id: number;
parcel: string;
status: string;
value: number;
expire_at: string;
url: string;
parcel_link: string;
pdf: {
charge: string;
};
barcode: string;
pix?: {
qrcode: string;
qrcode_image: string;
};
}>;
};
}>;
/**
* **GET /v1/carnet/:id**
*
* Obtém os detalhes de um carnê específico.
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
*
* @returns {Promise<{
* code: number,
* data: {
* carnet_id: number,
* status: string,
* repeats: number,
* cover: string,
* link: string,
* pdf: {
* carnet: string,
* cover: string
* },
* value: number,
* custom_id: string | null,
* notification_url: string | null,
* split_items: boolean,
* charges: Array<{
* charge_id: number,
* status: string,
* url: string,
* pdf: {
* charge: string
* },
* barcode: string,
* pix: {
* qrcode: string,
* qrcode_image: string
* },
* parcel: number,
* expire_at: string,
* configurations?: {
* days_to_write_off?: number,
* interest_type?: 'monthly' | 'daily',
* interest?: number,
* fine?: number
* }
* }>,
* created_at: string,
* history: Array<{
* message: string,
* created_at: string
* }>
* }
* }>}
*/
detailCarnet(params: {
id: number;
}): Promise<{
code: number;
data: {
carnet_id: number;
status: string;
repeats: number;
cover: string;
link: string;
pdf: {
carnet: string;
cover: string;
};
value: number;
custom_id: string | null;
notification_url: string | null;
split_items: boolean;
charges: Array<{
charge_id: number;
status: string;
url: string;
pdf: {
charge: string;
};
barcode: string;
pix: {
qrcode: string;
qrcode_image: string;
};
parcel: number;
expire_at: string;
configurations?: {
days_to_write_off?: number;
interest_type?: 'monthly' | 'daily';
interest?: number;
fine?: number;
};
}>;
created_at: string;
history: Array<{
message: string;
created_at: string;
}>;
};
}>;
/**
* **PUT /v1/carnet/:id/metadata**
*
* Incluir "notification_url" e "custom_id" em um carnê existente
*
* - O atributo `resend` diz se será realizado o reenvio da notificação após a alteração ser aplicada.
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { {
* notification_url?: string,
* custom_id?: string,
* resend?: boolean
* } } body
*
* @returns {Promise<{
* code: number,
* }>}
*/
updateCarnetMetadata(params: {
id: number;
}, body: {
notification_url?: string;
custom_id?: string;
resend?: boolean;
}): Promise<{
code: number;
}>;
/**
* **PUT /v1/carnet/:id/parcel/:parcel**
*
* Alterar vencimento de parcela específica do carnê
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { {
* id: number,
* parcel: number,
* } } params
* @param {{
* expire_at: string
* }} body
*
* @returns {Promise<{
* code: number,
* }>}
*/
updateCarnetParcel(params: {
id: number;
parcel: number;
}, body: {
expire_at: string;
}): Promise<{
code: number;
}>;
/**
* **PUT /v1/carnet/:id/parcels**
*
* Alterar vencimento de parcelas de um carnê
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param {{
* expire_at: string
* }} body
*
* @returns {Promise<{
* code: number,
* }>}
*/
updateCarnetParcels(params: {
id: number;
}, body: {
expire_at: string;
}): Promise<{
code: number;
}>;
/**
* **PUT /v1/carnet/:id/cancel**
*
* Cancelar um carnê
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
*
* @returns {Promise<{
* code: number,
* }>}
*/
cancelCarnet(params: {
id: number;
}): Promise<{
code: number;
}>;
/**
* **PUT /v1/carnet/:id/parcel/:parcel/cancel**
*
* Cancelar parcela específica de carnê
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { {
* id: number,
* parcel: number
* } } params
*
* @returns {Promise<{
* code: number,
* }>}
*/
cancelCarnetParcel(params: {
id: number;
parcel: number;
}): Promise<{
code: number;
}>;
/**
* **POST /v1/carnet/:id/resend**
*
* Reenvio do carnê para o email desejado
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { { email: string } } body
*
* @returns {Promise<{
* code: number,
* }>}
*/
sendCarnetEmail(params: {
id: number;
}, body: {
email: string;
}): Promise<{
code: number;
}>;
/**
* **POST /v1/carnet/:id/parcel/:parcel/resend**
*
* Reenvio de uma parcela específica de carnê por e-mail
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { {
* id: number,
* parcel: number
* } } params
* @param { { email: string } } body
*
* @returns {Promise<{
* code: number,
* }>}
*/
sendCarnetParcelEmail(params: {
id: number;
parcel: number;
}, body: {
email: string;
}): Promise<{
code: number;
}>;
/**
* **POST /v1/carnet/:id/history**
*
* Acrescentar descrição ao histórico de uma transação
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { {
* description: string
* } } body
*
* @returns {Promise<{
* code: number,
* }>}
*/
createCarnetHistory(params: {
id: number;
}, body: {
description: string;
}): Promise<{
code: number;
}>;
/**
* **PUT /v1/carnet/:id/settle**
*
* Marcar como pago (baixa manual) um determinado carnê
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
*
* @returns {Promise<{
* code: number,
* }>}
*/
settleCarnet(params: {
id: number;
}): Promise<{
code: number;
}>;
/**
* **PUT /v1/carnet/:id/parcel/:parcel/settle**
*
* Marcar como pago determinada parcela de carnê
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { {
* id: number,
* parcel: number
* } } params
*
* @returns {Promise<{
* code: number,
* }>}
*/
settleCarnetParcel(params: {
id: number;
parcel: number;
}): Promise<{
code: number;
}>;
/**
* **POST /v1/plan**
*
* Crie o plano de assinatura
*
* - `name` - Nome do plano de assinatura;
* - `interval` (em meses) - Periodicidade da cobrança (por exemplo, 1 para mensal);
* - `repeats` - Quantas cobranças devem ser geradas para esse plano. Se nada for enviado, a cobrança é gerada por tempo indeterminado ou até que o plano seja cancelado.
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { {} } params
* @param { {
* name: string,
* interval: number,
* repeats?: number
* } } body
*
* @returns {Promise<{
* code: number,
* data: {
* plan_id: number,
* name: string,
* interval: number,
* repeats: number | null,
* created_at: string
* }
* }>}
*/
createPlan(params: {}, body: {
name: string;
interval: number;
repeats?: number;
}): Promise<{
code: number;
data: {
plan_id: number;
name: string;
interval: number;
repeats: number | null;
created_at: string;
};
}>;
/**
* **GET /v1/plans**
*
* Obtém a lista de planos de assinatura.
*
* - `name`: retorna resultados a partir da procura pelo nome do plano cadastrado previamente;
* - `limit`: limite máximo de registros de resposta;
* - `offset`: determina a partir de qual registro a busca será realizada.
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { name?: string, limit?: number, offset?: number } } params
*
* @returns {Promise<{
* code: number,
* data: Array<{
* plan_id: number,
* name: string,
* interval: number,
* repeats: number | null,
* created_at: string
* }>
* }>}
*/
listPlans(params: {
name?: string;
limit?: number;
offset?: number;
}): Promise<{
code: number;
data: Array<{
plan_id: number;
name: string;
interval: number;
repeats: number | null;
created_at: string;
}>;
}>;
/**
* **PUT /v1/plan/:id**
*
* Permitir a edição do nome do plano de assinatura
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { {
* name: string
* } } body
*
* @returns {Promise<{
* code: number,
* }>}
*/
updatePlan(params: {
id: number;
}, body: {
name: string;
}): Promise<{
code: number;
}>;
/**
* **DELETE /v1/plan/:id**
*
* Cancelar um plano de assinatura
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
*
* @returns {Promise<{
* code: number,
* }>}
*/
deletePlan(params: {
id: number;
}): Promise<{
code: number;
}>;
/**
* **POST /v1/plan/:id/subscription/one-step**
*
* Crie inscrições (assinaturas) para vincular ao plano em One Step
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* Obs: Para Pessoa Jurídica não serão obrigatórios o nome e CPF, apenas os demais dados do cliente contidos em juridical_person
*
* @param { { id: number } } params
* @param { {
* items: Array<{
* name: string,
* value: number,
* amount: number
* }>,
* shippings?: Array<{
* name: string,
* value: number,
* payee_code?: string
* }>,
* metadata?: {
* custom_id?: string,
* notification_url?: string
* },
* payment: {
* banking_billet?: {
* customer: {
* name?: string,
* cpf?: string,
* email?: string,
* phone_number?: string,
* birth?: string,
* address?: {
* street: string,
* number: string,
* neighborhood: string,
* zipcode: string,
* city: string,
* complement?: string,
* state: string
* },
* juridical_person?: {
* corporate_name: string,
* cnpj: string
* }
* },
* expire_at: string,
* discount?: {
* type: 'percentage' | 'currency',
* value: number
* },
* conditional_discount?: {
* type: 'percentage' | 'currency',
* value: number,
* until_date: string
* },
* configurations?: {
* fine?: number,
* interest?: {
* value: number,
* type: 'monthly' | 'daily'
* } | number
* },
* message?: string
* },
* credit_card?: {
* customer: {
* name?: string,
* cpf?: string,
* email: string,
* phone_number: string,
* birth: string,
* address?: {
* street: string,
* number: string,
* neighborhood: string,
* zipcode: string,
* city: string,
* complement?: string,
* state: string
* },
* juridical_person?: {
* corporate_name: string,
* cnpj: string
* }
* },
* billing_address: {
* street: string,
* number: string,
* neighborhood: string,
* zipcode: string,
* city: string,
* complement?: string,
* state: string
* },
* payment_token: string,
* discount?: {
* type: 'percentage' | 'currency',
* value: number
* },
* message?: string,
* trial_days?: number
* }
* }
* } } body
*
* @returns {Promise<{
* code: number,
* data: {
* subscription_id: number,
* status: string,
* barcode?: string,
* link?: string,
* billet_link?: string,
* pdf?: {
* charge: string
* },
* expire_at?: string,
* plan: {
* id: number,
* interval: number,
* repeats: number | null
* },
* charge: {
* id: number,
* status: string,
* parcel: number,
* total: number
* },
* first_execution: string,
* total: number,
* payment: string
* }
* }>}
*/
createOneStepSubscription(params: {
id: number;
}, body: {
items: Array<{
name: string;
value: number;
amount: number;
}>;
shippings?: Array<{
name: string;
value: number;
payee_code?: string;
}>;
metadata?: {
custom_id?: string;
notification_url?: string;
};
payment: {
banking_billet?: {
customer: {
name?: string;
cpf?: string;
email?: string;
phone_number?: string;
birth?: string;
address?: {
street: string;
number: string;
neighborhood: string;
zipcode: string;
city: string;
complement?: string;
state: string;
};
juridical_person?: {
corporate_name: string;
cnpj: string;
};
};
expire_at: string;
discount?: {
type: 'percentage' | 'currency';
value: number;
};
conditional_discount?: {
type: 'percentage' | 'currency';
value: number;
until_date: string;
};
configurations?: {
fine?: number;
interest?: {
value: number;
type: 'monthly' | 'daily';
} | number;
};
message?: string;
};
credit_card?: {
customer: {
name?: string;
cpf?: string;
email: string;
phone_number: string;
birth: string;
address?: {
street: string;
number: string;
neighborhood: string;
zipcode: string;
city: string;
complement?: string;
state: string;
};
juridical_person?: {
corporate_name: string;
cnpj: string;
};
};
billing_address: {
street: string;
number: string;
neighborhood: string;
zipcode: string;
city: string;
complement?: string;
state: string;
};
payment_token: string;
discount?: {
type: 'percentage' | 'currency';
value: number;
};
message?: string;
trial_days?: number;
};
};
}): Promise<{
code: number;
data: {
subscription_id: number;
status: string;
barcode?: string;
link?: string;
billet_link?: string;
pdf?: {
charge: string;
};
expire_at?: string;
plan: {
id: number;
interval: number;
repeats: number | null;
};
charge: {
id: number;
status: string;
parcel: number;
total: number;
};
first_execution: string;
total: number;
payment: string;
};
}>;
/**
* **POST /v1/plan/:id/subscription**
*
* Crie inscrições (assinaturas) para vincular ao plano
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { {
* items: Array<{
* name: string,
* value: number,
* amount: number
* }>,
* shippings?: Array<{
* name: string,
* value: number,
* payee_code?: string
* }>,
* metadata?: {
* custom_id?: string,
* notification_url?: string
* }
* } } body
*
* @returns {Promise<{
* code: number,
* data: {
* subscription_id: number,
* status: string,
* custom_id: string | null,
* charges: Array<{
* charge_id: number,
* status: string,
* total: number,
* parcel: number
* }>,
* created_at: string
* }
* }>}
*/
createSubscription(params: {
id: number;
}, body: {
items: Array<{
name: string;
value: number;
amount: number;
}>;
shippings?: Array<{
name: string;
value: number;
payee_code?: string;
}>;
metadata?: {
custom_id?: string;
notification_url?: string;
};
}): Promise<{
code: number;
data: {
subscription_id: number;
status: string;
custom_id: string | null;
charges: Array<{
charge_id: number;
status: string;
total: number;
parcel: number;
}>;
created_at: string;
};
}>;
/**
* **POST /v1/subscription/:id/pay**
*
* Defina a forma de pagamento da assinatura e os dados do cliente
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* Obs: Para Pessoa Jurídica não serão obrigatórios o nome e CPF, apenas os demais dados do cliente contidos em juridical_person
*
* @param { { id: number } } params
* @param { {
* payment: {
* banking_billet?: {
* customer: {
* name?: string,
* cpf?: string,
* email?: string,
* phone_number?: string,
* birth?: string,
* address?: {
* street: string,
* number: string,
* neighborhood: string,
* zipcode: string,
* city: string,
* complement?: string,
* state: string
* },
* juridical_person?: {
* corporate_name: string,
* cnpj: string
* }
* },
* expire_at: string,
* discount?: {
* type: 'percentage' | 'currency',
* value: number
* },
* conditional_discount?: {
* type: 'percentage' | 'currency',
* value: number,
* until_date: string
* },
* configurations?: {
* fine?: number,
* interest?: {
* value: number,
* type: 'monthly' | 'daily'
* } | number
* },
* message?: string
* },
* credit_card?: {
* customer: {
* name?: string,
* cpf?: string,
* email: string,
* phone_number: string,
* birth: string,
* address?: {
* street: string,
* number: string,
* neighborhood: string,
* zipcode: string,
* city: string,
* complement?: string,
* state: string
* },
* juridical_person?: {
* corporate_name: string,
* cnpj: string
* }
* },
* billing_address: {
* street: string,
* number: string,
* neighborhood: string,
* zipcode: string,
* city: string,
* complement?: string,
* state: string
* },
* payment_token: string,
* discount?: {
* type: 'percentage' | 'currency',
* value: number
* },
* message?: string,
* trial_days?: number
* }
* }
* } } body
*
* @returns {Promise<{
* code: number,
* data: {
* subscription_id: number,
* status: string,
* barcode?: string,
* link?: string,
* billet_link?: string,
* pdf?: {
* charge: string
* },
* expire_at?: string,
* plan: {
* id: number,
* interval: number,
* repeats: number | null
* },
* charge: {
* id: number,
* status: string,
* parcel: number,
* total: number
* },
* first_execution: string,
* total: number,
* payment: string
* }
* }>}
*/
defineSubscriptionPayMethod(params: {
id: number;
}, body: {
payment: {
banking_billet?: {
customer: {
name?: string;
cpf?: string;
email?: string;
phone_number?: string;
birth?: string;
address?: {
street: string;
number: string;
neighborhood: string;
zipcode: string;
city: string;
complement?: string;
state: string;
};
juridical_person?: {
corporate_name: string;
cnpj: string;
};
};
expire_at: string;
discount?: {
type: 'percentage' | 'currency';
value: number;
};
conditional_discount?: {
type: 'percentage' | 'currency';
value: number;
until_date: string;
};
configurations?: {
fine?: number;
interest?: {
value: number;
type: 'monthly' | 'daily';
} | number;
};
message?: string;
};
credit_card?: {
customer: {
name?: string;
cpf?: string;
email: string;
phone_number: string;
birth: string;
address?: {
street: string;
number: string;
neighborhood: string;
zipcode: string;
city: string;
complement?: string;
state: string;
};
juridical_person?: {
corporate_name: string;
cnpj: string;
};
};
billing_address: {
street: string;
number: string;
neighborhood: string;
zipcode: string;
city: string;
complement?: string;
state: string;
};
payment_token: string;
discount?: {
type: 'percentage' | 'currency';
value: number;
};
message?: string;
trial_days?: number;
};
};
}): Promise<{
code: number;
data: {
subscription_id: number;
status: string;
barcode?: string;
link?: string;
billet_link?: string;
pdf?: {
charge: string;
};
expire_at?: string;
plan: {
id: number;
interval: number;
repeats: number | null;
};
charge: {
id: number;
status: string;
parcel: number;
total: number;
};
first_execution: string;
total: number;
payment: string;
};
}>;
/**
* **GET /v1/subscription/:id**
*
* Obtém detalhes de uma assinatura específica.
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
*
* @returns {Promise<{
* code: number,
* data: {
* subscription_id: number,
* value: number,
* status: string,
* custom_id: string | null,
* notification_url: string | null,
* payment_method: string | null,
* next_execution: string | null,
* next_expire_at: string | null,
* plan: {
* plan_id: number,
* name: string,
* interval: number,
* repeats: number | null
* },
* occurrences: number,
* created_at: string,
* history: Array<{
* charge_id: number,
* status: string,
* created_at: string
* }>
* }
* }>}
*/
detailSubscription(params: {
id: number;
}): Promise<{
code: number;
data: {
subscription_id: number;
value: number;
status: string;
custom_id: string | null;
notification_url: string | null;
payment_method: string | null;
next_execution: string | null;
next_expire_at: string | null;
plan: {
plan_id: number;
name: string;
interval: number;
repeats: number | null;
};
occurrences: number;
created_at: string;
history: Array<{
charge_id: number;
status: string;
created_at: string;
}>;
};
}>;
/**
* **POST /v1/plan/:id/subscription/one-step/link**
*
* Associar plano ao link de pagamento
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { {
* items: Array<{
* name: string,
* value: number,
* amount: number,
* marketplace?: {
* payee_code: string,
* percentage: number
* }
* }>,
* shippings?: Array<{
* name: string,
* value: number,
* payee_code?: string
* }>,
* metadata?: {
* custom_id?: string,
* notification_url?: string
* },
* settings: {
* billet_discount?: number,
* card_discount?: number,
* conditional_discount?: {
* type: 'percentage' | 'currency',
* value: number,
* until_date: string
* },
* message?: string,
* expire_at: string,
* request_delivery_address: boolean,
* payment_method: 'banking_billet' | 'credit_card' | 'all'
* }
* } } body
*
* @returns {Promise<{
* code: number,
* data: {
* subscription_id: number,
* status: string,
* custom_id: string | null,
* charge: {
* id: number,
* status: string,
* total: number,
* parcel: number
* },
* payment_url: string,
* payment_method: string,
* conditional_discount_date: string | null,
* request_delivery_address: boolean,
* expire_at: string,
* created_at: string
* }
* }>}
*/
createOneStepSubscriptionLink(params: {
id: number;
}, body: {
items: Array<{
name: string;
value: number;
amount: number;
marketplace?: {
payee_code: string;
percentage: number;
};
}>;
shippings?: Array<{
name: string;
value: number;
payee_code?: string;
}>;
metadata?: {
custom_id?: string;
notification_url?: string;
};
settings: {
billet_discount?: number;
card_discount?: number;
conditional_discount?: {
type: 'percentage' | 'currency';
value: number;
until_date: string;
};
message?: string;
expire_at: string;
request_delivery_address: boolean;
payment_method: 'banking_billet' | 'credit_card' | 'all';
};
}): Promise<{
code: number;
data: {
subscription_id: number;
status: string;
custom_id: string | null;
charge: {
id: number;
status: string;
total: number;
parcel: number;
};
payment_url: string;
payment_method: string;
conditional_discount_date: string | null;
request_delivery_address: boolean;
expire_at: string;
created_at: string;
};
}>;
/**
* **PUT /v1/subscription/:id/metadata**
*
* Incluir "notification_url" e "custom_id" em uma assinatura existente
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { {
* notification_url?: string,
* custom_id?: string,
* resend?: boolean
* } } body
*
* @returns {Promise<{
* code: number,
* }>}
*/
updateSubscriptionMetadata(params: {
id: number;
}, body: {
notification_url?: string;
custom_id?: string;
resend?: boolean;
}): Promise<{
code: number;
}>;
/**
* **PUT /v1/subscription/:id**
*
* Alterar dados de uma assinatura
*
* Somente assinaturas do tipo Cartão de Crédito podem ser alteradas.
* Para alterar os dados de uma assinatura existente, é necessário que o método de pagamento definido seja cartão de crédito.
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { {
* plan_id?: number,
* customer?: {
* email?: string,
* phone_number?: string
* },
* items?: Array<{
* name: string,
* value: number,
* amount: number
* }>,
* shippings?: Array<{
* name: string,
* value: number
* }>
* } } body
*
* @returns {Promise<{
* code: number,
* data: {
* subscription_id: number,
* status: string,
* value: number,
* custom_id: string | null,
* notification_url: string | null,
* payment_method: string,
* next_execution: string,
* next_expire_at: string,
* plan: {
* plan_id: number,
* name: string,
* interval: number,
* repeats: number | null
* },
* customer: {
* email: string,
* phone_number: string
* },
* occurrences: number,
* created_at: string
* }
* }>}
*/
updateSubscription(params: {
id: number;
}, body: {
plan_id?: number;
customer?: {
email?: string;
phone_number?: string;
};
items?: Array<{
name: string;
value: number;
amount: number;
}>;
shippings?: Array<{
name: string;
value: number;
}>;
}): Promise<{
code: number;
data: {
subscription_id: number;
status: string;
value: number;
custom_id: string | null;
notification_url: string | null;
payment_method: string;
next_execution: string;
next_expire_at: string;
plan: {
plan_id: number;
name: string;
interval: number;
repeats: number | null;
};
customer: {
email: string;
phone_number: string;
};
occurrences: number;
created_at: string;
};
}>;
/**
* **PUT /v1/subscription/:id/cancel**
*
* Cancelar uma assinatura
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
*
* @returns {Promise<{
* code: number
* }>}
*/
cancelSubscription(params: {
id: number;
}): Promise<{
code: number;
}>;
/**
* **POST/v1/subscription/:id/history**
*
* Acrescentar descrição ao histórico de uma assinatura
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { {
* description: string
* } } body
*
* @returns {Promise<{
* code: number
* }>}
*/
createSubscriptionHistory(params: {
id: number;
}, body: {
description: string;
}): Promise<{
code: number;
}>;
/**
* **POST /v1/charge/:id/subscription/resend**
*
* Reenvio do link associado ao plano para o email desejado
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { {
* email: string
* } } body
*
* @returns {Promise<{
* code: number
* }>}
*/
sendSubscriptionLinkEmail(params: {
id: number;
}, body: {
email: string;
}): Promise<{
code: number;
}>;
/**
* **POST /v1/charge/one-step/link**
*
* Criando o link de pagamento em One Step
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { } } params
* @param { {
* items: Array<{
* name: string,
* value: number,
* amount: number,
* marketplace?: {
* payee_code?: string,
* percentage?: number
* }
* }>,
* shippings?: Array<{
* name: string,
* value: number,
* payee_code?: string
* }>,
* metadata?: {
* custom_id?: string,
* notification_url?: string
* },
* customer?: {
* email: string
* },
* settings: {
* billet_discount?: number,
* card_discount?: number,
* conditional_discount?: {
* type: 'percentage' | 'currency',
* value: number,
* until_date: string
* },
* message?: string,
* expire_at: string,
* request_delivery_address: boolean,
* payment_method: 'banking_billet' | 'credit_card' | 'all'
* }
* } } body
*
* @returns {Promise<{
* code: number,
* data: {
* charge_id: number,
* status: string,
* total: number,
* custom_id: string | null,
* payment_url: string,
* payment_method: string,
* billet_discount: number | null,
* card_discount: number | null,
* conditional_discount_value: number | null,
* conditional_discount_type: string | null,
* conditional_discount_date: string | null,
* request_delivery_address: boolean,
* message: string | null,
* expire_at: string,
* created_at: string
* }
* }>}
*/
createOneStepLink(params: {}, body: {
items: Array<{
name: string;
value: number;
amount: number;
marketplace?: {
payee_code?: string;
percentage?: number;
};
}>;
shippings?: Array<{
name: string;
value: number;
payee_code?: string;
}>;
metadata?: {
custom_id?: string;
notification_url?: string;
};
customer?: {
email: string;
};
settings: {
billet_discount?: number;
card_discount?: number;
conditional_discount?: {
type: 'percentage' | 'currency';
value: number;
until_date: string;
};
message?: string;
expire_at: string;
request_delivery_address: boolean;
payment_method: 'banking_billet' | 'credit_card' | 'all';
};
}): Promise<{
code: number;
data: {
charge_id: number;
status: string;
total: number;
custom_id: string | null;
payment_url: string;
payment_method: string;
billet_discount: number | null;
card_discount: number | null;
conditional_discount_value: number | null;
conditional_discount_type: string | null;
conditional_discount_date: string | null;
request_delivery_address: boolean;
message: string | null;
expire_at: string;
created_at: string;
};
}>;
/**
* **POST /v1/charge/:id/link**
*
* Cria um link de pagamento para uma cobrança existente.
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { {
* billet_discount?: number,
* card_discount?: number,
* conditional_discount?: {
* type: 'percentage' | 'currency',
* value: number,
* until_date: string
* },
* message?: string,
* expire_at: string,
* request_delivery_address: boolean,
* payment_method: 'banking_billet' | 'credit_card' | 'all'
* } } body
*
* @returns {Promise<{
* code: number,
* data: {
* charge_id: number,
* status: string,
* total: number,
* custom_id: string | null,
* payment_url: string,
* payment_method: string,
* conditional_discount_date: string | null,
* conditional_discount_value?: number,
* conditional_discount_type?: 'percentage' | 'currency',
* billet_discount?: number,
* card_discount?: number,
* created_at: string
* }
* }>}
*/
defineLinkPayMethod(params: {
id: number;
}, body: {
billet_discount?: number;
card_discount?: number;
conditional_discount?: {
type: 'percentage' | 'currency';
value: number;
until_date: string;
};
message?: string;
expire_at: string;
request_delivery_address: boolean;
payment_method: 'banking_billet' | 'credit_card' | 'all';
}): Promise<{
code: number;
data: {
charge_id: number;
status: string;
total: number;
custom_id: string | null;
payment_url: string;
payment_method: string;
conditional_discount_date: string | null;
conditional_discount_value?: number;
conditional_discount_type?: 'percentage' | 'currency';
billet_discount?: number;
card_discount?: number;
created_at: string;
};
}>;
/**
* **PUT /v1/charge/:id/link**
*
* Alterar determinados parâmetros/atributos de um link de pagamento existente
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { {
* billet_discount?: number,
* card_discount?: number
* conditional_discount?: {
* type: 'percentage' | 'currency',
* value: number,
* until_date: string
* },
* message?: string,
* expire_at: string,
* request_delivery_address: boolean,
* payment_method: 'banking_billet' | 'credit_card' | 'all'
* }} body
*
* @returns {Promise<{
* code: number,
* data: {
* charge_id: number,
* status: string,
* total: number,
* custom_id: string | null,
* payment_url: string,
* payment_method: string,
* conditional_discount_date: string | null,
* conditional_discount_value?: number,
* conditional_discount_type?: 'percentage' | 'currency',
* billet_discount?: number,
* card_discount?: number,
* created_at: string
* }
* }>}
*/
updateChargeLink(params: {
id: number;
}, body: {
billet_discount?: number;
card_discount?: number;
conditional_discount?: {
type: 'percentage' | 'currency';
value: number;
until_date: string;
};
message?: string;
expire_at: string;
request_delivery_address: boolean;
payment_method: 'banking_billet' | 'credit_card' | 'all';
}): Promise<{
code: number;
data: {
charge_id: number;
status: string;
total: number;
custom_id: string | null;
payment_url: string;
payment_method: string;
conditional_discount_date: string | null;
conditional_discount_value?: number;
conditional_discount_type?: 'percentage' | 'currency';
billet_discount?: number;
card_discount?: number;
created_at: string;
};
}>;
/**
* **POST /v1/charge/:id/link/resend**
*
* Reenviar link de pagamento por e-mail
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { id: number } } params
* @param { {
* email: string
* }} body
*
* @returns {Promise<{
* code: number
* }>}
*/
sendLinkEmail(params: {
id: number;
}, body: {
email: string;
}): Promise<{
code: number;
}>;
/**
* **GET /v1/notification/:token**
*
* Obtém as notificações de alterações de status para um token de notificação específico.
*
* Para capturar uma falha utilize o `catch`, os campos disponíveis no objeto serão `code`, `error` e `error_description`.
*
* @param { { token: string } } params
*
* @returns {Promise<{
* code: number,
* data: Array<{
* created_at: string,
* custom_id: string | null,
* id: number,
* identifiers: {
* charge_id?: number,
* subscription_id?: number,
* carnet_id?: number
* },
* status: {
* current: string,
* previous: string | null
* },
* type: string,
* value?: number,
* received_by_bank_at?: string
* }>
* }>}
*
*
*/
getNotification(params: {
token: string;
}): Promise<{
code: number;
data: Array<{
created_at: string;
custom_id: string | null;
id: number;
identifiers: {
charge_id?: number;
subscription_id?: number;
carnet_id?: number;
};
status: {
current: string;
previous: string | null;
};
type: string;
value?: number;
received_by_bank_at?: string;
}>;
}>;
}
import { ExtratosMethods } from "./extratos";