Para cualquier consulta estamos a un clic

Hacer una pregunta

Después del pago

Después de realizar el pago puedes gestionarlo en el panel personal del portal del vendedor o a través de API. Lee las secciones a continuación para saber más.

Cancelación y devolución de pago

Si desea cancelar un pago, puede realizar una de dos operaciones, dependiendo del estado del pedido: cancelación o devolución. Estas operaciones se describen a continuación.

Cancelación

Cancelación significa que la transacción se cancela, y todos los fondos reservados en la cuenta del cliente se desbloquean. Esta operación puede aplicarse a transacciones de dos etapas, cuando los fondos están reservados, pero aún no recibidos (estado Confirmado). Después de la cancelación, la transacción obtiene el estado Cancelado.

Están disponibles los siguientes métodos de cancelación:

La cancelación solo puede realizarse antes del final del día bancario actual.

Devolución de fondos

Devolución significa la devolución al cliente de los fondos ya debitados. Esta operación puede aplicarse a transacciones de una etapa y dos etapas, cuando los fondos ya han sido debitados (estado Completado). El sistema permite devolver fondos más de una vez, pero en total no más del importe inicial de completación.

Son posibles los siguientes métodos de procesamiento de devolución:

Tanto la cancelación como el reembolso pueden ser asignados por triggers de notificaciones callback. Lea más detalles aquí.

Obtención del estado del pedido

Puede verificar el estado del pedido en cualquier momento. Por ejemplo, puede verificarlo después del pago para asegurarse de que el pedido realmente esté pagado. El estado del pedido está disponible en el portal del vendedor, y también puede obtenerse a través de API.

Determinación del estado del pedido en el portal del vendedor

El estado del pedido se puede consultar en la página Detalles de la transacción de la transacción correspondiente.

El estado Deposited significa pago exitoso.

Determinación del estado del pedido a través de API

Para obtener el estado del pedido, la tienda online envía a la pasarela de pago una solicitud getOrderStatusExtended.do. La solicitud contiene ya sea orderId (número único del pedido en la pasarela de pago), o orderNumber (número único del pedido en el sistema de la tienda online). Si en la solicitud se transmiten ambos parámetros, la prioridad de orderId es mayor.

La pasarela de pago devuelve el estado del pedido en el parámetro orderStatus. El estado 2 significa pago exitoso.

Funcionalidades adicionales

Pagos de dos etapas

Tipos de pagos

Dependiendo de las especificidades del negocio, la empresa puede utilizar dos tipos de pagos:

La suma de finalización puede ser menor que la suma de retención. También existe la posibilidad de hacer finalizaciones por una suma que exceda la magnitud de retención (dentro de los límites configurables). Si desea utilizar esta funcionalidad, contacte con nuestro servicio de soporte.

Los pagos de dos etapas se deben utilizar si entre la toma de decisión del comprador sobre el pago y la entrega del bien o servicio seleccionado transcurre algún tiempo.

Para que el pago sea de dos etapas, el pedido debe ser registrado con ayuda de la solicitud registerPreAuth.do, y no register.do.

El pago de dos etapas es posible con cualquier método de integración:

Para las variantes de integración directa, integración a través de redirección, CMS, SDK es posible el registro y procesamiento del pedido a través de API.

Finalizaciones

La finalización ocurre en la segunda etapa del pago de dos etapas, cuando los fondos previamente reservados se debitan de la cuenta del portador de la tarjeta. Tan pronto como ocurre el débito, el pedido se vuelve finalizado y pasa al estado DEPOSITED. La suma de finalización puede ser mayor o menor que la suma de autorización preliminar. También está disponible la finalización parcial por etapas. Si no transmite la suma, será debitada toda la suma.

Hay tres formas de hacer la finalización:

También existe la posibilidad de hacer finalización parcial. En este caso el pedido será finalizado por una suma menor (que la suma de autorización).

Finalización y cancelación de pedidos automáticamente

