Skip to content

Commit

Permalink
feat: export data-vault & process payment types
Browse files Browse the repository at this point in the history
  • Loading branch information
crisog committed Dec 26, 2024
1 parent e3c7c1f commit 0a8c6d7
Show file tree
Hide file tree
Showing 8 changed files with 123 additions and 120 deletions.
2 changes: 1 addition & 1 deletion src/azul-api/api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
import AzulRequester, { Config } from './request';
import DataVault from './data-vault/data-vault';
import ProcessPayment from './process-payment/process-payment';
import { ProcessPaymentResponse } from './process-payment/schemas';
import { ProcessPaymentResponse } from './process-payment/types';
import { Process } from './processes';
import { Secure } from './secure/secure';

Expand Down
3 changes: 2 additions & 1 deletion src/azul-api/data-vault/data-vault.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { Process } from '../processes';
import AzulRequester from '../request';
import { Create, CreateInput, DataVaultResponse } from './schemas';
import { CreateInput, DataVaultResponse } from './types';
import { Create } from './schemas';

enum DataVaultTransaction {
CREATE = 'CREATE',
Expand Down
40 changes: 0 additions & 40 deletions src/azul-api/data-vault/schemas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,43 +20,3 @@ export const Create = z.object({
*/
CVC
});

export type DataVaultResponse = Partial<{
/**
* Marca de la tarjeta
*/
Brand: string;
/**
* Número de tarjeta enmascarada (ej. XXXXXX…XXXX).
*/
CardNumber: string;
/**
* Token generado por SDP.
*/
DataVaultToken: string;
/**
* Descripción del error.
* Valor sólo presente si la transacción produjo un error. En caso
* de no presentar error ese campo viaja en blanco
*/
ErrorDescription: string;
/**
* Fecha expiración del token. Formato YYYYMM
*/
Expiration: string;
/**
* Indica si el Token fue creado con CVV.
*/
HasCVV: boolean;
/**
* Código ISO-8583 recibido de respuesta.
* Cuando la transacción es exitosa se recibe el valor “00”
*/
IsoCode: string;
/**
* Mensaje de respuesta
*/
ResponseMessage: string;
}>;

export type CreateInput = z.input<typeof Create>;
42 changes: 42 additions & 0 deletions src/azul-api/data-vault/types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import { z } from 'zod';
import { Create } from './schemas';

export type DataVaultResponse = Partial<{
/**
* Marca de la tarjeta
*/
Brand: string;
/**
* Número de tarjeta enmascarada (ej. XXXXXX…XXXX).
*/
CardNumber: string;
/**
* Token generado por SDP.
*/
DataVaultToken: string;
/**
* Descripción del error.
* Valor sólo presente si la transacción produjo un error. En caso
* de no presentar error ese campo viaja en blanco
*/
ErrorDescription: string;
/**
* Fecha expiración del token. Formato YYYYMM
*/
Expiration: string;
/**
* Indica si el Token fue creado con CVV.
*/
HasCVV: boolean;
/**
* Código ISO-8583 recibido de respuesta.
* Cuando la transacción es exitosa se recibe el valor “00”
*/
IsoCode: string;
/**
* Mensaje de respuesta
*/
ResponseMessage: string;
}>;

export type CreateInput = z.input<typeof Create>;
9 changes: 2 additions & 7 deletions src/azul-api/process-payment/process-payment.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
import AzulRequester from '../request';
import {
ProcessPaymentResponse,
ProcessPaymentSchemaInput,
ProcessPaymentSchema,
RefundSchemaInput,
RefundSchema
} from './schemas';
import { ProcessPaymentSchema, RefundSchema } from './schemas';
import { ProcessPaymentResponse, ProcessPaymentSchemaInput, RefundSchemaInput } from './types';

export enum ProcessPaymentTransaction {
SALE = 'Sale',
Expand Down
71 changes: 0 additions & 71 deletions src/azul-api/process-payment/schemas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -135,75 +135,6 @@ export const RefundRequestSchema = z
})
.merge(ProcessPaymentSchema);

