@tucupy-tecnologia/cielo-ecommerce-sdk-unofficial
Version:
SDK Não Oficial para interagir com a API Cielo E-commerce usando Bun/Node.js
68 lines (67 loc) • 1.71 kB
TypeScript
/**
* Representa um link HATEOAS retornado pela API.
*/
export interface Link {
Method: 'GET' | 'POST' | 'PUT' | 'DELETE';
Rel: string;
Href: string;
}
/**
* Representa um endereço genérico.
*/
export interface Address {
Street: string;
Number: string;
Complement?: string;
ZipCode: string;
City: string;
State: string;
Country: string;
}
/**
* Representa um endereço de cobrança (Billing).
* Pode ter campos adicionais ou diferentes do endereço padrão.
*/
export interface BillingAddress {
Street: string;
Number: string;
Complement?: string;
Neighborhood?: string;
ZipCode: string;
City: string;
State: string;
Country: string;
}
/**
* Representa os dados do cliente (comprador).
*/
export interface Customer {
Name: string;
Status?: 'NEW' | 'EXISTING';
Identity?: string;
IdentityType?: 'CPF' | 'CNPJ';
Email?: string;
Birthdate?: string;
Address?: Address;
DeliveryAddress?: Address;
Billing?: BillingAddress;
}
/**
* Representa o objeto CardOnFile, usado para indicar
* o propósito de armazenamento do cartão.
* Usado tanto em ZeroAuth quanto em Pagamentos.
*/
export interface CardOnFile {
/**
* 'First' se o cartão foi armazenado e é seu primeiro uso.
* 'Used' se o cartão já foi utilizado anteriormente.
*/
Usage: 'First' | 'Used';
/**
* Indica o propósito de armazenamento se Usage for 'Used'.
* 'Recurring': Compra recorrente programada.
* 'Unscheduled': Compra recorrente sem agendamento.
* 'Installments': Parcelamento através da recorrência.
*/
Reason?: 'Recurring' | 'Unscheduled' | 'Installments';
}