Si nuestro servicio de soporte ha habilitado esta función para usted, puede configurar su integración para que todas las órdenes de dos etapas preautorizadas (en estado Confirmado) se completen o cancelen automáticamente después de un período de tiempo determinado. En este caso, no necesita procesar cada orden manualmente en el panel de control personal. Tampoco es necesario llamar a los métodos API deposit.do y/o reverse.do.

Para habilitar la finalización automática de órdenes en el panel de control personal:

  1. Inicie sesión en el panel de control personal.
  2. En el panel de control izquierdo vaya a la sección Configuraciones. .
  3. Vaya a la pestaña General.
  4. En la sección Finalización automática, marque Finalización automática habilitada.
  5. En el campo Plazo de finalización (en horas) ingrese la cantidad de horas después del registro, tras las cuales la orden de dos etapas debe completarse automáticamente.

Autocompletion

También puede habilitar la cancelación automática de órdenes. En este caso, todas las órdenes de dos etapas preautorizadas (en estado Confirmado) se cancelarán automáticamente después del período de tiempo especificado. La cancelación significa que la transacción se cancela y todos los fondos reservados en la cuenta del cliente se desbloquean.

Puede establecer la fecha y hora de finalización automática y cancelación automática por API usando los parámetros autocompletionDate y autoReverseDate en las solicitudes API registerPreAuth.do e instantPayment.do. Zona horaria utilizada: UTC+0.

A continuación se describe la lógica de funcionamiento de la finalización automática y cancelación automática.

Cuando una orden está registrada y tiene configurada la finalización automática:

Cuando una orden está registrada y tiene configurada la cancelación automática:

Operaciones por datos de pago guardados

La transacción por datos de pago guardados se utiliza cuando el titular de la tarjeta permite al vendedor almacenar los datos de pago para futuros pagos. Por ejemplo, el pagador puede elegir guardar su tarjeta al procesar un pedido. En este caso se crean datos de pago guardados (CoF, credential on file), un token único protegido, generado por la pasarela de pagos, que vincula el número de tarjeta del pagador (PAN) con su identificador en el sistema de la tienda (por ejemplo, con el login del pagador).

Lea más sobre los tipos de datos de pago guardados compatibles con la pasarela de pagos aquí.

Creación de datos de pago guardados

Puede crear datos de pago guardados a través de API o a través del panel personal (independientemente del tipo de integración). Ver más detalles a continuación.

Creación de datos de pago guardados a través de API

Para guardar la tarjeta (crear datos de pago guardados) en la pasarela de pagos a través de API, necesita pasar el parámetro clientId en la solicitud de registro de pedido o iniciación de pago. clientId - es el identificador de su cliente (propietario de la tarjeta), a este número estarán vinculadas todas las tarjetas del cliente. Para propósitos de prueba puede usar cualquier número como clientId. Este parámetro se puede pasar en las siguientes solicitudes:

Los datos de pago guardados se crearán solo después del pago exitoso. Después del pago podrá obtener el identificador de datos de pago guardados a través de la solicitud getOrderStatusExtended.do en el parámetro bindingId.

Creación de datos de pago guardados a través del panel personal

Para crear datos de pago guardados al pagar a través de la interfaz de usuario vaya al panel personal, emita una factura al correo electrónico especificando el parámetro Identificador del cliente. Si especifica este parámetro, el cliente verá la casilla Guardar mi tarjeta en la página de pago. Si el cliente marca esta casilla, después de completar el pago se crearán datos de pago guardados, y el cliente no necesitará introducir los datos de la tarjeta la próxima vez. Lea más detalles aquí.

Creación de datos de pago guardados sin pago

Con los derechos de usuario correspondientes, puede crear datos de pago guardados a través de API sin realizar un pago. Esto se puede hacer de las siguientes maneras:

Creación forzada de datos de pago guardados

Si transmite el valor FORCE_CREATE_BINDING en el bloque features de la solicitud de pago, los datos de pago guardados se crearán de manera forzada, incluso si el cliente decidió no guardar los datos de la tarjeta en la página de pago.

