### GET /coupon/list
Source: https://developers.flow.cl/es-openApiFlow.yaml
Este servicio permite la lista de cupones de descuento
```markdown
### Parameters
- **apiKey** (string, query, required): apiKey del comercio
- **start** (integer, query, optional): Número de registro de inicio de la página. Si se omite el valor por omisión es 0.
- **limit** (integer, query, optional): Número de registros por página. Si se omite el valor por omisón es 10. El valor máximo es de 100 registros por página.
- **filter** (string, query, optional): Filtro por el nombre del cupón
- **status** (integer, query, optional): Filtro por el estado del cupón:
- 1 Activo
- 0 Inactivo
- **s** (string, query, required): la firma de los parámetros efectuada con su secretKey.
### Responses
#### 200 - El objeto Coupon
**List**
- **total** (number): El número total de registros encontrados (example: 200)
- **hasMore** (boolean): - 1 Si existen más páginas
- 0 Si es la última página
(example: 1)
- **data** (array (object)): arreglo de registros de la página (example: "[{item list 1}{item list 2}{item list n..}")
#### 400 - Error del Api
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
#### 401 - Error de negocio
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
### Example Usage
```bash
curl -X GET "https://www.flow.cl/api/coupon/list?apiKey=string&start=0&limit=0&filter=string&status=0&s=string"
```
```
--------------------------------
### GET /plans/get
Source: https://developers.flow.cl/es-openApiFlow.yaml
Este servicio permite obtener los datos de un Plan de Suscripción
```markdown
### Parameters
- **apiKey** (string, query, required): apiKey del comercio
- **planId** (string, query, required): Identificador del Plan
- **s** (string, query, required): la firma de los parámetros efectuada con su secretKey
### Responses
#### 200 - El objeto Plan
**Plan**
- **planId** (string): Identificador del plan (example: "myPlan01")
- **name** (string): Nombre del plan (example: "Plan junior")
- **currency** (string): Moneda del plan (example: "CLP")
- **amount** (number): Monto del plan (example: 20000)
- **interval** (number): Define la frecuencia de cobro del plan:
- 1 diaria
- 2 semanal
- 3 mesual
- 4 anual
(example: 3)
- **interval_count** (number): Número de intervalos de la frecuencia de cobro del plan, ejemplo:
interal = 2 y interval_count = 2 significaría un plan quincenal.
(example: 1)
- **created** (string (yyyy-mm-dd hh:mm.ss)): Fecha de creación del plan (example: "2017-07-21 12:33:15")
- **trial_period_days** (number): Número de días de Trial (example: 15)
- **days_until_due** (number): Número de días pasados, después de generar un importe, para considerar el importe vencido. (example: 3)
- **periods_number** (number): Número de períodos de duración del plan. Si el plan es de término indefinido el valor de periods_number sera 0 (cero) (example: 12)
- **urlCallback** (string (uri)): URL donde Flow notificará al comercio los pagos efectuados por este plan. (example: "https://www.comercio.cl/flow/suscriptionResult.php")
- **charges_retries_number** (number): Número de reintentos de cargo, por omisión Flow utilizará 3 reintentos. (example: 3)
- **currency_convert_option** (number): Si hay conversión de moneda, en qué momento hará la conversión:
- 1 al pago
- 2 al importe (invoice)
- **status** (number): El estado del plan:
- 1 activo
- 0 eliminado
(example: 1)
- **public** (number): Si el Plan es de visibilidad pública, es decir, expuestos a otras aplicaciones:
- 0 privado
- 1 público
(example: 1)
#### 400 - Error del Api
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
#### 401 - Error de negocio
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
### Example Usage
```bash
curl -X GET "https://www.flow.cl/api/plans/get?apiKey=string&planId=string&s=string"
```
```
--------------------------------
### GET /coupon/get
Source: https://developers.flow.cl/es-openApiFlow.yaml
Este servicio permite obtener los datos de un cupón de descuento
```markdown
### Parameters
- **apiKey** (string, query, required): apiKey del comercio
- **couponId** (string, query, required): Identificador del cupón
- **s** (string, query, required): la firma de los parámetros efectuada con su secretKey.
### Responses
#### 200 - El objeto Coupon
**Coupon**
#### 400 - Error del Api
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
#### 401 - Error de negocio
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
### Example Usage
```bash
curl -X GET "https://www.flow.cl/api/coupon/get?apiKey=string&couponId=string&s=string"
```
```
--------------------------------
### GET /refund/getStatus
Source: https://developers.flow.cl/es-openApiFlow.yaml
Permite obtener el estado de un reembolso solicitado. Este servicio se debe invocar desde la página del comercio que se señaló en el parámetro **urlCallback** del servicio **refund/create**.
```markdown
### Parameters
- **apiKey** (string, query, required): apiKey del comercio
- **token** (string, query, required): token de la solicitud de reembolso enviado por Flow
- **s** (string, query, required): la firma de los parámetros efectuada con su secretKey
### Responses
#### 200 - El objeto RefundStatus
**RefundStatus**
- **token** (string): Token del reembolso (example: "C93B4FAD6D63ED9A3F25D21E5D6DD0105FA8CAAQ")
- **flowRefundOrder** (string): Número de orden de reembolso (example: "122767")
- **date** (string (yyyy-mm-dd hh:mm.ss)): Fecha de solicitud de reembolso (example: "2017-07-21 12:33:15")
- **status** (string): Estado del reembolso, los estado pueden ser:
- created Solicitud creada
- accepted Reembolso aceptado
- rejected Reembolso rechazado
- refunded Reembolso reembolsado
- canceled Reembolso cancelado
(example: "created")
- **amount** (number): Monto del reembolso (example: "12000.00")
- **fee** (number): Costo del servicio de reembolso (example: "240.00")
#### 400 - Error del Api
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
#### 401 - Error de negocio
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
### Example Usage
```bash
curl -X GET "https://www.flow.cl/api/refund/getStatus?apiKey=string&token=string&s=string"
```
```
--------------------------------
### POST /customer/register
Source: https://developers.flow.cl/es-openApiFlow.yaml
Envía a un cliente a registrar su tarjeta de crédito para poder efectuarle cargos automáticos.
El servicio responde con la **URL** para redirigir el browser del pagador y el **token** que identifica la transacción. La **url** de redirección se debe formar concatenando los valores recibidos en la respuesta de la siguiente forma:
> **url** + "?token=" +**token**
Una vez redirigido el browser del cliente, Flow responderá por medio de una llamada POST a la url callback del comercio indicada en el parámetro **url_return** pasando como parámetro **token**. El comercio debe implementar una página y capturar el parámetro token enviado por Flow para luego consumir el servicio "customer/getRegisterStatus" para obtener el resultado del registro.
```markdown
### Request Body
**Content-Type:** application/x-www-form-urlencoded
- **apiKey** (string) (required): apiKey del comercio
- **customerId** (string) (required): Identificador del cliente
- **url_return** (string) (required): Url de página callback donde Flow notifica el resultado del registro
- **s** (string) (required): la firma de los parámetros efectuada con su secretKey
### Responses
#### 200 - Url y token para redireccionar el browser del cliente a registrar su tarjeta de crédito
- **url** (string) (example: "https://www.flow.cl/app/customer/disclaimer.php")
- **token** (string) (example: "41097C28B5BD78C77F589FE4BC59E18AC333F9EU")
#### 400 - Error del Api
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
#### 401 - Error de negocio
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
### Example Usage
```bash
curl -X POST "https://www.flow.cl/api/customer/register" \
-H "Content-Type: application/json" \
-d '{
"apiKey": "string",
"customerId": "string",
"url_return": "string",
"s": "string"
}'
```
```
--------------------------------
### GET /invoice/get
Source: https://developers.flow.cl/es-openApiFlow.yaml
Este servicio permite obtener los datos de un Importe.
```markdown
### Parameters
- **apiKey** (string, query, required): apiKey del comercio
- **invoiceId** (number, query, required): Identificador del Invoice
- **s** (string, query, required): la firma de los parámetros efectuada con su secretKey.
### Responses
#### 200 - El objeto Invoice
**Invoice**
#### 400 - Error del Api
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
#### 401 - Error de negocio
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
### Example Usage
```bash
curl -X GET "https://www.flow.cl/api/invoice/get?apiKey=string&invoiceId=0&s=string"
```
```
--------------------------------
### POST /subscription/create
Source: https://developers.flow.cl/es-openApiFlow.yaml
Este servicio permite crear una nueva suscripción de un cliente a un Plan.
Para crear una nueva suscripción, basta con enviar los parámetros **planId** y **customerId**, los parámetros opcionales son:
| Parámetro | Descripción |
| subscription_start | Fecha de inicio de la suscripción |
| couponId | Identificador de cupón de descuento |
| trial_period_days | Número de días de Trial |
| planAdditionalList | Adicionales de la suscripción |
```markdown
### Request Body
**Content-Type:** application/x-www-form-urlencoded
- **apiKey** (string) (required): apiKey del comercio
- **planId** (string) (required): Identificador del Plan
- **customerId** (string) (required): Identificador del cliente
- **subscription_start** (string (yyyy-mm-dd)): La fecha de inicio de la suscripción
- **couponId** (number): Si quiere aplicarle un descuento, el identificador del cupón de descuento.
- **trial_period_days** (number): Número de días de Trial. Si el parámetro viene presente, se utilizará lo enviado como la cantidad de días de Trial. En caso de no venir presente se utilizará el trial_periods_number configurado en el Plan asociado.
- **periods_number** (number): Número de períodos de duración de la subscripción. Si null, entonces tomará el periods_number del plan.
- **planAdditionalList** (array (number)): Adicionales de la suscripción
- **s** (string) (required): la firma de los parámetros efectuada con su secretKey
### Responses
#### 200 - El objeto Subscription
**Subscription**
- **subscriptionId** (string): Identificador de la suscripción (example: "sus_azcyjj9ycd")
- **planId** (string): Identificador del plan (example: "MiPlanMensual")
- **plan_name** (string): Nombre del plan (example: "Plan mensual")
- **customerId** (string): Identificador del cliente (example: "cus_eblcbsua2g")
- **created** (string (yyyy-mm-dd hh:mm.ss)): Fecha de creación de la suscripción (example: "2018-06-26 17:29:06")
- **subscription_start** (string (yyyy-mm-dd hh:mm.ss)): Fecha de inicio de la suscripción (example: "2018-06-26 17:29:06")
- **subscription_end** (string (yyyy-mm-dd hh:mm:ss)): Fecha de término de la suscripción, si la suscripción no tiene término mostrará valor null. (example: "2019-06-25 00:00:00")
- **period_start** (string (yyyy-mm-dd hh:mm.ss)): Fecha de inicio del período actual. (example: "2018-06-26 00:00:00")
- **period_end** (string (yyyy-mm-dd hh:mm.ss)): Fecha de término del período actual. (example: "2018-06-26 00:00:00")
- **next_invoice_date** (string (yyyy-mm-dd hh:mm.ss)): Fecha del siguiente cobro (example: "2018-06-27 00:00:00")
- **trial_period_days** (number): Número de días de Trial (example: 1)
- **trial_start** (string (yyyy-mm-dd hh:mm.ss)): Fecha de inicio del trial (example: "2018-06-26 00:00:00")
- **trial_end** (string (yyyy-mm-dd hh:mm.ss)): Fecha de término del trial. (example: "2018-06-26 00:00:00")
- **cancel_at_period_end** (number): Si la suscripción será cancelada automáticamente al finalizar el período actual:
- 0 No
- 1 Si
(example: 0)
- **cancel_at** (string): Fecha de cancelación de la suscripción (example: null)
- **periods_number** (number): Número de períodos de vigencia de la suscripción (example: 12)
- **days_until_due** (number): Número de días pasados, después de generar un importe, para considerar el importe vencido. (example: 3)
- **status** (number): Estado de la suscripción:
- 0 Inactivo (no iniciada)
- 1 Activa
- 2 En período de trial
- 4 Cancelada
(example: 1)
- **discount_balance** (string): Monto de balance a favor en la suscripción (example: "20000.0000")
- **newPlanId** (number): Id del nuevo plan programado a cambiarse (example: 12)
- **new_plan_scheduled_change_date** (string): Fecha de cambio de plan programado (example: null)
- **in_new_plan_next_attempt_date** (string): Fecha de proximo intento de cambio de plan (example: null)
- **morose** (number): Si la subscripción está morosa:
- 0 si todos los invoices está pagados.
- 1 si uno o más invoices están vencidos.
- 2 si uno o más invoices están pendiente de pago, pero no vencidos.
(example: 0)
- **discount** (object): Descuento aplicado a una Suscripción
- **id** (number): Identificador del descuento (example: 181)
- **type** (string): Tipo de descuento puede ser de 2 tipos
- Subscription discount
- Customer discount
(example: "Subscription discount")
- **created** (string): Fecha de creación del descuento (example: {})
- **start** (string): Fecha de inicio del descuento (example: {})
- **end** (string): Fecha de término del descuento (example: {})
- **deleted** (string): Fecha en que se eliminó el descuento o null si está vigente (example: {})
- **status** (number): Estado del descuento
- 1 Activo
- 0 Inactivo
(example: 1)
- **coupon** (object)
- **invoices** (array (object)): Lista de los importe efectuados a la suscripción.
- **planAdditionalList** (array (object)): Lista de adicionales asociados a la suscripción. (example: [{"s_item_id":3,"item_id":1,"sub_id":421527,"name":"Test","currency":"CLP","amount":500,"created_at":"2019-09-26 14:12:41","updated_at":"2019-09-26 14:12:41","completeAmountFormat":"$ 500 CLP","amountFormat":"500","adjustmentTypeLabel":"Aumenta"},{"s_item_id":4,"item_id":2,"sub_id":421527,"name":"Test 2","currency":"CLP","amount":500,"created_at":"2019-09-26 14:15:41","updated_at":"2019-09-26 14:15:41","completeAmountFormat":"$ 500 CLP","amountFormat":"500","adjustmentTypeLabel":"Aumenta"},{"s_item_id":5,"item_id":3,"sub_id":421527,"name":"Test 14","currency":"CLP","amount":500,"created_at":"2019-09-26 14:16:41","updated_at":"2019-09-26 14:16:41","completeAmountFormat":"$ 500 CLP","amountFormat":"500","adjustmentTypeLabel":"Aumenta"}])
#### 400 - Error del Api
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
#### 401 - Error de negocio
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
### Example Usage
```bash
curl -X POST "https://www.flow.cl/api/subscription/create" \
-H "Content-Type: application/json" \
-d '{
"apiKey": "string",
"planId": "string",
"customerId": "string",
"subscription_start": "string",
"couponId": "0",
"trial_period_days": "0",
"periods_number": "0",
"planAdditionalList": [
"0"
],
"s": "string"
}'
```
```
--------------------------------
### POST /customer/reverseCharge
Source: https://developers.flow.cl/es-openApiFlow.yaml
Este servicio permite reversar un cargo previamente efectuado a un cliente. Para que el cargo se reverse, este servicio debe ser invocado dentro de las 24 horas siguientes a efectuado el cargo, las 24 horas rigen desde las 14:00 hrs, es decir, si el cargo se efectuó a las 16:00 hrs, este puede reversarse hasta las 14:00 hrs del día siguiente.\n\n
Puede enviar como parámetros el **commerceOrder** o el **flowOrder**.
```markdown
### Request Body
**Content-Type:** application/x-www-form-urlencoded
- **apiKey** (string) (required): apiKey del comercio
- **commerceOrder** (string): Identificador de la orden del comercio
- **flowOrder** (number): Identificador de la orden de Flow
- **s** (string) (required): la firma de los parámetros efectuada con su secretKey
### Responses
#### 200 - El objeto ReverseChargeResponse
**ReverseChargeResponse**
- **status** (string): Estado de la reversa:
- 0 Reversa no efectuada
- 1 Reversa efectuada
(example: "1")
- **message** (string): Mensaje resultado de la reversa (example: "Reverse charge was successful")
#### 400 - Error del Api
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
#### 401 - Error de negocio
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
### Example Usage
```bash
curl -X POST "https://www.flow.cl/api/customer/reverseCharge" \
-H "Content-Type: application/json" \
-d '{
"apiKey": "string",
"commerceOrder": "string",
"flowOrder": "0",
"s": "string"
}'
```
```
--------------------------------
### GET /subscription/get
Source: https://developers.flow.cl/es-openApiFlow.yaml
Este servicio permite obtener los datos de una suscripción.
```markdown
### Parameters
- **apiKey** (string, query, required): apiKeyel comercio
- **subscriptionId** (string, query, required): Identificador de la suscripción
- **s** (string, query, required): la firma de los parámetros efectuada con su secretKey
### Responses
#### 200 - El objeto Subscription
**Subscription**
- **subscriptionId** (string): Identificador de la suscripción (example: "sus_azcyjj9ycd")
- **planId** (string): Identificador del plan (example: "MiPlanMensual")
- **plan_name** (string): Nombre del plan (example: "Plan mensual")
- **customerId** (string): Identificador del cliente (example: "cus_eblcbsua2g")
- **created** (string (yyyy-mm-dd hh:mm.ss)): Fecha de creación de la suscripción (example: "2018-06-26 17:29:06")
- **subscription_start** (string (yyyy-mm-dd hh:mm.ss)): Fecha de inicio de la suscripción (example: "2018-06-26 17:29:06")
- **subscription_end** (string (yyyy-mm-dd hh:mm:ss)): Fecha de término de la suscripción, si la suscripción no tiene término mostrará valor null. (example: "2019-06-25 00:00:00")
- **period_start** (string (yyyy-mm-dd hh:mm.ss)): Fecha de inicio del período actual. (example: "2018-06-26 00:00:00")
- **period_end** (string (yyyy-mm-dd hh:mm.ss)): Fecha de término del período actual. (example: "2018-06-26 00:00:00")
- **next_invoice_date** (string (yyyy-mm-dd hh:mm.ss)): Fecha del siguiente cobro (example: "2018-06-27 00:00:00")
- **trial_period_days** (number): Número de días de Trial (example: 1)
- **trial_start** (string (yyyy-mm-dd hh:mm.ss)): Fecha de inicio del trial (example: "2018-06-26 00:00:00")
- **trial_end** (string (yyyy-mm-dd hh:mm.ss)): Fecha de término del trial. (example: "2018-06-26 00:00:00")
- **cancel_at_period_end** (number): Si la suscripción será cancelada automáticamente al finalizar el período actual:
- 0 No
- 1 Si
(example: 0)
- **cancel_at** (string): Fecha de cancelación de la suscripción (example: null)
- **periods_number** (number): Número de períodos de vigencia de la suscripción (example: 12)
- **days_until_due** (number): Número de días pasados, después de generar un importe, para considerar el importe vencido. (example: 3)
- **status** (number): Estado de la suscripción:
- 0 Inactivo (no iniciada)
- 1 Activa
- 2 En período de trial
- 4 Cancelada
(example: 1)
- **discount_balance** (string): Monto de balance a favor en la suscripción (example: "20000.0000")
- **newPlanId** (number): Id del nuevo plan programado a cambiarse (example: 12)
- **new_plan_scheduled_change_date** (string): Fecha de cambio de plan programado (example: null)
- **in_new_plan_next_attempt_date** (string): Fecha de proximo intento de cambio de plan (example: null)
- **morose** (number): Si la subscripción está morosa:
- 0 si todos los invoices está pagados.
- 1 si uno o más invoices están vencidos.
- 2 si uno o más invoices están pendiente de pago, pero no vencidos.
(example: 0)
- **discount** (object): Descuento aplicado a una Suscripción
- **id** (number): Identificador del descuento (example: 181)
- **type** (string): Tipo de descuento puede ser de 2 tipos
- Subscription discount
- Customer discount
(example: "Subscription discount")
- **created** (string): Fecha de creación del descuento (example: {})
- **start** (string): Fecha de inicio del descuento (example: {})
- **end** (string): Fecha de término del descuento (example: {})
- **deleted** (string): Fecha en que se eliminó el descuento o null si está vigente (example: {})
- **status** (number): Estado del descuento
- 1 Activo
- 0 Inactivo
(example: 1)
- **coupon** (object)
- **invoices** (array (object)): Lista de los importe efectuados a la suscripción.
- **planAdditionalList** (array (object)): Lista de adicionales asociados a la suscripción. (example: [{"s_item_id":3,"item_id":1,"sub_id":421527,"name":"Test","currency":"CLP","amount":500,"created_at":"2019-09-26 14:12:41","updated_at":"2019-09-26 14:12:41","completeAmountFormat":"$ 500 CLP","amountFormat":"500","adjustmentTypeLabel":"Aumenta"},{"s_item_id":4,"item_id":2,"sub_id":421527,"name":"Test 2","currency":"CLP","amount":500,"created_at":"2019-09-26 14:15:41","updated_at":"2019-09-26 14:15:41","completeAmountFormat":"$ 500 CLP","amountFormat":"500","adjustmentTypeLabel":"Aumenta"},{"s_item_id":5,"item_id":3,"sub_id":421527,"name":"Test 14","currency":"CLP","amount":500,"created_at":"2019-09-26 14:16:41","updated_at":"2019-09-26 14:16:41","completeAmountFormat":"$ 500 CLP","amountFormat":"500","adjustmentTypeLabel":"Aumenta"}])
#### 400 - Error del Api
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
#### 401 - Error de negocio
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
### Example Usage
```bash
curl -X GET "https://www.flow.cl/api/subscription/get?apiKey=string&subscriptionId=string&s=string"
```
```
--------------------------------
### GET /subscription_item/list
Source: https://developers.flow.cl/es-openApiFlow.yaml
Este servicio permite la lista de items adicionales de suscripción
```markdown
### Parameters
- **apiKey** (string, query, required): apiKey del comercio
- **start** (integer, query, optional): Número de registro de inicio de la página. Si se omite el valor por omisión es 0.
- **limit** (integer, query, optional): Número de registros por página. Si se omite el valor por omisón es 10. El valor máximo es de 100 registros por página.
- **filter** (string, query, optional): Filtro por el nombre del item adicional
- **status** (integer, query, optional): Filtro por el estado del item adicional:
- 1 Activo
- 0 Inactivo
- **s** (string, query, required): la firma de los parámetros efectuada con su secretKey.
### Responses
#### 200 - El objeto ItemAdditional
**List**
- **total** (number): El número total de registros encontrados (example: 200)
- **hasMore** (boolean): - 1 Si existen más páginas
- 0 Si es la última página
(example: 1)
- **data** (array (object)): arreglo de registros de la página (example: "[{item list 1}{item list 2}{item list n..}")
#### 400 - Error del Api
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
#### 401 - Error de negocio
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
### Example Usage
```bash
curl -X GET "https://www.flow.cl/api/subscription_item/list?apiKey=string&start=0&limit=0&filter=string&status=0&s=string"
```
```
--------------------------------
### POST /payment/create
Source: https://developers.flow.cl/es-openApiFlow.yaml
Este método permite crear una orden de pago a **Flow** y recibe como respuesta la **URL** para redirigir el browser del pagador y el **token** que identifica la transacción. La url de redirección se debe formar concatenando los valores recibidos en la respuesta de la siguiente forma:
**url** + "?token=" +**token**
Una vez que el pagador efectúe el pago, **Flow** notificará el resultado a la página del comercio que se envió en el parámetro **urlConfirmation**.
```markdown
### Request Body
**Content-Type:** application/x-www-form-urlencoded
- **apiKey** (string) (required): apiKey del comercio
- **commerceOrder** (string) (required): Orden del comercio
- **subject** (string) (required): Descripción de la orden
- **currency** (string): Moneda de la orden
- **amount** (number) (required): Monto de la orden
- **email** (string (email)) (required): email del pagador
- **paymentMethod** (integer): Identificador del medio de pago. Si se envía el identificador, el pagador será redireccionado directamente al medio de pago que se indique, de lo contrario Flow le presentará una página para seleccionarlo. El medio de pago debe haber sido previamente contratado. Podrá ver los identificadores de sus medios de pago en la sección "Medios de pago" ingresando a Flow con sus credenciales. Para indicar todos los medios de pago utilice el identificador:
- 9 Todos los medios
- **urlConfirmation** (string (uri)) (required): url callback del comercio donde Flow confirmará el pago
- **urlReturn** (string (uri)) (required): url de retorno del comercio donde Flow redirigirá al pagador
- **optional** (string): Datos opcionales en formato JSON clave = valor, ejemplo:
{"rut":"9999999-9","nombre":"cliente 1"}
- **timeout** (integer): tiempo en segundos para que una orden expire después de haber sido creada. Si no se envía este parámetro la orden no expirará y estará vigente para pago por tiempo indefinido. Si envía un valor en segundos, la orden expirará x segundos después de haber sido creada y no podrá pagarse.
- **merchantId** (string): Id de comercio asociado. Solo aplica si usted es comercio integrador.
- **payment_currency** (string): Moneda en que se espera se pague la orden
- **s** (string) (required): la firma de los parámetros efectuada con su secretKey
### Responses
#### 200 - url y token para redirigir el browser del pagador La url de redirección se debe formar concatenando los valores recibidos en la respuesta de la siguiente forma:
**url** + "?token=" +**token**
**PayResponse**
- **url** (string): URL ha redireccionar. Para formar el link de pago a esta URL se debe concatenar el token de la siguiente manera:
url + "?token=" + token
(example: "https://api.flow.cl")
- **token** (string): token de la transacción (example: "33373581FC32576FAF33C46FC6454B1FFEBD7E1H")
- **flowOrder** (number): Número de order de cobro Flow (example: 8765456)
#### 400 - Error del Api
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
#### 401 - Error de negocio
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
### Example Usage
```bash
curl -X POST "https://www.flow.cl/api/payment/create" \
-H "Content-Type: application/json" \
-d '{
"apiKey": "string",
"commerceOrder": "string",
"subject": "string",
"currency": "string",
"amount": "0",
"email": "user@example.com",
"paymentMethod": "0",
"urlConfirmation": "string",
"urlReturn": "string",
"optional": "string",
"timeout": "0",
"merchantId": "string",
"payment_currency": "string",
"s": "string"
}'
```
```
--------------------------------
### POST /refund/create
Source: https://developers.flow.cl/es-openApiFlow.yaml
Este servicio permite crear una orden de reembolso. Una vez que el receptor del reembolso acepte o rechaze el reembolso, **Flow** notificará vía POST a la página del comercio identificada en **urlCallback** pasando como parámetro **token**
En esta página, el comercio debe invocar el servicio **refund/getStatus** para obtener el estado del reembolso.
```markdown
### Request Body
**Content-Type:** application/x-www-form-urlencoded
- **apiKey** (string) (required): apiKey del comercio
- **refundCommerceOrder** (string) (required): La orden de reembolso del comercio
- **receiverEmail** (string) (required): Email del receptor del reembolso
- **amount** (number) (required): Monto del reembolso
- **urlCallBack** (string) (required): La url callback del comercio donde Flow comunica el estado del reembolso
- **commerceTrxId** (string): Identificador del comercio de la transacción original que se va reembolsar
- **flowTrxId** (string): Identificador de Flow de la transacción original que se va reembolsar.
- **s** (string) (required): la firma de los parámetros efectuada con su secretKey
### Responses
#### 200 - El objeto RefundStatus
**RefundStatus**
- **token** (string): Token del reembolso (example: "C93B4FAD6D63ED9A3F25D21E5D6DD0105FA8CAAQ")
- **flowRefundOrder** (string): Número de orden de reembolso (example: "122767")
- **date** (string (yyyy-mm-dd hh:mm.ss)): Fecha de solicitud de reembolso (example: "2017-07-21 12:33:15")
- **status** (string): Estado del reembolso, los estado pueden ser:
- created Solicitud creada
- accepted Reembolso aceptado
- rejected Reembolso rechazado
- refunded Reembolso reembolsado
- canceled Reembolso cancelado
(example: "created")
- **amount** (number): Monto del reembolso (example: "12000.00")
- **fee** (number): Costo del servicio de reembolso (example: "240.00")
#### 400 - Error del Api
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
#### 401 - Error de negocio
**Error**
- **code** (number): Código de error (example: 401)
- **message** (string): Mensaje de error (example: "Bad Request")
### Example Usage
```bash
curl -X POST "https://www.flow.cl/api/refund/create" \
-H "Content-Type: application/json" \
-d '{
"apiKey": "string",
"refundCommerceOrder": "string",
"receiverEmail": "string",
"amount": "0",
"urlCallBack": "string",
"commerceTrxId": "string",
"flowTrxId": "string",
"s": "string"
}'
```
```