export type ProcessPaymentResponse = Partial<{
/**
* Código de autorización generado por el centro autorizador para la
* transacción.
* Sólo presente si la transacción fue aprobada. ISOCode = ISO8583 y
* ResponseCode = 00
*/
AuthorizationCode: string;
/**
* Numero Identificador dada por el afiliado a la transacción. Si no
* fue provisto en la transacción, este campo viaja en blanco
*/
CustomOrderId: string;
/**
* Fecha y hora de la transacción.
* Formato YYYYMMDDHHMMSS.
*/
DateTime: string;
/**
* Descripción del error.
* Valor sólo presente si la transacción produjo un error. En caso de
* no presentar error ese campo viaja en blanco
*/
ErrorDescription: string;
/**
* Código ISO-8583 recibido de respuesta.
* Nota: En la documentación de Azul, este campo se llama ISOCode
*/
IsoCode: string;
/**
* Número de lote en que se registró la transacción
*/
LotNumber: string;
/**
* Número de referencia
* (Reference referral number).
*/
RRN: string;
/**
* Número de orden Azul. Puede ser usado en vez del RRN para generar una
* devolución. Importante dar prioridad a este valor sobre el RRN.
*/
AzulOrderId: string;
/**
* Código de respuesta.
* Puede contener uno de los siguientes valores:
* Iso8583 = la transacción fue procesada. Se debe revisar el
* campo ISOCode para ver la respuesta de la transacción Error =
* La transacción no fue procesada.
*/
ResponseCode: 'ISO8583' | 'Error';
/**
* Mensaje de respuesta ISO-8583.
* Valor sólo presente si el ResponseCode = ISO8583
*/
ResponseMessage: string;
/**
* Número del ticket correspondiente a la transacción
*/
Ticket: string;
/**
* Tarjeta usada para la transacción, enmascarada
* (XXXXXX******XXXX)
*/
CardNumber: string;
}>;

export type ProcessPaymentSchemaInput = z.input<typeof ProcessPaymentSchema>;

export const RefundSchema = z.object({
/**
* Canal de pago.
Expand Down Expand Up @@ -314,5 +245,3 @@ export const RefundSchema = z.object({
*/
azulOrderId: z.string()
});

export type RefundSchemaInput = z.input<typeof RefundSchema>;
74 changes: 74 additions & 0 deletions src/azul-api/process-payment/types.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
import { ProcessPaymentSchema } from './schemas';
import { z } from 'zod';
import { RefundSchema } from './schemas';

export type ProcessPaymentResponse = Partial<{
/**
* Código de autorización generado por el centro autorizador para la
* transacción.
* Sólo presente si la transacción fue aprobada. ISOCode = ISO8583 y
* ResponseCode = 00
*/
AuthorizationCode: string;
/**
* Numero Identificador dada por el afiliado a la transacción. Si no
* fue provisto en la transacción, este campo viaja en blanco
*/
CustomOrderId: string;
/**
* Fecha y hora de la transacción.
* Formato YYYYMMDDHHMMSS.
*/
DateTime: string;
/**
* Descripción del error.
* Valor sólo presente si la transacción produjo un error. En caso de
* no presentar error ese campo viaja en blanco
*/
ErrorDescription: string;
/**
* Código ISO-8583 recibido de respuesta.
* Nota: En la documentación de Azul, este campo se llama ISOCode
*/
IsoCode: string;
/**
* Número de lote en que se registró la transacción
*/
LotNumber: string;
/**
* Número de referencia
* (Reference referral number).
*/
RRN: string;
/**
* Número de orden Azul. Puede ser usado en vez del RRN para generar una
* devolución. Importante dar prioridad a este valor sobre el RRN.
*/
AzulOrderId: string;
/**
* Código de respuesta.
* Puede contener uno de los siguientes valores:
* Iso8583 = la transacción fue procesada. Se debe revisar el
* campo ISOCode para ver la respuesta de la transacción Error =
* La transacción no fue procesada.
*/
ResponseCode: 'ISO8583' | 'Error';
/**
* Mensaje de respuesta ISO-8583.
* Valor sólo presente si el ResponseCode = ISO8583
*/
ResponseMessage: string;
/**
* Número del ticket correspondiente a la transacción
*/
Ticket: string;
/**
* Tarjeta usada para la transacción, enmascarada
* (XXXXXX******XXXX)
*/
CardNumber: string;
}>;

export type ProcessPaymentSchemaInput = z.input<typeof ProcessPaymentSchema>;

export type RefundSchemaInput = z.input<typeof RefundSchema>;
2 changes: 2 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ import AzulAPI from './azul-api/api';

export { AzulPage, AzulAPI };
export * from './azul-api/secure/types';
export * from './azul-api/process-payment/types';
export * from './azul-api/data-vault/types';

0 comments on commit 0a8c6d7

Please sign in to comment.