Reversar un pedido pagado

Reversar un pedido pagado

La acción de reversar está disponible cuando el cliente pagó utilizando tarjeta a través de la procesadora Bancard, también en los medios de pago Zimple, Tigo Money y Billetera Personal. Esta petición debe hacerse el mismo día del pago para que sea hecha la reversión. En caso que se realice el pedido de reversión al día siguiente o los siguientes días, el pedido de reversión se agendará. Es importante acotar que incluso si solicita la reversión en las últimas horas del día, este podría agendarse en lugar de aplicarse inmediatamente la reversión.

Si desea reversar un pedido pagado con algún medio de pago distinto a los mencionados anteriormente, puede enviar un e-mail a reversiones@pagopar.com solicitando la reversión del pedido específico.

Método: POST

Generación de token

token: sha1(token_privado + 'PEDIDO-REVERSAR')

Datos a enviar

{
    "hash_pedido": "7c07355e5a54d181cde995a8790ee9c7",
    "token": "df1da6932deb72eca5828ac5641d3bf6",
    "token_publico": "35a10eafefc6e8a22099450918383cd0"
}

Explicación de los campos
Campo
Descripción
Ejemplo
hash_pedido
Hash identificador del pedido
7c07355e5a54d181cde995a8790ee9c7
token
Se genera: sha1(token_privado + 'PEDIDO-REVERSAR')
df1da6932deb72eca5828ac5641d3bf6
token_publico
Clave publica del comercio 
35a10eafefc6e8a22099450918383cd0


Datos de respuesta en caso de realizarse satisfactoriamente la reversión en tiempo real
{
  "respuesta": true,
  "resultado": [
    {
      "pedido": "2792947",
      "hash": "63b42f5f77dba52d9ad9981a489643ecc46ae29676692277f4c28397c2616197",
      "forma_pago": "14",
      "transaccion": "2434418",
      "estado_transaccion": "2",
      "tiempo_reversion": "Inmediata",
      "otros_datos": {
        "json_respuesta": {
          "status": "success",
          "confirmation": {
            "token": "d2126a0f6abb1a66d0a8f2546d19822d",
            "shop_process_id": 2434418,
            "response": "S",
            "response_details": "Procesado Satisfactoriamente",
            "amount": "38000.00",
            "currency": "PYG",
            "authorization_number": "791317",
            "ticket_number": "2939784103",
            "response_code": "00",
            "response_description": "Transaccion aprobada",
            "extended_response_description": null,
            "security_information": {
              "card_source": "L",
              "customer_ip": "159.203.178.112",
              "card_country": "PARAGUAY",
              "version": "0.3",
              "risk_index": 0
            }
          }
        },
        "fecha_respuesta": "2022-04-14T12:35:00",
        "json_reversion": {
          "status": "success",
          "messages": [
            {
              "key": "RollbackSuccessful",
              "dsc": "Transacción Aprobada",
              "level": "info"
            }
          ]
        },
        "fecha_reversion": "2022-04-14T12:55:00",
        "estado_transaccion": 3,
        "forma_pago": 14
      },
      "pagado": false
    }
  ]
}

Si respuesta es true y resultado.[0].tiempo_reversion = "Inmediata", significa que la reversión ha sido aplicada satisfactoriamente.

CamposDescripciónEjemplo
respuestaSi es true, es porque se ejecutó el endpoint satisfactoriamentetrue
resultado.pedidoIdentificador de pedido generado por Pagopar y asociado al hash de pedido2792947
resultado.hashHash identificador del pedido, generado por Pagopar63b42f5f77dba52d9ad9981a489643ecc46ae29676692277f4c28397c2616197
resultado.forma_pago314
resultado.transaccionIdentificador de transacción, de uso mayormente interno2434418
resultado.estado_transaccionIdentificador del estado de pago, de uso interno2
resultado.tiempo_reversion"Inmediata" si se aplica la reversión inmediata. "Agendada" si se programaInmediata
resultado.otros_datosDatos adicionales asociados al pedido, de uso mayormente interno(Array variable)

