API de Pagos - FlowPayments
La clase FlowPayments permite interactuar con la API de Pagos de Flow.cl, proporcionando métodos para crear, consultar y gestionar pagos realizados mediante la plataforma.
Inicialización
import Flow from '@nicotordev/flowcl-pagos';
const flow: Flow = new Flow(
'tu_api_key', // string
'tu_secret_key',
'sandbox', // o 'production'
);
const payments = flow.payments;
Métodos Disponibles
Crear Pagos
Crear un pago
payments.create(data: FlowCreatePaymentRequest): Promise<FlowCreatePaymentResponse>
-
Request (
FlowCreatePaymentRequest):commerceOrder:stringsubject:stringcurrency:string(opcional)amount:numberemail:stringpaymentMethod:stringFlowPaymentMethods(opcional) // Este parametro es un numero en la API de Flow, se hace una conversión interna a stringurlReturn:stringurlConfirmation:stringoptional:Record<string, string>(opcional)timeout:number(opcional)merchantId:string(opcional)paymentCurrency:string(opcional)
-
Response (
FlowCreatePaymentResponse):token:stringurl:stringflowOrder:numberredirectUrl:string
Crear Pago por Email
payments.createByEmail(data: FlowCreatePaymentByEmailRequest): Promise<FlowCreatePaymentByEmailResponse>
-
Request (
FlowCreatePaymentByEmailRequest):commerceOrder:stringsubject:stringcurrency:string(opcional)amount:numberemail:stringpaymentMethod:stringFlowPaymentMethods(opcional) // Este parametro es un numero en la API de Flow, se hace una conversión interna a stringurlConfirmation:stringurlReturn:stringoptional:string(opcional)timeout:number(opcional)merchantId:string(opcional)payment_currency:string(opcional)
-
Response (
FlowCreatePaymentByEmailResponse):token:stringurl:stringflowOrder:numberredirectUrl:string
Consultar Estado del Pago
Estado por Token
payments.status.byToken(token: string): Promise<FlowPaymentStatusResponse>
Estado por ID del Comercio
payments.status.byCommerceId(commerceId: string): Promise<FlowPaymentStatusResponse>
Estado por Número de Orden Flow
payments.status.byFlowOrder(flowOrder: number): Promise<FlowPaymentStatusResponse>
-
Response (
FlowPaymentStatusResponse):flowOrder:numbercommerceOrder:stringrequestDate:stringstatus:number1 | 2 | 3 | 4statusStr:FlowPaymentStatussubject:stringcurrency:stringamount:numberpayer:stringoptional:string | nullpendingInfo:{media:stringdate:string}
paymentData:{date: string | null;media: string | null;conversionDate: string | null;conversionRate: number | null;amount: number | null;currency: string | null;fee: number | null;balance: number | null;transferDate: string | null;}(opcional)
merchantId:string(opcional)
Estado Extendido del Pago
Por Token
payments.statusExtended.byToken(token: string): Promise<FlowPaymentsStatusExtendedResponse>
Por número de orden Flow
payments.statusExtended.byFlowOrder(flowOrder: number): Promise<FlowPaymentsStatusExtendedResponse>
- Response (
FlowPaymentsStatusExtendedResponse):flowOrder:numbercommerceOrder:stringrequestDate:stringstatus:1 | 2 | 3 | 4statusStr:FlowPaymentStatussubject:stringcurrency:stringamount:numberpayer:stringoptional:Record<string, unknown> | nullpendingInfo:{media:stringdate:string}
paymentData:{date: string | null;media: string | null;conversionDate: string | null;conversionRate: number | null;amount: number | null;currency: string | null;fee: number | null;balance: number | null;transferDate: string | null;}(opcional)
paymentCurrency:stringpaymentAmount:numberpaymentMethod:stringFlowPaymentMethods(opcional) // Este parametro es un numero en la API de Flow, se hace una conversión interna a stringmerchantId:string(opcional)lastError:{medioCode:stringcode:stringmessage:string}(opcional)
Consultas de Pagos
Listar Pagos Recibidos por Fecha
payments.listPaymentsByDate(data: FlowPaymentsReceivedByDateRequest): Promise<FlowPaymentsReceivedByDateResponse>
-
Request (
FlowPaymentsReceivedByDateRequest):date:string | Datestart:number(opcional)limit:number(opcional)
-
Response (
FlowPaymentsReceivedByDateResponse):total:numberhasMore:0 | 1data:string
Pagos Recibidos Extendidos por Fecha
payments.listPaymentsExtendedByDate(data: FlowTransactionsReceivedByDateRequest): Promise<FlowTransactionsReceivedByDateResponse>
-
Request (
FlowTransactionsReceivedByDateRequest):date:string | Datestart:number(opcional)limit:number(opcional)
-
Response (
FlowTransactionsReceivedByDateResponse):total:numberhasMore:0 | 1data:string
Manejo de Errores
| Error | Descripción |
|---|---|
FlowAPIError | Error general de API de Flow. |
FlowCreatePaymentError | Error al crear un pago. |
FlowCreatePaymentByEmailError | Error al crear un pago por email. |
FlowPaymentStatusError | Error al obtener el estado del pago. |
FlowPaymentsListError | Error al listar pagos por fecha. |
FlowPaymentsStatusExtendedError | Error al obtener el estado extendido del pago. |
Para información adicional, visita la documentación oficial: Flow.cl API Docs - Payments.
Nota: Implementa siempre control de errores robusto en tu aplicación.