> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pay-me.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Api de Consulta con Yape

> Consulta el estado de una operación con Yape en PayIn.

Usa esta consulta para validar el estado de cobros con Yape cuando necesitas respaldo adicional, conciliación o confirmación final desde backend.

<ParamField path="GET /charges/{merchant_code}/{merchant_operation_number}/{transaction_id}" type="endpoint" />

<Note>
  Este flujo usa la misma estructura general documentada en el [Overview de Consulta](/payin/consulta). Aquí se detalla específicamente el objeto `operation.transactions[]` para pagos con Yape.
</Note>

***

## ¿Cuándo usarla?

<CardGroup cols={2}>
  <Card title="Conciliación" icon="rotate">
    Cuando necesitas contrastar el estado del pago con tu sistema o con el resultado registrado por tu backend.
  </Card>

  <Card title="Segunda validación" icon="shield-check">
    Cuando debes confirmar desde backend si el cobro con Yape terminó autorizado, denegado, extornado o liquidado.
  </Card>

  <Card title="Soporte operativo" icon="life-ring">
    Cuando requieres revisar una operación reportada por el comercio o por el usuario final.
  </Card>

  <Card title="Checkout Web (Flex)" icon="globe">
    Si integras Flex, úsala como validación final del resultado antes de marcar la orden como pagada.
  </Card>
</CardGroup>

***

## Consideraciones

<Note>
  Conserva `merchant_code`, `merchant_operation_number` y `transaction_id` desde la autorización para consultar sin ambigüedad.
</Note>

<Note>
  En esta documentación se usa `method_details` para mantener consistencia con el resto de la referencia. Si en material previo encuentras `method_detail`, trátalo como el mismo objeto.
</Note>

***

## Response

Objeto `operation.transactions[]` para pagos con Yape dentro de la trama de respuesta del [API de Consulta](/payin/consulta).

### Objeto `operation.transactions[]`

| Campo                                                    | Descripción                                                                                                                       | Tipo   | Obligatorio |
| :------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------- | :----- | :---------- |
| `operation.transactions[].transaction_id`                | Identificador único de la transacción.                                                                                            | String | SI          |
| `operation.transactions[].channel`                       | Canal por el cual se realizó la transacción. Valor esperado: `ecommerce`.                                                         | String | SI          |
| `operation.transactions[].state`                         | Estado actual de la transacción. Valores frecuentes: `PENDIENTE`, `INVALIDO`, `AUTORIZADO`, `DENEGADO`, `EXTORNADO`, `LIQUIDADO`. | String | SI          |
| `operation.transactions[].state_reason`                  | Observación o detalle del estado.                                                                                                 | String | SI          |
| `operation.transactions[].amount`                        | Monto de la transacción.                                                                                                          | String | SI          |
| `operation.transactions[].currency`                      | Código de la moneda de la operación.                                                                                              | String | SI          |
| `operation.transactions[].payment_method`                | Objeto que contiene información sobre el método de pago usado en la transacción.                                                  | Object | SI          |
| `operation.transactions[].payment_method.method_name`    | Nombre del método de pago usado en la transacción. Valor esperado: `YAPE`.                                                        | String | SI          |
| `operation.transactions[].payment_method.method_details` | Objeto que contiene información detallada relacionada al método.                                                                  | Object | SI          |
| `operation.transactions[].processor_response`            | Visible normalmente en estados `AUTORIZADO`, `DENEGADO` o `EXTORNADO`. Objeto que contiene el resultado de la autorización.       | Object | NO          |
| `operation.transactions[].additional_fields`             | Objeto que contiene los datos adicionales de la transacción enviados en el request.                                               | Object | NO          |
| `operation.transactions[].lifecycle`                     | Array que contiene el listado de estados por los cuales pasó la transacción.                                                      | Array  | SI          |

***

### Objeto `operation.transactions[].payment_method.method_details`

| Campo                                                                 | Descripción                                                                                   | Tipo   | Obligatorio |
| :-------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------- | :----- | :---------- |
| `operation.transactions[].payment_method.method_details.phone`        | Objeto `phone` que contiene la información del número telefónico usado para realizar el Yape. | Object | SI          |
| `operation.transactions[].payment_method.method_details.masked_pan`   | Tarjeta enmascarada usada en la transacción.                                                  | String | SI          |
| `operation.transactions[].payment_method.method_details.brand`        | Marca de la tarjeta usada en la transacción.                                                  | String | SI          |
| `operation.transactions[].payment_method.method_details.bin`          | BIN de la tarjeta usada en la transacción.                                                    | String | SI          |
| `operation.transactions[].payment_method.method_details.last_pan`     | Últimos 4 dígitos de la tarjeta usada en la transacción.                                      | String | SI          |
| `operation.transactions[].payment_method.method_details.card_type`    | Tipo de tarjeta.                                                                              | String | SI          |
| `operation.transactions[].payment_method.method_details.card_country` | País de la tarjeta.                                                                           | String | SI          |
| `operation.transactions[].payment_method.method_details.issuer`       | Banco emisor de la tarjeta.                                                                   | String | SI          |
| `operation.transactions[].payment_method.method_details.callback_url` | URL del callback enviado en el request.                                                       | String | NO          |