Datos de respuesta en caso de realizarse satisfactoriamente la reversión en tiempo real
{
  "respuesta": true,
  "resultado": [
    {
      "pedido": "2810362",
      "hash": "d3f692c39c80dec9f416ebf2ea4dfc4a84a4cbca9d2e105f9d885397886bf5e5",
      "forma_pago": "10",
      "transaccion": "2451796",
      "estado_transaccion": "2",
      "tiempo_reversion": "Agendada"
    }
  ]


Si respuesta es true y resultado.[0].tiempo_reversion = "Agendada", significa que la reversión ha sido programada para aplicarse de forma manual.

Como en este caso la reversión es programada, probablemente necesitemos saber cuándo se aplica efectivamente. Para saber si la reversión fue aplicada, puede hacer la siguiente petición:

Método: POST
{
  "hash_pedido": "7c07355e5a54d181cde995a8790ee9c7",
  "token": "e7007e9913d378805a6637ac91b4e394afb4fc06",
  "token_publico": "35a10eafefc6e8a22099450918383cd0",
  "datos_adicionales": true
}

Explicación de los campos
Campo
Descripción
Ejemplo
hash_pedidoHash identificador del pedido7c07355e5a54d181cde995a8790ee9c7
tokenSe genera: sha1(token_privado + 'CONSULTAR')df1da6932deb72eca5828ac5641d3bf6
token_publicoClave publica del comercio 35a10eafefc6e8a22099450918383cd0
datos_adicionales
Si se quieren obtener datos secundarios/adicionales sobre el pedido, para este caso, se debe enviar true
true

Datos de respuesta de Pagopar:

{
  "respuesta": true,
  "resultado": [
    {
      "pagado": false,
      "forma_pago": "Bancard - Catastrar Tarjeta",
      "fecha_pago": null,
      "monto": "38000.00",
      "fecha_maxima_pago": "2022-04-16 12:39:58",
      "hash_pedido": "63b42f5f77dba52d9ad9981a489643ecc46ae29676692277f4c28397c2616197",
      "numero_pedido": "2792947",
      "cancelado": true,
      "forma_pago_identificador": "14",
      "token": "9f7022a58d99a6703ca2ef5e18543e054293c65b",
      "datos_adicionales": [
        {
          "json_respuesta": {
            "status": "success",
            "confirmation": {
              "token": "d2126a0f6abb1a66d0a8f2546d19822d",
              "shop_process_id": 2434418,
              "response": "S",
              "response_details": "Procesado Satisfactoriamente",
              "amount": "38000.00",
              "currency": "PYG",
              "authorization_number": "791317",
              "ticket_number": "2939784103",
              "response_code": "00",
              "response_description": "Transaccion aprobada",
              "extended_response_description": null,
              "security_information": {
                "card_source": "L",
                "customer_ip": "159.203.178.112",
                "card_country": "PARAGUAY",
                "version": "0.3",
                "risk_index": 0
              }
            }
          },
          "fecha_respuesta": "2022-04-14T12:35:00",
          "json_reversion": {
            "status": "success",
            "messages": [
              {
                "key": "RollbackSuccessful",
                "dsc": "Transacción Aprobada",
                "level": "info"
              }
            ]
          },
          "fecha_reversion": "2022-04-14T12:55:00",
          "estado_transaccion": 3,
          "forma_pago": 14
        }
      ]
    }
  ]
}

Explicación de los campos
Campos
Descripción
Ejemplo
respuesta
Si es true, es porque se ejecutó el endpoint satisfactoriamente 
true
resultado.pagadoSi es false, es porque no está pagado, si es true, es porque está pagadofalse
resultado.forma_pagoDescripción del medio de pago con el cual fue pagado o elegido para pagarBancard - Catastrar Tarjeta
resultado.fecha_pagoFecha del pago. Si es null es porque no está pagado o porque se reversó la transacciónnull
resultado.montoMonto del pedido38000
resultado.fecha_maxima_pagoFecha máxima que se tiene para pagar el pedido2022-04-16 12:39:58
resultado.hash_pedidoHash identificador del pedido, generado por Pagopar63b42f5f77dba52d9ad9981a489643ecc46ae29676692277f4c28397c2616197
resultado.numero_pedidoNumero de pedido identificador generado por Pagopar2792947
resultado.canceladoSi es true, es porque el pedido fue cancelado, sucede cuando se cumple la fecha máxima de pago (fecha_maxima_pago) false
resultado.forma_pago_identificadorIdentificador interno de Pagopar para la forma de pago 14
resultado.token00
resultado.datos_adicionalesDatos adicionales mayormente de uso interno relacionado al pedido0
resultado.datos_adicionales.fecha_reversionFecha de reversión, si ya se realizó2022-04-14T12:55:00

Para determinar si una reversión ya se realizó, en caso de que haya sido agendada anteriormente, se debe verificar el valor de resultado.datos_adicionales.fecha_reversión, si esta es de valor null, es porque aún no se ha aplicado dicha reversión, si contiene una fecha, es porque ya se realizó la reversión.

Datos de respuesta en caso de no haberse realizado la reversión ni inmediata ni de pudo agendarse
{
    "respuesta": false,
    "resultado": "Expiró el tiempo máximo para realizar la reversión de este pedido."
}






    • Related Articles

    • Modificar un pedido

      Si por motivos propio de su negocio necesite modificar un pedido previamente creado, el siguiente endpoint le permitirá hacerlo: Método: POST URL: https://api.pagopar.com/api/pedidos/1.1/cambiar-datos/ Generación de token:  sha1(token_privado + ...
    • Entornos y pase a Producción

      Entornos de desarrollo y producción En Pagopar existen dos entornos, por defecto, cuando uno empieza la integración se están utilizando las claves públicas y privadas de desarrollo/staging, una vez terminado la integración, debe pasar a producción y ...
    • API - Integración de medios de pagos

      Flujo normal de compra Paso #1: El comercio crea un pedido en Pagopar Paso #2: El comercio redirecciona a la página de Checkout de Pagopar Paso #3: Pagopar notifica al comercio sobre el pago Paso #4: Pagopar redirecciona a la página del resultado de ...
    • Consulta tracking

      Descripción Si utilizó las funcionalidades de couriers ofrecidos por Pagopar (AEX, Mobi), puede que quiera consultar el estado del tracking de un pedido o de un producto específico, este endpoint le permite realizar dicha operación. ...
    • Pagos Recurrentes vía Bancard/Pagopar

      Pagos recurrentes con Tarjeta de credito/débito vía Bancard en Pagopar Primeros pasos Descripción La funcionalidad de pagos recurrentes vía Bancard a traves de Pagopar permite realizar un pago en cualquier momento, de una tarjeta de crédito/débito ...