import Options from '../../common/options'; import BaseTransaction from '../../common/base_transaction'; declare class Transaction extends BaseTransaction { /** * Constructor class transaction. * @param options You can pass options to use a custom configuration. */ constructor(options: Options); /** * Creates and returns an instance of `Transaction` configured for the integration environment. * * @param commerceCode The commerce code. * @param apiKey The API key used for authentication. * @return A new instance of `Transaction` configured for the test environment (Environment.Integration). */ static buildForIntegration(commerceCode: string, apiKey: string): Transaction; /** * Creates and returns an instance of `Transaction` configured for the production environment. * * @param commerceCode The commerce code. * @param apiKey The API key used for authentication. * @return A new instance of `Transaction` configured for the production environment (Environment.Production). */ static buildForProduction(commerceCode: string, apiKey: string): Transaction; /** * Create a new Transaccion Completa transaction * @param buyOrder Commerce buy order, make sure this is unique. * @param sessionId You can use this field to pass session data if needed. * @param amount Transaction amount * @param cvv Card verification value * @param cardNumber Card's fron number * @param cardExpirationDate Card's expiration date */ create(buyOrder: string, sessionId: string, amount: number, cvv: number | undefined, cardNumber: string, cardExpirationDate: string): Promise; /** * Ask for installment conditions and price * @param token Unique transaction identifier * @param installmentsNumber Number of installments to ask for */ installments(token: string, installmentsNumber: number): Promise; /** * Commit a transaction * @param token Unique transaction identifier * @param idQueryInstallments (Optional) Use this when paying with installments, get it from * installments method. * @param deferredPeriodIndex (Optional) Use this when paying with installments, you can use this * if the commerce is configured to offer deferred payment * @param gracePeriod (Optional) Use this when paying with installments, this indicates if there's * a grace period. */ commit(token: string, idQueryInstallments?: number | undefined, deferredPeriodIndex?: number | undefined, gracePeriod?: boolean | undefined): Promise; /** * Obtain the status of a specific transaction * @param token Unique transaction identifier */ status(token: string): Promise; /** * Request a refund of a specific transaction, if you refund for the full amount and you're within * the time window the transaction will be reversed. If you're past that window or refund for less * than the total amount the transaction will be void. * @param token Unique transaction identifier * @param amount Amount to be refunded */ refund(token: string, amount: number): Promise; /** Capture a deferred transaction. * * Your commerce code must be configured to support deferred capture. * * @param token Unique transaction identifier * @param buyOrder Transaction's buy order * @param authorizationCode Transaction's authorization code * @param captureAmount Amount to be captured */ capture(token: string, buyOrder: string, authorizationCode: string, captureAmount: number): Promise; } export default Transaction;