diff --git a/README.md b/README.md index 5d3089f..e49103e 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,13 @@ npm install --save-dev pagarme-js-types ... ``` +Or if that doesn't work for you, instead of changing the tsconfig.json file, +just create the following file: +```ts +// src/@types/pagarme.d.ts +import 'pagarme-js-types/src/index'; +``` + See more in the [handbook](http://www.typescriptlang.org/docs/handbook/declaration-files/consumption.html). ## 💪 How to contribute diff --git a/src/client/cards/options.ts b/src/client/cards/options.ts index 7bd64e7..f9a78ed 100644 --- a/src/client/cards/options.ts +++ b/src/client/cards/options.ts @@ -1,26 +1,31 @@ -export interface CardCreateOptions { - /** Número do cartão. */ - card_number: string; - /** Data de expiração do cartão. */ - card_expiration_date: string; - /** Nome no cartão do portador. */ - card_holder_name: string; - /** Código de segurança do cartão. */ - card_cvv?: string; - /** Informações do cliente do card a ser gerado. */ - customer_id?: number; - /** Dados criptografados do cartão */ - card_hash: string; -} +export type CardCreateOptions = { + /** Informações do cliente do card a ser gerado. */ + customer_id?: number; +} & ( + | { + /** Número do cartão. */ + card_number: string; + /** Data de expiração do cartão. */ + card_expiration_date: string; + /** Nome no cartão do portador. */ + card_holder_name: string; + /** Código de segurança do cartão. */ + card_cvv?: string; + } + | { + /** Dados criptografados do cartão */ + card_hash: string; + } +); export interface CardFindOptions { - /** Id do cartão que deseja consultar os dados. */ - id: string; + /** Id do cartão que deseja consultar os dados. */ + id: string; } export type CardAllOptions = CardFindOptions & { - /** Pagination option to get a list of cards. Number of cards in a page */ - count?: number; - /** Pagination option for a list of cards. The page index. */ - page?: number; -} + /** Pagination option to get a list of cards. Number of cards in a page */ + count?: number; + /** Pagination option for a list of cards. The page index. */ + page?: number; +}; diff --git a/src/client/transactions/namespace.ts b/src/client/transactions/namespace.ts index 95c4f98..15a1617 100644 --- a/src/client/transactions/namespace.ts +++ b/src/client/transactions/namespace.ts @@ -36,6 +36,7 @@ declare module 'pagarme' { T extends TransactionFindOptions ? Transaction[] : Transaction >; + function refund(body: TransactionRefundOptions): Promise; function refund( opts: any, body: TransactionRefundOptions diff --git a/src/client/transfers/namespace.ts b/src/client/transfers/namespace.ts index 8c6a16b..67a0c25 100644 --- a/src/client/transfers/namespace.ts +++ b/src/client/transfers/namespace.ts @@ -1,5 +1,9 @@ import { Transfer } from './responses'; -import { TransferAllOptions, TransferCreateOptions } from './options'; +import { + TransferAllOptions, + TransferCreateOptions, + TransferFindOptions +} from './options'; declare module 'pagarme' { export namespace client { @@ -9,7 +13,8 @@ declare module 'pagarme' { function cancel(opts: any, body: any): any; function days(opts: any): any; - function find(opts: any, body: any): any; + function find(body: TransferFindOptions): any; + function find(opts: any, body: TransferFindOptions): any; function limits(opts: any, params: any): any; } } diff --git a/src/client/transfers/options.ts b/src/client/transfers/options.ts index 9617b7d..7b8784b 100644 --- a/src/client/transfers/options.ts +++ b/src/client/transfers/options.ts @@ -1,7 +1,7 @@ export interface TransferCreateOptions { - amount: string; + amount: number; recipientId: string; - metaData?: JSON; + metaData?: any; } export interface TransferAllOptions { @@ -14,3 +14,8 @@ export interface TransferAllOptions { date_created?: string; created_at?: string; } + + +export interface TransferFindOptions { + id?: string; +}