El valor FORCE_CREATE_BINDING no se puede transmitir en una solicitud con bindingId existente o cuando bindingNotNeeded = true (causará error de verificación). Para transmitir este valor también se requiere transmitir el parámetro clientId.

Si en el bloque features se transmiten ambos valores FORCE_CREATE_BINDING y VERIFY, entonces el pedido se creará SOLO para crear datos de pago guardados (sin pago).

Procesamiento de pago por datos de pago guardados

Trabajo con datos de pago guardados a través de API

Después de crear los datos de pago guardados puede trabajar con ellos a través de API (si tiene permiso a nivel de comerciante). Están disponibles los siguientes métodos:

Uso de datos de pago guardados en pagos recurrentes

Puede utilizar los datos de pago guardados para pagos recurrentes. En este caso el parámetro bindingId se utiliza en la solicitud habitual de registro de pedido. Lea más detalles aquí.

Uso de datos de pago guardados al pagar con billeteras

También puede crear datos de pago guardados al realizar pagos a través de billeteras Apple Pay, Google Pay y Samsung Pay. Para esto es necesario transmitir el parámetro clientId en la solicitud de pago o en la solicitud de procesamiento de pedido (ver descripción de solicitudes API para billeteras).

En este caso los datos de pago guardados conectarán el número de tarjeta tokenizada del pagador (DPAN) con su ID en el sistema de la tienda (por ejemplo, con el login del pagador). Tales datos de pago guardados no se pueden utilizar para mostrar el número de tarjeta en la página de pago (ya que el número de tarjeta está tokenizado). Sin embargo, estos datos de pago guardados se pueden utilizar en pagos recurrentes.

Operaciones de práctica industrial

Introducción

A las transacciones MIT (Merchant-initiated Transaction) Industry Practice, ejecutadas después de la transacción CIT (Cardholder-initiated Transaction) iniciadora, pertenecen las transacciones del siguiente tipo:

Esta funcionalidad está disponible con el permiso correspondiente. Para su activación, diríjase al servicio de soporte técnico.

Condiciones de posibilidad de ejecución de pagos Industry Practice:

  1. El permiso para realizar pagos Industry Practice está activado.
  2. El pago original fue ejecutado utilizando autenticación 3DS 2.0/2.1/2.2 con tipo frictionless/challenge para transacciones Resubmission, Reauthorization y challenge para Incremental, Delayed charges, No show.
  3. El pago original representa un pedido de una etapa en estados erróneos para transacciones Resubmission, Reauthorization, así como en estado Completado para operaciones Incremental, Delayed charges, No show.
  4. Pedido original con pago *.Pays tokenizado.
  5. Transacción CIT original con tii = CI, RI, II, F (más detalles sobre los tipos de transacciones CIT descritos aquí).
  6. En el Merchant la funcionalidad de vínculos está desactivada o se utilizan vínculos V2 (se utilizan vínculos como normales, recurrentes y a plazos).

La ejecución de pagos Industry Practice es imposible para los siguientes tipos de operaciones originales con:

Petición API

Para el pago del pedido con características de transacción Industry Practice se utiliza la petición /industryPractice/paymentOrder.do.

Particularidades de ejecución del pago

Para cada uno de los tipos de pago Industry Practice son propias sus condiciones para una ejecución exitosa.

Industry Practice Incremental

Industry Practice Resubmission

Industry Practice Delayed Charges

Industry Practice Reauthorization

Industry Practice No Show

Ejecución de cancelaciones y devoluciones

Para operaciones Industry Practice con tipo Incremental:

La ejecución de cancelaciones y reembolsos por operaciones Industry Practice con tipo diferente de Incremental, no tienen diferencias algunas de la implementación funcional vigente - se ejecutan por separado en el marco de pedidos separados.

Verificación del portador de la tarjeta

El portador de la tarjeta puede ser verificado sin cobrar ningún pago. Para esto transmita el valor VERIFY en el bloque features de cualquier solicitud de pago.

