From 5d509c4f9609b09eabb4c55d02fdd41ea24c0003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonathan=20C=C3=A9lio?= Date: Thu, 6 May 2021 16:19:41 -0300 Subject: [PATCH 1/4] Update package.json (#93) --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index af08920..3e73345 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,8 @@ }, "release": { "branches": [ - "master" + "master", + "next" ] } } From 8bd615aadc6364085d480ebcf750de68cf1b4a55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonathan=20C=C3=A9lio?= Date: Thu, 6 May 2021 16:22:50 -0300 Subject: [PATCH 2/4] Release Next Version (#94) * Update package.json * fix: add comment to external_id field (#91) * fix: add percentage field to SplitRuleArg and add comments (#90) * fix: Customer interface (#92) * fix: add missing fields to Customer and fix birthday in CustomerCreateOptiosn * fix: add comments to Document's new fields Co-authored-by: Arthur Abrantes --- src/client/customers/options.ts | 5 +++-- src/client/customers/responses.ts | 12 ++++++++++++ src/client/transactions/options.ts | 8 +++++++- src/common/Document.ts | 4 ++++ 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/src/client/customers/options.ts b/src/client/customers/options.ts index 2013357..39cd334 100644 --- a/src/client/customers/options.ts +++ b/src/client/customers/options.ts @@ -3,6 +3,7 @@ import { Document } from '../../common/Document'; import { CustomerType } from '../../common/CustomerType'; export interface CustomerCreateOptions { + /** Identificador do cliente em sua plataforma. */ external_id: string; /** Nome ou razão social do comprador */ name: string; @@ -16,6 +17,6 @@ export interface CustomerCreateOptions { documents: Document[]; /** Números de telefone. Requer ao menos um valor. Deve seguir o padrão *E.164* */ phone_numbers: string[]; - /** Data de nascimento */ - birthday?: string; + /** Data de nascimento. */ + birthday?: string | null; } diff --git a/src/client/customers/responses.ts b/src/client/customers/responses.ts index 68054e4..8f1f5ff 100644 --- a/src/client/customers/responses.ts +++ b/src/client/customers/responses.ts @@ -2,8 +2,20 @@ import { CustomerCreateOptions } from './options'; import { Address } from '../../common/Address'; export interface Customer extends CustomerCreateOptions { + /** Tipo do objeto */ + object: "customer", /** Identificador do cliente na loja */ id: string; + /** Número do documento. */ + document_number: number | null; + /** Tipo do documento. */ + document_type: 'cpf' | 'cnpj' | 'passaport' | 'other' ; + /** Local de nascimento. */ + born_at: string | null; + /** Gênero */ + gender: string | null; + /** Quando o customer foi criado */ + date_created: string; /** Lista dos telefones relacionados ao cliente */ phones: string[]; /** Lista de endereços relacionados ao cliente */ diff --git a/src/client/transactions/options.ts b/src/client/transactions/options.ts index f148a94..7a40d59 100644 --- a/src/client/transactions/options.ts +++ b/src/client/transactions/options.ts @@ -48,9 +48,15 @@ export interface TransactionCalculateInstallmentsAmountOptions { } interface SplitRuleArg { + /** indica se o recebedor atrelado assumirá os riscos de chargeback da transação */ liable: boolean; + /** indica se o recebedor vinculado à regra será cobrado pelas taxas da transação */ charge_processing_fee: boolean; - amount: number; + /** valor em centavos de quanto da transação irá para o recebedor. Não pode estar presente ao mesmo tempo que 'percentage' */ + amount?: number; + /** valor em porcentagem de quanto da transação irá para o recebedor. Não pode estar presente ao mesmo tempo que 'amount' */ + percentage?: number; + /** id de um recebedor */ recipient_id: string; } diff --git a/src/common/Document.ts b/src/common/Document.ts index 339351e..17ec37b 100644 --- a/src/common/Document.ts +++ b/src/common/Document.ts @@ -1,4 +1,8 @@ export interface Document { + /** tipo do objeto */ + object?: "document", + /** id relacionada ao documento */ + id?: "string", /** * Tipo de documento. * From 58047a1e283b5edbf812cc07b03c2f6b7646eb37 Mon Sep 17 00:00:00 2001 From: Arthur Abrantes Date: Fri, 7 May 2021 22:40:58 -0300 Subject: [PATCH 3/4] fix: update TransactionCreateOptionsBase split_rules type --- src/client/transactions/options.ts | 2 +- src/client/transactions/options/Create/options.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/client/transactions/options.ts b/src/client/transactions/options.ts index 7a40d59..4e3089d 100644 --- a/src/client/transactions/options.ts +++ b/src/client/transactions/options.ts @@ -47,7 +47,7 @@ export interface TransactionCalculateInstallmentsAmountOptions { free_installments?: number; } -interface SplitRuleArg { +export interface SplitRuleArg { /** indica se o recebedor atrelado assumirá os riscos de chargeback da transação */ liable: boolean; /** indica se o recebedor vinculado à regra será cobrado pelas taxas da transação */ diff --git a/src/client/transactions/options/Create/options.ts b/src/client/transactions/options/Create/options.ts index 64133ad..68b33f6 100644 --- a/src/client/transactions/options/Create/options.ts +++ b/src/client/transactions/options/Create/options.ts @@ -5,6 +5,7 @@ import { } from './PaymentMethods/index'; import { Item, Billing, Shipping } from '../../common/index'; import { CustomerCreateOptions as Customer } from '../../../customers/options'; +import {SplitRuleArg} from "../../options"; interface TransactionCreateOptionsBase { /** Valor a ser cobrado. Deve ser passado em centavos. Ex: R$ 10.00 = 1000. Deve ser no mínimo 1 real (100) */ @@ -20,7 +21,7 @@ interface TransactionCreateOptionsBase { /** Após a autorização de uma transação, você pode escolher se irá capturar ou adiar a captura do valor. Caso opte por postergar a captura, atribua o valor false. */ capture?: boolean; /** Regras de divisão da transação */ - split_rules?: Array; + split_rules?: Array; customer?: Customer | { id: string }; /** Obrigatório com o antifraude habilitado. Define os dados de cobrança, como nome e endereço */ billing?: Billing; From 905f1a787eb83a6cec56b4a4ece716f59f755aa4 Mon Sep 17 00:00:00 2001 From: Arthur Abrantes Date: Fri, 7 May 2021 22:40:58 -0300 Subject: [PATCH 4/4] fix: update TransactionCreateOptionsBase split_rules type --- src/client/transactions/options.ts | 2 +- src/client/transactions/options/Create/options.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/client/transactions/options.ts b/src/client/transactions/options.ts index 7a40d59..4e3089d 100644 --- a/src/client/transactions/options.ts +++ b/src/client/transactions/options.ts @@ -47,7 +47,7 @@ export interface TransactionCalculateInstallmentsAmountOptions { free_installments?: number; } -interface SplitRuleArg { +export interface SplitRuleArg { /** indica se o recebedor atrelado assumirá os riscos de chargeback da transação */ liable: boolean; /** indica se o recebedor vinculado à regra será cobrado pelas taxas da transação */ diff --git a/src/client/transactions/options/Create/options.ts b/src/client/transactions/options/Create/options.ts index 64133ad..68b33f6 100644 --- a/src/client/transactions/options/Create/options.ts +++ b/src/client/transactions/options/Create/options.ts @@ -5,6 +5,7 @@ import { } from './PaymentMethods/index'; import { Item, Billing, Shipping } from '../../common/index'; import { CustomerCreateOptions as Customer } from '../../../customers/options'; +import {SplitRuleArg} from "../../options"; interface TransactionCreateOptionsBase { /** Valor a ser cobrado. Deve ser passado em centavos. Ex: R$ 10.00 = 1000. Deve ser no mínimo 1 real (100) */ @@ -20,7 +21,7 @@ interface TransactionCreateOptionsBase { /** Após a autorização de uma transação, você pode escolher se irá capturar ou adiar a captura do valor. Caso opte por postergar a captura, atribua o valor false. */ capture?: boolean; /** Regras de divisão da transação */ - split_rules?: Array; + split_rules?: Array; customer?: Customer | { id: string }; /** Obrigatório com o antifraude habilitado. Define os dados de cobrança, como nome e endereço */ billing?: Billing;