***

### Objeto `operation.transactions[].payment_method.method_details.phone`

| Campo                                                                       | Descripción      | Tipo   | Obligatorio |
| :-------------------------------------------------------------------------- | :--------------- | :----- | :---------- |
| `operation.transactions[].payment_method.method_details.phone.country_code` | Código del país. | String | SI          |
| `operation.transactions[].payment_method.method_details.phone.subscriber`   | Número celular.  | String | SI          |

***

### Objeto `operation.transactions[].processor_response`

| Campo                                                              | Descripción                                                      | Tipo   | Obligatorio |
| :----------------------------------------------------------------- | :--------------------------------------------------------------- | :----- | :---------- |
| `operation.transactions[].processor_response.authorization_code`   | Código de autorización.                                          | String | NO          |
| `operation.transactions[].processor_response.brand_transaction_id` | ID de la transacción ante la marca.                              | String | NO          |
| `operation.transactions[].processor_response.result_message`       | Objeto que contiene el mensaje del resultado de la autorización. | Object | NO          |

***

### Objeto `operation.transactions[].processor_response.result_message`

| Campo                                                                    | Descripción                                   | Tipo   | Obligatorio |
| :----------------------------------------------------------------------- | :-------------------------------------------- | :----- | :---------- |
| `operation.transactions[].processor_response.result_message.code`        | Código del resultado de la autorización.      | String | NO          |
| `operation.transactions[].processor_response.result_message.description` | Descripción del resultado de la autorización. | String | NO          |

***

### Objeto `operation.transactions[].lifecycle`

| Campo                                        | Descripción                                                                                                                              | Tipo   | Obligatorio |
| :------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------------------- | :----- | :---------- |
| `operation.transactions[].lifecycle[].state` | Estado de la transacción. Valores frecuentes: `REGISTRADO`, `PENDIENTE`, `INVALIDO`, `AUTORIZADO`, `DENEGADO`, `EXTORNADO`, `LIQUIDADO`. | String | SI          |
| `operation.transactions[].lifecycle[].date`  | Objeto que contiene la fecha en la que se realizó el cambio de estado.                                                                   | Object | SI          |

***

### Objeto `operation.transactions[].lifecycle[].date`

| Campo                                                 | Descripción         | Tipo    | Obligatorio |
| :---------------------------------------------------- | :------------------ | :------ | :---------- |
| `operation.transactions[].lifecycle[].date.utc_time`  | Fecha en UTC.       | String  | SI          |
| `operation.transactions[].lifecycle[].date.unix_time` | Fecha en Unix time. | Integer | SI          |

***

## Ejemplo

Response de consulta de Yape.

```json theme={"system"}
{
  "success": true,
  "merchant_code": "abc",
  "operation": {
    "merchant_operation_number": "2391645",
    "state": "AUTORIZADO",
    "amount": "15000",
    "currency": "604",
    "transactions": [
      {
        "transaction_id": "5hk8rwa3h3cq9oyfs3a28v1ms",
        "channel": "ecommerce",
        "state": "AUTORIZADO",
        "state_reason": "Approval and completed successfully",
        "amount": "15000",
        "currency": "604",
        "payment_method": {
          "method_name": "YAPE",
          "method_details": {
            "phone": {
              "country_code": "+51",
              "subscriber": "969929157"
            },
            "masked_pan": "455788******9268",
            "brand": "VISA",
            "bin": "455788",
            "last_pan": "9268",
            "card_type": "DEBIT",
            "card_country": "PE",
            "issuer": "BANCO DE CREDITO DEL PERU - BCP",
            "callback_url": "https://pay-me.com/callback"
          }
        },
        "processor_response": {
          "authorization_code": "055552",
          "brand_transaction_id": "A055552",
          "result_message": {
            "code": "00",
            "description": "Approval and completed successfully"
          }
        },
        "lifecycle": [
          {
            "state": "REGISTRADO",
            "date": {
              "utc_time": "2024-03-12T22:49:36.018Z",
              "unix_time": 1710282940
            }
          },
          {
            "state": "PENDIENTE",
            "date": {
              "utc_time": "2024-03-12T22:49:36.018Z",
              "unix_time": 1710282940
            }
          },
          {
            "state": "AUTORIZADO",
            "date": {
              "utc_time": "2024-03-12T22:49:36.018Z",
              "unix_time": 1710282940
            }
          }
        ]
      }
    ]
  },
  "meta": {
    "status": {
      "code": "00",
      "message_ilgn": [
        {
          "locale": "es_PE",
          "value": "Se proceso correctamente"
        }
      ]
    }
  }
}
```

***

## Siguiente paso

<Card title="API de Cancelación" icon="arrow-right" href="/payin/cancelacion">
  Si la operación aún lo permite, revisa el flujo de cancelación.
</Card>