Cuando se utiliza la función VERIFY, la tarjeta de pago será verificada para asegurarse de que es utilizada por su propietario legítimo. Si para la tarjeta está disponible 3-D Secure, entonces será ejecutada la verificación 3-D Secure. En este caso el parámetro amount de la solicitud verificadora puede ser igual solo a 0. Incluso si alguna suma de pago será transmitida en la solicitud, no será debitada de la cuenta del cliente. Después del registro exitoso el pedido inmediatamente se transfiere al estado REVERSED (cancelado).

Si la función VERIFY se transmite junto con el parámetro clientId, puede ser utilizada para crear una vinculación sin pago. Lea más detalladamente en la sección Vinculaciones.

Token Open ID

Puedes generar token Open ID. Este token puede utilizarse en lugar de las credenciales para identificar al comerciante en la pasarela de pago.

El Token Open ID no es privado, puede publicarse o integrarse en una página web. Por ejemplo, puede utilizarse cuando el pedido se realiza directamente desde el navegador. En este caso no existe riesgo de revelación de datos personales, ya que solo la pasarela de pago puede descifrar el token.

Puedes utilizar el token Open ID para autenticar al comerciante al enviar solicitudes API a la pasarela de pago. Para esto, pasa el token Open ID en el parámetro token en lugar de pasar userName y password. Puedes utilizar el parámetro token en las siguientes solicitudes:

Para generar el token Open ID, ve al panel personal, selecciona Configuraciones en el menú lateral, y luego selecciona Configuraciones generales en el bloque Comerciante. Haz clic en Crear junto al campo Token Open Id. Si ya conoces tu token, puedes ingresarlo manualmente.

Lee más aquí.

Redirección al ACS

Si se requiere 3-D Secure, entonces después de recibir la respuesta a la solicitud de pago, el cliente debe ser redirigido al ACS. Existen dos formas de redirección: regular y simplificada.

Redirección regular

Si el pago se realiza mediante 3-D Secure, los comerciantes deben redirigir a sus clientes al ACS a la dirección especificada en el parámetro acsUrl, recibido en la respuesta a la solicitud de pago. El cuerpo de la solicitud debe incluir MD=mdorder&PaReq=paReq&TermUrl=termUrl, donde:

Esta debe ser una solicitud POST (no GET).

Dependiendo de la configuración acordada con el banco, el comprador después de la autenticación en el ACS será redirigido ya sea a la tienda o a la pasarela de pago.

Ejemplo de solicitud POST para redirección regular:

<html>
<head><title>ACS Redirect</title></head>
<body onload="document.forms['acs'].submit()">
ACS Redirect
<form id="acs" method="post" action="[result.acsUrl]">
    <input type="hidden" id="MD" name="MD" value="[MD]"/>
    <input type="hidden" id="PaReq" name="PaReq" value="[result.PaReq]"/>
    <input type="hidden" id="TermUrl" name="TermUrl" value="[result.TermUrl]"/>
</form>
</body>
</html>

Redirección simplificada

También la tienda en línea puede utilizar el método de pasarela acsRedirect.do, que realizará la misma redirección del portador de la tarjeta al ACS del emisor.

Pago mediante MPI/3DS Server propio

Merchant Plugin Interface (MPI)/3DS Server — es un componente de la tecnología 3D Secure, que puede ser implementado en la pasarela de pagos o en su lado. Si tiene su propio MPI/3DS Server, puede utilizarlo para la autorización autónoma 3D Secure, y en las peticiones API solo indicar el hecho de realización de tal autorización. Para habilitar esta funcionalidad, contacte con el servicio de soporte técnico.

Si utiliza su propio MPI/3DS Server, entonces en las peticiones de pago (por ejemplo, paymentOrder, paymentOrderBinding.do , o instantPayment.do) transmita parámetros adicionales en el bloque jsonParams: eci, cavv, xid, threeDSProtocolVersion y threeDsType. Estos parámetros se describen a continuación.

eci

eci — indicador de comercio electrónico (ECI), obtenido de su servidor 3-D Secure. Muestra el nivel de seguridad utilizado en el pago. Es establecido por el servidor DS según los resultados de autenticación obtenidos y de acuerdo con las peculiaridades del proceso de verificación de la tienda. El parámetro se transmite en el bloque jsonParams en formato de dos dígitos, por ejemplo, "eci": "02".

Los códigos ECI pueden diferir dependiendo del sistema de pago. A continuación se proporciona la interpretación de los códigos ECI más frecuentemente utilizados:

Valor VISA Mastercard CUP
01 Intento de autenticación
02 Autenticación, 3DS completo Autenticación, 3DS completo
05 Autenticación, 3DS completo
06 Intento de autenticación
07 Autenticación por SSL (sin 3DS) Autenticación por SSL (sin 3DS)
09 Intento de autenticación
10 Autenticación por SSL (sin 3DS)

cavv, xid

Si el valor ECI difiere de aquellos que se utilizan para autorización SSL, también es necesario transmitir los siguientes parámetros:

threeDSProtocolVersion

Además, puede pasar en la solicitud de pago el parámetro threeDSProtocolVersion (versión del protocolo 3DS). Puede tomar los siguientes valores:

Si no se pasa threeDSProtocolVersion en la solicitud, entonces por defecto su valor se asume igual a 2.1.0 - para 3DS 2.

threeDsType

El parámetro threeDsType (tipo de autenticación del pago) es necesario para el pago a través de su MPI/3DS Server con 3DS 2.

Para pagos con SSL este parámetro es opcional y se determina automáticamente dependiendo del valor ECI.

Valor Descripción Obligatorio/Se determina automáticamente
0 Autenticación SSL ECI = 07
3 Autenticación fuerte del cliente (SCA) Requerido para 3DS 2
4 Autenticación basada en riesgo (RBA) Requerido para 3DS 2
5 Intento de autenticación 3DS 2 Requerido para 3DS 2
6 Excepción permitida 3DS 2 Requerido para 3DS 2
7 Autenticación 3RI con 3DS 2 Requerido para 3RI
8 Intento de autenticación 3RI con 3DS 2 Requerido para 3RI

Ejemplo de solicitud

curl --request POST \\
  --url https://dev.bpcbt.com/payment/rest/paymentorder.do \\
  --header 'content-type: application/x-www-form-urlencoded' \\
  --data userName=test_user \\
  --data password=test_user_password \\
  --data MDORDER=0140dda0-71ed-7706-a61f-36bd00a7d8c0 \\
  --data '$PAN=4000001111111118' \\
  --data '$CVC=123' \\
  --data YYYY=2030 \\
  --data MM=12 \\
  --data 'TEXT=TEST CARDHOLDER' \\
  --data language=en \\
  --data 'jsonParams={
  "eci": "02",
  "cavv": "AkZO5XQAA0rhBxoaufa+MAABAAA=",
  "xid": "5010857f-8d3f-74e1-9c5a-54a000cc4110",
  "threeDSProtocolVersion": "2.2.0",
  "threeDsType": "5"
}'

Si utiliza su propio MPI/3DS Server, la respuesta a la correspondiente solicitud API de pago no contiene parámetros relacionados con 3D Secure, tales como redirect, termUrl, acsUrl y paReq.

Ejemplo de respuesta

{
  "redirect": "https://dev.bpcbt.com/payment/merchants/temp/finish.html?orderId=01493844-d4d3-703f-9f7e-a73900a7d8c0&lang=en",
  "info": "Your order is proceeded, redirecting...",
  "errorCode": 0
}

Gestión de cobros recurrentes

La pasarela de pagos permite configurar tareas para cobros recurrentes. Los cobros configurados posteriormente se ejecutan automáticamente de acuerdo con el cronograma establecido.

Si esta funcionalidad está habilitada para usted por nuestro grupo de soporte, puede hacer lo siguiente:

Puede gestionar cobros recurrentes mediante API. Para más detalles consulte la sección API de cobros recurrentes.

Autorización 3-D Secure

Qué es 3-D Secure

3-D Secure (también llamado 3DS) - estándar técnico creado por Visa y MasterCard, que permite realizar autorización adicional del titular de la tarjeta en el lado del banco emisor. Para completar la transacción, al titular de la tarjeta se le propone confirmar su identidad mediante la introducción de una contraseña única, código SMS o PIN temporal.

El término 3DS significa 3 Domain Server. Este nombre se explica porque en cada transacción 3-D Secure participan tres partes:

  1. Dominio del adquirente. Actúa como 3DS requestor – iniciador del proceso de autorización.
  2. Dominio del emisor. Incluye el ACS (Access Control Server), que proporciona confirmación de identidad del pagador por el banco emisor.
  3. Dominio de interacción. Actúa como enlace entre los dos primeros dominios. Como regla, es el sistema de pago.

Versiones del protocolo

La pasarela de pago soporta autorización 3-D Secure para protegerle a usted y a sus clientes de la amenaza de fraude de pago.

Para transacciones en navegador utilizamos 3-D Secure v2 (también llamado 3DS2) - versión actualizada del protocolo 3-D Secure, que proporciona mejor interacción entre los tres participantes de la transacción. El protocolo de verificación de autenticidad 3DSv2 dependiendo de la configuración del ACS del banco emisor permite realizar verificación de autenticidad sin participación del cliente (esquema Frictionless). En este caso del cliente no se requerirá realizar acciones para autenticación, tales como introducción de contraseña de un solo uso u otras acciones.

Escenarios de integración

Si la página de pago se encuentra en el lado de la pasarela de pago, el comerciante no requiere realizar ninguna acción adicional, y puede usar la API estándar de la pasarela de pago.

Si la página de pago está ubicada en el lado del comerciante, al usar autenticación del cliente por protocolo 3DSv2 para cada transacción el comerciante necesita enviar una serie de solicitudes API adicionales a la pasarela de pago.

Los esquemas de integración están descritos aquí.

Autorización 3RI

3RI – es un tipo de autorización 3DS 2, que es iniciada por el vendedor sin solicitud de confirmación de pago del titular de la tarjeta. De hecho, pago 3RI - es un pago MIT con tii=R o tii=I, es decir, pago recurrente o pago en cuotas (ver Enlaces y tipos de transacciones) con autorización 3DS 2 frictionless.

Pago recurrente 3RI o pago en cuotas es posible solo en caso de que la transacción iniciadora, en la cual se guarda el enlace, fue ejecutada con autorización 3DS 2.

Si se cumple alguna de las condiciones:

entonces es necesario en el bloque jsonParams enviar los siguientes parámetros adicionales:

Obligatoriedad Nombre Tipo Descripción
Obligatorio initThreeDSReqPriorAuthData String Identificador de la transacción iniciadora en DS (dsTransId). Ejemplo: "d5bf7963-e94e-718d-8777-2943091ceaa0".
Obligatorio initThreeDSReqPriorAuthMethod String Mecanismo de autenticación que fue utilizado en el proceso de la transacción iniciadora. Ejemplo: "01".
Obligatorio initThreeDSReqPriorAuthTimestamp String Fecha y hora de autenticación en UTC de la transacción iniciadora. Ejemplo: "22202405140811".
Obligatorio initThreeDSReqPriorRef String Información adicional para ACS (acsTransId). Ejemplo: "d5bf7963-e94e-718d-8777-2943091ceaa0".
Condición installments String Cantidad máxima de autorizaciones permitidas para pagos a plazos. Requerido para pago a plazos 3RI.
Condición totalInstallmentAmount String Suma máxima de todos los pagos a plazos. Requerido para pago a plazos 3RI.
Obligatorio recurringExpiry String Fecha después de la cual no se permiten autorizaciones, en formato AAAAMMDD. Requerido para pago a plazos o pago recurrente 3RI.
Obligatorio recurringFrequency String Cantidad mínima de días entre autorizaciones. Requerido para pago a plazos o pago recurrente 3RI.
Categorías:
eCommerce API V1
Categorías
Resultados de búsqueda