API

Introducción

La API de Openpay está diseña sobre REST, por lo tanto encontrarás que las URL están orientadas a recursos y se usa códigos de respuesta HTTP para indicar los errores en la API.

Todas las respuestas de la API están en formato JSON, incluyendo errores.

En el caso de usar los clientes existentes del API de Openpay (Java, Php, C#), las respuestas son específicamente del tipo definido en dichos clientes en sus respectivos lenguajes.

API Endpoints

La API REST de Openpay tiene un ambiente de pruebas (sandbox) y un ambiente de producción. Usa las credenciales que se generaron al momento de tu registro para realizar la integración de tu sistema con Openpay. Una vez que estes listo para pasar a producción y tu solicitud sea aprobada, se generarán nuevas credenciales para acceder al ambiente de producción.

La siguientes URIs forman la base de los endpoints para los ambientes soportados:

  • Pruebas, URI base:
    https://sandbox-api.openpay.co

  • Producción, URI base:
    https://api.openpay.co

Un endpoint completo esta formado por la URI base del ambiente, el identificador del comercio y el recurso.

Por ejemplo, si queremos crear un nuevo cliente, el endpoint sería:

POST https://sandbox-api.openpay.co/v1/mzdtln0bmtms6o3kck8f/customers

Para crear una petición completa es necesaria envíar las cabeceras HTTP correctas y la información en formato JSON.

Todos los ejemplos de está documentación están apuntados al ambiente de pruebas.

Recursos disponibles

a) Por Comercio

/v1/{MERCHANT_ID}/...

/fees
/fees/{FEE_ID}
/charges
/charges/{TRANSACTION_ID}
/pse
/cards
/cards/{CARD_ID}
/customers
/customers/{CUSTOMER_ID}
/plans
/plans/{PLAN_ID}
/tokens
/tokens/{TOKEN_ID}

b) Por Cliente

/v1/{MERCHANT_ID}/customers/{CUSTOMER_ID}/...

/cards
/cards/{CARD_ID}
/charges
/charges/{TRANSACTION_ID}
/pse
/subscriptions
/subscriptions/{SUBSCRIPTION_ID}

Autenticación

Para realizar peticiones a la API de Openpay, es necesario enviar la llave de API (API Key) en todas tus llamadas a nuestros servidores. ​La llave la puedes obtener desde el dashboard.

Existen 2 tipos de llaves de API:

  • Privada.- Para llamadas entre servidores y con acceso total a todas las operaciones de la API (nunca debe ser compartida).

Manten esta llave segura y nunca la compartas con nadie.

  • Pública.- Sólo se debe utilizar en llamadas desde JavaScript. Esta llave sólo tiene permitido realizar crear tarjetas o crear tokens

Para hacer llamadas con tu llave pública utiliza la librería Openpay.js

Para la autenticación al API debes usar autenticación de acceso básica, donde la llave de API es el nombre de usuario. La contraseña no es requerida y debe dejarse en blanco por fines de simplicidad.

Por razones de seguridad todas las peticiones deben ser vía **HTTPS**.

Errores

Openpay regresa objetos de JSON en las respuestas del servicio, incluso en caso de errores por lo que cuando exista un error.

Objeto Error

PropiedadDescripción
categorystring
request: Indica un error causado por datos enviados por el cliente. Por ejemplo, una petición inválida, un intento de una transacción sin fondos.

internal: Indica un error del lado de Openpay, y ocurrira muy raramente.

gateway: Indica un error durante la transacción de los fondos de una tarjeta a la cuenta de Openpay o de la cuenta hacia un banco o tarjeta.
error_codenumeric
El código del error de Openpay indicando el problema que ocurrió.
descriptionstring
Descripción del error.
http_codestring
Código de error HTTP de la respuesta.
request_idstring
Identificador de la petición.
fraud_rulesarray
Arreglo con la lista de coincidencia de reglas definidas para deteccion de fraudes.

Códigos de error

Generales

CódigoError HTTPCausa
1000500 Internal Server ErrorOcurrió un error interno en el servidor de Openpay
1001400 Bad RequestEl formato de la petición no es JSON, los campos no tienen el formato correcto, o la petición no tiene campos que son requeridos.
1002401 UnauthorizedLa llamada no esta autenticada o la autenticación es incorrecta.
1003422 Unprocessable EntityLa operación no se pudo completar por que el valor de uno o más de los parametros no es correcto.
1004503 Service UnavailableUn servicio necesario para el procesamiento de la transacción no se encuentra disponible.
1005404 Not FoundUno de los recursos requeridos no existe.
1006409 ConflictYa existe una transacción con el mismo ID de orden.
1007402 Payment RequiredLa transferencia de fondos entre una cuenta de banco o tarjeta y la cuenta de Openpay no fue aceptada.
1008423 LockedUna de las cuentas requeridas en la petición se encuentra desactivada.
1009413 Request Entity too largeEl cuerpo de la petición es demasiado grande.
1010403 ForbiddenSe esta utilizando la llave pública para hacer una llamada que requiere la llave privada, o bien, se esta usando la llave privada desde JavaScript.

Almacenamiento

CódigoError HTTPCausa
2002409 ConflictLa tarjeta con este número ya se encuentra registrada en el cliente.
2003409 ConflictEl cliente con este identificador externo (External ID) ya existe.
2004422 Unprocessable EntityEl dígito verificador del número de tarjeta es inválido de acuerdo al algoritmo Luhn.
2005400 Bad RequestLa fecha de expiración de la tarjeta es anterior a la fecha actual.
2006400 Bad RequestEl código de seguridad de la tarjeta (CVV2) no fue proporcionado.
2007412 Precondition FailedEl número de tarjeta es de prueba, solamente puede usarse en Sandbox.
2009412 Precondition FailedEl código de seguridad de la tarjeta (CVV2) no es valido.

Tarjetas

CódigoError HTTPCausa
3001402 Payment RequiredLa tarjeta fue declinada.
3002402 Payment RequiredLa tarjeta ha expirado.
3003402 Payment RequiredLa tarjeta no tiene fondos suficientes.
3004402 Payment RequiredLa tarjeta ha sido identificada como una tarjeta robada.
3005402 Payment RequiredLa tarjeta ha sido identificada como una tarjeta fraudulenta.
3006412 Precondition FailedLa operación no esta permitida para este cliente o esta transacción.
3008412 Precondition FailedLa tarjeta no es soportada en transacciones en linea.
3009402 Payment RequiredLa tarjeta fue reportada como perdida.
3010402 Payment RequiredEl banco ha restringido la tarjeta.
3011402 Payment RequiredEl banco ha solicitado que la tarjeta sea retenida. Contacte al banco.
3012412 Precondition FailedSe requiere solicitar al banco autorización para realizar este pago.

Cuentas

CódigoError HTTPCausa
4001412 Preconditon FailedLa cuenta de Openpay no tiene fondos suficientes.

Cargos

Los cargos se pueden realizar a tarjetas y PSE. A cada cargo se le asigna un identificador único en el sistema.

Los cargos a tarjeta puedes hacerlos a una tarjeta guardada usando el id de la tarjeta, usando un token o puedes enviar la información de la tarjeta al momento de la invocación.

Cambios por disposiciones oficiales para la prevención de fraude E-commerce

Toda integración que se realice mediante SDK o peticiones directas al API de Openpay, es de carácter obligatorio enviar el header X-Forwarded-For donde se deberá indicar la IP del dispositivo del cliente. En las pestañas de las diferentes tecnologías ubicadas del lado derecho se encuentra la definición de cómo debe ser enviado.

Con id de tarjeta o token

Este tipo de cargo requiere una tarjeta guardada o que hayas generado un token. Para guardar tarjetas consulta como crear una tarjeta y para usar tokens consulta la sección creación de tokens.

Una vez que tengas una tarjeta guardada o un token usa la propiedad source_id para enviar el identificador.

La propiedad device_session_id deberá ser generada desde el API JavaScript, véase Fraud detection using device data.

Puedes realizar el cargo a la cuenta del comercio o a la cuenta de un cliente.

Sistema antifraude personalizado
Es posible enviar información adicional a la plataforma Openpay para incrementar su base de conocimientos, esto le permitirá aplicar reglas personalizadas de acuerdo al giro del comercio y de manera oportuna, con el propósito de detectar con la mayor efectividad posible los intentos de fraude.

Petición

PropiedadDescripción
methodstring (requerido)
Debe contener el valor card para indicar que el cargo se hará de una tarjeta.
source_idstring (requerido, longitud = 45)
ID de la tarjeta guardada o el id del token creado de donde se retirarán los fondos.
amountnumeric (requerido)
Cantidad del cargo. Debe ser una cantidad mayor a cero.
currencystring (requerido)
Tipo de moneda del cargo. Por el momento solo se soportan 1 tipo de moneda: Pesos Colombianos(COP).
ivastring (requerido)
Debe contener el valor de IVA, es campo solo informativo, no tiene ningún efecto sobre el campo amount.
airpot_tax string (opcional) *Solo aplica para aerolíneas Valor correspondiente a la tasa aeroportuaria, no tienen ningún efecto sobre el campo amount.
descriptionstring (requerido, longitud = 250)
Una descripción asociada al cargo.
order_idstring (opcional, longitud = 100)
Identificador único del cargo. Debe ser único entre todas las transacciones.
device_session_idstring (requerido, longitud = 255)
Identificador del dispositivo generado con la herramienta antifraudes
customerobjeto (requerido)
Información del cliente al que se le realiza el cargo. Se puede ocupar los mismos parámetros usados en la creación de un cliente pero no se creará una cuenta al cliente.

Nota: Este parámetro solo se puede utilizar creando el cargo a nivel comercio

Si desea crear un cliente y llevar un historial de sus cargos consulte como crear un cliente y realice el cargo a nivel cliente.

Respuesta

Regresa un objeto de transacción con la información del cargo o una respuesta de error.

Con redireccionamiento

Este tipo de cargo no requiere una tarjeta guardada o que hayas generado un token.

Petición

PropiedadDescripción
methodstring (requerido en card)
Debe contener el valor card para indicar que el cargo se hará de una tarjeta.
amountnumeric (requerido)
Cantidad del cargo. Debe ser una cantidad mayor a cero.
currencystring (requerido)
Tipo de moneda del cargo. Por el momento solo se soportan 1 tipo de moneda: Pesos Colombianos(COP).
ivastring (requerido)
Debe contener el valor de IVA, es campo solo informativo, no tiene ningún efecto sobre el campo amount.
descriptionstring (requerido, longitud = 250)
Una descripción asociada al cargo.
order_idstring (opcional, longitud = 100)
Identificador único del cargo. Debe ser único entre todas las transacciones.
customer

objeto (requerido)
Información del cliente al que se le realiza el cargo. Se puede ocupar los mismos parámetros usados en la creación de un cliente pero no se creará una cuenta al cliente.

Nota: Este parámetro solo se puede utilizar creando el cargo a nivel comercio

Si desea crear un cliente y llevar un historial de sus cargos consulte como crear un cliente y realice el cargo a nivel cliente.

confirmboolean (requerido en false)
El valor false indica que se trata de un cargo con terminal virtual.
send_emailboolean (opcional)
Indica si se desea enviar un email que direccione al formulario de pago de openpay.
redirect_urlstring (requerido)
Indica la url a la que redireccionar despues de una transaccion exitosa en el fomulario de pago de openpay.

Respuesta

Regresa un objeto de transacción con la información del cargo o una respuesta de error.

Cargo en tienda

Para un pago en una tienda de conveniencia se debe crear un petición de tipo cargo indicando como método store. Esto generará una respuesta con un número de referencia y una URL a un código de barras, los cuales debes de utilizar para crear un recibo a tu cliente y que con él pueda realizar el pago en una de las tienda de conveniencia aceptadas. El código de barras es de tipo Code 128.

Petición

PropiedadDescripción
methodstring (requerido)
Debe contener el valor store para indicar que el pago se hará en tienda.
amountnumeric (requerido)
Cantidad del cargo. Debe ser una cantidad mayor a cero, con hasta dos dígitos decimales.
currencystring (requerido)
Tipo de moneda del pago. Por el momento solo se soportan 1 tipo de moneda: Pesos Colombianos(COP).
ivastring (requerido)
Debe contener el valor de IVA, es campo solo informativo, no tiene ningún efecto sobre el campo amount.
descriptionstring (requerido, longitud = 250)
Una descripción asociada al cargo.
order_idstring (opcional, longitud = 100)
Identificador único del cargo. Debe ser único entre todas las transacciones.
due_date

datetime (opcional)
Fecha de vigencia para hacer el pago en la tienda en formato ISO 8601.

Ejemplo (UTC): 2014-08-01T00:50:00Z
Nota: Del lado del servidor se cambiara a hora central

Ejemplo (Central Time): 2014-08-01T11:51:23-05:00

customer

objeto (requerido)
Información del cliente al que se le realiza el cargo. Se puede ocupar los mismos parámetros usados en la creación de un cliente pero no se creará una cuenta al cliente.

Nota: Este parámetro solo se puede utilizar creando el cargo a nivel comercio

Si desea crear un cliente y llevar un historial de sus cargos consulte como crear un cliente y realize el cargo a nivel cliente.

Respuesta

Regresa un objeto de transacción con la información del cargo o una respuesta de error. currency | string (requerido)
Moneda usada en la operación

Respuesta

Regresa un objeto de transacción con la información del cargo o una respuesta de error.

Devolver un cargo

Si deseas realizar una devolución de un cargo hecho a tarjeta puedes ocupar este método. El monto a devolver será por el total del cargo o un monto menor. Ten en cuenta que la devolución puede tardar en aparecer en el estado de cuenta de tu cliente de 1 a 3 días hábiles.

Nota: Solo se pueden hacer devoluciones de cargos a tarjeta.

Petición

PropiedadDescripción
descriptionstring (opcional, longitud = 250)
Texto libre para describir motivo de la devolución.
amountnumeric (opcional)
Cantidad a reembolsar. Debe ser una cantidad mayor a cero y menor o igual al cargo original.

Respuesta

Regresa un objeto de transacción con la información del cargo o una respuesta de error.

Obtener un cargo

Regresa la información de un cargo generado en cualquier momento solo con conocer el id de cargo.

Petición

PropiedadDescripción
transaction_idstring (requerido, longitud = 45)
Identificador del cargo a consultar.

Respuesta

Regresa un objeto de transacción con la información del cargo o una respuesta de error.

Listado de cargos

Obtiene un listado de los cargos realizados por comercio o cliente.

Petición

Puede realizar una búsqueda utilizando los siguiente parámetros como filtros.

PropiedadDescripción
order_idstring
Identificador único de la orden generado por el comercio y asociado a la
transacción mediante el campo order_id de la petición del cargo.
creationdate
Igual a la fecha de creación. Formato yyyy-mm-dd
creation[gte]date
Mayor a la fecha de creación. Formato yyyy-mm-dd
creation[lte]date
Menor a la fecha de creación. Formato yyyy-mm-dd
offsetnumeric
Número de registros a omitir al inicio, por defecto 0.
limitnumeric
Número de registros que se requieren, por defecto 10.
amountnumeric
Igual al monto.
amount[gte]numeric
Mayor o igual al monto.
amount[lte]numeric
Menor o igual al monto.
statusTransactionStatus
Estado de la transacción (IN_PROGRESS,COMPLETED,REFUNDED,
CHARGEBACK_PENDING,CHARGEBACK_ACCEPTED,CHARGEBACK_ADJUSTMENT,
CHARGE_PENDING,CANCELLED,FAILED).

Respuesta

Regresa un arreglo de objetos de transacción de los cargos en orden descendente por fecha de creación.

Cobro con Link

Enviar a los clientes un link de cobro y comenzar a recibir pagos por las ventas.Permite realizar cobros a través de la generación de un link el cual puede ser compartido por medio de un email, redes sociales o bien por un mensaje de texto, de esta manera se logra que los comercios puedan recibir pagos con tarjetas de crédito, débito, puntos bancarios, transferencias interbancarias y/o efectivo en tiendas, todo esto sin la necesidad de que el comercio cuenta con un sitio web o app para realizar estos cobros.Con esto, Openpay busca que un gran número de comercios con o sin presencia digital, ofrezcan la posibilidad a sus clientes de hacer pagos rápidos con distintos medios de pago.

Crear Cobro con Link

Petición

 

PropiedadDescripción
amountnumeric (requerido)Cantidad del cargo. Debe ser una cantidad mayor a cero.
descriptionstring (requerido longitud = 250) descripción asociada al cargo.
order_idstring (opcional, longitud = 100)Identificador único del cargo. Debe ser único entre todas las transacciones.
currencystring (requerido)Tipo de moneda del cargo. Soporta Pesos Colombianos (COP) y Dólares (USD)
redirect_urlstring (requerido)URL de redirección para una transaccion exitosa en el fomulario de pago de Openpay.
expiration_datedatetime (opcional)Fecha de vigencia para hacer el pago formato ISO 8601.
send_emailboolean (opcional)Indica si se desea enviar un email que direccione al formulario de pago de Openpay.
customerobjeto (requerido)Información del cliente que realiza el cargo.
metadatalist(key, value) (opcional) Listado de campos personalizados de antifraude, estos campos deben de apegarse a las reglas para creación de campos personalizados de antifraude

Nota: Es posible enviar información adicional a la plataforma Openpay para almacenar datos adicionales del comercio.

Para utilizar esta característica es necesario enviar como parte del contenido, la propiedad metadata, el cual contendrá un listado de campos personalizados con la información propia del comercio.

Nota: Si desea crear un cliente y llevar un historial de sus cargos consulte como crear un cliente y realice el cobro con link a nivel cliente. cURL JAVA

Respuesta

Regresa una url con la información para continuar el pago PSE o una respuesta de error.

Reglas para creación de campos personalizados de antifraude

Conjunto de restricciones para el envío de campos personalizados de antifraude (pares de key/value de tipo string):

Regla

Descripción

Valor

MAX_ALLOWED_METADATA

Cantidad máxima de campos permitidos.

200

MAX_METADATA_KEY_SIZE

Longitud máxima de caracteres para el nombre de un campo.

50

MAX_METADATA_VALUE_SIZE

Longitud máxima de caracteres para el valor de un campo.

200

METADATA_KEY_PATTERN

Caracteres permitidos para el nombre de un campo.

A-Z, a-z, 0-9 y underscore _

Response


    "metadata": {
        "registered_age_days": "0",
        "payer_score": "0.168",
        "otro_campo_1": "Valor no debe exceder de 200 caracteres"
    }

PSE

Los cargos a cuentas de banco se pueden realizar por medio de PSE. Al crear un pago PSE se genera una url para continuar el flujo de pago.

Se requiere la información de un cliente, o puede usarse el id de un cliente existente.

Con id de cliente existente

En la respuesta qué contiene el campo url en el payment_method se continúa el flujo para realizar el pago PSE.

Sistema antifraude personalizado
Es posible enviar información adicional a la plataforma Openpay para incrementar su base de conocimientos, esto le permitirá aplicar reglas personalizadas de acuerdo al giro del comercio y de manera oportuna, con el propósito de detectar con la mayor efectividad posible los intentos de fraude.

Para utilizar esta característica es necesario enviar como parte del contenido, la propiedad metadata, el cual contendrá un listado de campos personalizados de antrifraude, con la información propia del comercio que se desea tomar en cuenta al momento de validar y aplicar un pago. Póngase en contacto con el departamento de soporte de Openpay para habilitar esta funcion.

Petición

amountnumeric (requerido)
Cantidad del cargo. Debe ser una cantidad con valor entero mayor a cero.

PropiedadDescripción
methodstring (requerido)
Debe contener el valor bank_account para indicar que el método de pago es PSE.
currencystring (requerido)
Tipo de moneda del pago. Por el momento solo se soportan 1 tipo de moneda: Pesos Colombianos(COP).
ivastring (requerido)
Debe contener el valor de IVA, es campo solo informativo, no tiene ningún efecto sobre el campo amount.
descriptionstring (requerido, longitud = 250)
Una descripción asociada al pago.
order_idstring (opcional, longitud = 100)
Identificador único del pago. Debe ser único entre todos los pagos.
redirect_urlstring (requerido)
Informa el sitio web al que el cliente será redirigido al finalizar el pago.
metadatalist(key, value) (opcional)
Listado de campos personalizados de antifraude, estos campos deben de apegarse a las reglas para creación de campos personalizados de antifraude

Respuesta

Regresa una url con la información para continuar el pago PSE o una respuesta de error.

Con nuevo cliente

En la respuesta qué contiene el campo url en el payment_method se continúa el flujo para realizar el pago PSE.

Sistema antifraude personalizado
Es posible enviar información adicional a la plataforma Openpay para incrementar su base de conocimientos, esto le permitirá aplicar reglas personalizadas de acuerdo al giro del comercio y de manera oportuna, con el propósito de detectar con la mayor efectividad posible los intentos de fraude.

Para utilizar esta característica es necesario enviar como parte del contenido, la propiedad metadata, el cual contendrá un listado de campos personalizados de antrifraude, con la información propia del comercio que se desea tomar en cuenta al momento de validar y aplicar un pago. Póngase en contacto con el departamento de soporte de Openpay para habilitar esta funcion.

Petición

Propiedad Descripción
method string (requerido) Debe contener el valor bank_account para indicar que el método es PSE.
amount numeric (requerido) Cantidad del cargo. Debe ser una cantidad con valor entero mayor a cero.
currency string (requerido) Tipo de moneda del pago. Por el momento solo se soportan 1 tipo de moneda: Pesos Colombianos(COP).
iva string (requerido) Debe contener el valor de IVA, es campo solo informativo, no tiene ningún efecto sobre el campo amount.
description string (requerido, longitud = 250) Una descripción asociada al pago.
order_id string (opcional, longitud = 100) Identificador único del pago. Debe ser único entre todos los pagos.
customer objeto (requerido) Información del cliente al que se le realiza el pago. Se puede ocupar los mismos parámetros usados en la creación de un cliente pero no se creará una cuenta al cliente.Nota: Este parámetro solo se puede utilizar creando el pago a nivel comercio Si desea crear un cliente y llevar un historial de sus pagos consulte como crear un cliente y realice el pago a nivel cliente.
redirect_url string (requerido) Informa el sitio web al que el cliente será redirigido al finalizar el pago.
metadata list(key, value) (opcional) Listado de campos personalizados de antifraude, estos campos deben de apegarse a las reglas para creación de campos personalizados de antifraude

Respuesta

Regresa una url con la información para continuar el pago PSE o una respuesta de error.

Clientes

Los clientes son recursos en Openpay que se manejan dentro de su cuenta de comercio y puede representar usuarios, clientes o socios segun el tipo de negocio.

A los clientes les puedes agregar tarjetas para despues realizar transacciones de Cargo

Objeto Cliente

PropiedadDescripción
idstring
Identificador único del cliente.
creation_datedatetime
Fecha y hora en que se creó el cliente en formato ISO 8601
namestring
Nombre del cliente.
last_namestring
Apellidos del cliente.
emailstring
Cuenta de correo electrónico del cliente.
phone_numbernumeric
Número telefónico del Cliente.
statusstring
Estatus de la cuenta del cliente puede ser active o deleted. Si la cuenta se encuentra en estatus deleted no se permite realizar ninguna transacción.
balancenumeric
Saldo en la cuenta con dos decimales.
creation_datedatetime
Fecha en que se creó el nuevo cliente.
external_idstring
Identificador externo único para el cliente asignado por el comercio.
customer_addressobject
Dirección del Cliente. Usada comúnmente como dirección de envío.
clabestring
No tiene uso por el momento.

Crear un nuevo cliente

Crea un objeto cliente.

Petición

PropiedadDescripción
external_idstring (opcional, longitud = 100)
Identificador externo único para el cliente asignado por el comercio.
namestring (requerido, longitud = 100)
Nombre(s) del cliente.
last_namestring (opcional, longitud = 100)
Apellidos del cliente.
emailstring (requerido, longitud = 100)
Cuenta de correo electrónico del Cliente.
requires_accountboolean (opcional, default = false)
Enviar con valor true si requiere que el cliente se cree con cuenta para manejo del saldo. Para usar módulo PSE este campo debe ir en false.
phone_numberstring (opcional, longitud = 100)
Número telefónico del Cliente.
customer_addressobject (opcional)
Dirección del Cliente. Usada comúnmente como dirección de envío.

Respuesta

Un objeto cliente en caso que se hayan enviado todos los datos correctamente, o una respuesta de error si ocurrió algún problema en la creación.

Actualizar un cliente

Actualiza uno o más datos del cliente.

Petición

PropiedadDescripción
namestring (requerido, longitud = 100)
Nombre(s) del cliente.
last_namestring (opcional, longitud = 100)
Apellidos del cliente.
emailstring (requerido, longitud = 100)
Cuenta de correo electrónico del Cliente.
phone_numberstring (opcional, longitud = 100)
Número telefónico del Cliente.
customer_addressobject
Dirección del Cliente. Usada comúnmente como dirección de envío.

Respuesta

Regresa un objeto cliente con la información actualizada, o una respuesta de error si ocurrió algún problema en la actualización.

Obtener un cliente existente

Obtiene la información actual de un cliente existente. Solo es necesario especificar el identificador que fue regresado al momento de crear el cliente.

Petición

PropiedadDescripción
idstring (requerido, longitud = 45)
Identificador único del cliente que se desea obtener.

Respuesta

Si el identificador existe regresa un objeto cliente con la información del cliente.

Eliminar un cliente

Elimina un cliente permanentemente. Openpay mantiene los registros de las operaciones. El cliente no se podrá borrar si su saldo es mayor a 0 (para cliente con manejo de saldo)

Petición

PropiedadDescripción
idstring (requerido, longitud = 45)
Identificador único del cliente a borrar.

Respuesta

Si el cliente se borra correctamente la respuesta es vacía, si no se puede borrar se regresa un objeto error indicando el motivo.

Listado de clientes

Regresa una lista de los cliente registrados, si desea delimitar el resultado se pueden utilizar los filtros.

Petición

Puede realizar una búsqueda utilizando los siguiente parámetros como filtros.

PropiedadDescripción
external_idstring
Identificador único del cliente asignado por el comercio que se desea obtener.
creationdate
Igual a la fecha de creación del cliente. Formato yyyy-mm-dd
creation[gte]date
Mayor a la fecha de creación del cliente .Formato yyyy-mm-dd
creation[lte]date
Menor a la fecha de creación del cliente .Formato yyyy-mm-dd
offsetnumeric
Número de registros a omitir al inicio, por defecto 0.
limitnumeric
Número de registros que se requieren, por defecto 10.

Respuesta

Regresa un arreglo de objetos cliente.

Tarjetas

Dentro de la plataforma Openpay podrás agregar tarjetas a la cuenta del cliente, eliminarlas, recuperar alguna en específico y listarlas​.

Se pueden almacenar múltiples tarjetas de débito y/o crédito a nivel cliente o a nivel comercio para realizar cargos posteriormente sin la necesidad de introducir nuevamente la información.

Objeto Tarjeta

PropiedadDescripción
idstring
Identificador único de la tarjeta.
creation_datedatetime
Fecha y hora en que se creó la tarjeta en formato ISO 8601
holder_namestring
Nombre del tarjeta habiente.
card_numbernumeric
Número de tarjeta, puede ser de 16 o 19 dígitos.
cvv2numeric
Código de seguridad como aparece en la parte de atrás de la tarjeta. Generalmente 3 dígitos.
expiration_monthnumeric
Mes de expiración tal como aparece en la tarjeta.
expiration_yearnumeric
Año de expiración tal como aparece en la tarjeta.
addressobject
Por el momento no se usa.
allows_chargesboolean
Permite conocer si se pueden realizar cargos a la tarjeta.
brandstring
Marca de la tarjeta: visa, mastercard, carnet o american express.
typestring
Tipo de la tarjeta: debit, credit, cash, etc.
bank_namestring
Nombre del banco emisor.
bank_codestring
Código del banco emisor.
customer_idstring
Identificador del cliente al que pertenece la tarjeta. Si la tarjeta es a nivel comercio este valor será null.

Crear una tarjeta

Cuando se crea una tarjeta debe especificarse cliente, si no se especifica el cliente la tarjeta quedará registrada para la cuenta del comercio. Una vez guardada la tarjeta no se puede obtener el número y código de seguridad.

Nota: Todas las tarjetas al momento de guardarse en Openpay son validadas haciendo un autorización por $10.00 los cuales son devueltos en el momento.

Al momento de guardar la tarjeta se generará un id que podrá ser usado para hacer cargos a la tarjeta, envíos a una tarjeta o simplemente obtener la información no sensible de la tarjeta.

Cuando se crea una tarjeta puede usarse o no la implementación del sistema antifraude. La propiedad device_session_id deberá ser generada desde el API JavaScript, véase Fraud detection using device data.

Petición

PropiedadDescripción
holder_namestring (requerido, longitud = 80)
Nombre del tarjeta habiente.
card_numbernumeric (requerido)
Numero de tarjeta puede ser de 16 o 19 dígitos.
cvv2numeric (requerido)
Código de seguridad como aparece en la parte de atrás de la tarjeta. Generalmente 3 dígitos.
expiration_monthnumeric (requerido)
Mes de expiración tal como aparece en la tarjeta.
expiration_yearnumeric (requerido)
Año de expiración tal como aparece en la tarjeta.
device_session_idstring (opcional, longitud = 255)
Identificador del dispositivo generado con la herramienta antifraudes.

Respuesta

Regresa un objeto tarjeta cuando se creó correctamente o una respuesta de error si ocurrió algún problema en la creación.

Crear una tarjeta con token

Crea una tarjeta a partir de un token obtenido desde el navegador o dispositivo del cliente. Esta forma evita que la información sensible de la tarjeta pase por tus servidores.

Petición

PropiedadDescripción
token_idstring (requerido, longitud = 45)
Identificador del token generado en el navegador o dispositivo del cliente.
device_session_idstring (requerido, longitud = 255)
Identificador del dispositivo generado con la herramienta antifraudes

Respuesta

Regresa un objeto tarjeta

Obtener una tarjeta

Obtiene los detalles de una tarjeta solicitándola con su id.

Nota: Nunca se regresarán datos sensibles como son el código de seguridad y del número de tarjeta sólo se mostraran los primeros 6 y los últimos 4 dígitos.

Petición

PropiedadDescripción
idstring (requerido, longitud = 45)
Identificador único de la tarjeta

Respuesta

Regresa un objeto tarjeta

Eliminar una tarjeta

Elimina una tarjeta del cliente o comercio. Una vez eliminada no se permitirá hacer movimientos, sin embargo, se mantendrán todos los registros de operaciones que haya realizado y se podrán consultar en el dashboard.

Para eliminarla sólo es necesario proporcionar el identificador de la tarjeta.

Petición

PropiedadDescripción
idstring (requerido, longitud = 45)
Identificador único de la tarjeta

Respuesta

Si la tarjeta se borra correctamente la respuesta es vacía, si no se puede borrar se regresa un objeto error indicando el motivo.

Listado de tarjetas

Regresa una lista de las tarjetas registrados por comercio o cliente, si desea delimitar el resultado se pueden utilizar los filtros.

Petición

Puede realizar una búsqueda utilizando los siguiente parámetros como filtros.

PropiedadDescripción
creationdate
Igual a la fecha de creación. Formato yyyy-mm-dd
creation[gte]date
Mayor a la fecha de creación. Formato yyyy-mm-dd
creation[lte]date
Menor a la fecha de creación. Formato yyyy-mm-dd
offsetnumeric
Número de registros a omitir al inicio, por defecto 0.
limitnumeric
Número de registros que se requieren, por defecto 10.

Respuesta

Listado de objetos tarjeta registrados de acuerdo a los parámetros proporcionados, ordenadas por fecha de creación en orden descendente.

Actualizar tarjeta

Actualiza los datos de una tarjeta desde el navegador o dispositivo del cliente. También permite enviar un cvv2 que se usará en el próximo cargo que se realice a esta tarjeta. De esta forma evita que la información sensible de la tarjeta pase por tus servidores.

Petición

PropiedadDescripción
holder_namestring (opcional)
Nombre del tarjeta habiente.
cvv2string (opcional)
Código de seguridad como aparece en la parte de atrás de la tarjeta. Generalmente 3 dígitos.
expiration_monthnumeric (opcional)
Mes de expiración tal como aparece en la tarjeta.
expiration_yearnumeric (opcional)
Año de expiración tal como aparece en la tarjeta.
merchant_idstring (condicional)
ID del comercio. Usado solamente cuando se usa un grupo de comercio.

Respuesta

Actualmente regresa un JSON sin datos. Considerar que se podría extender la respuesta en el futuro.

Planes

Los planes son recursos en Openpay que permiten crear plantillas para las suscripciones. Con ellos podrás definir la cantidad y frecuencia con la que se realizarán los cargos recurrentes.

Objeto Plan

Propiedad Descripción
id string
Identificador único del Plan.
creation_date datetime
Fecha y hora en que se creó el Plan en formato ISO 8601
name string
Nombre del Plan.
amount numeric
Monto que se aplicara cada vez que se cobre la suscripción. Debe ser una cantidad mayor a cero.
currency string
Moneda usada en la operación, requerida
repeat_every numeric
Número de unidades tiempo entre los que se cobrara la suscripción. Por ejemplo, repeat_unit=month y repeat_every=2 indica que se cobrara cada 2 meses.
repeat_unit string
Especifica la frecuencia de cobro. Puede ser semanal(week), mensual(month) o anual(year).
retry_times numeric
Numero de reintentos de cobro de la suscripción. Cuando se agotan los intentos se pone en el estatus determinado por el campo status_after_retry.
status string
Estatus del Plan puede ser active o deleted. Si el plan se encuentra en estado deleted no se permite registrar nuevas suscripciones, pero las que ya están registradas, se siguen cobrando.
status_after_retry string
Este campo especifica el status en el que se pondrá la suscripción una vez que se agotaron los intentos. Puede ser: unpaid o cancelled
trial_days numeric
Numero de días de prueba por defecto que tendrá la suscripción.

Crear un nuevo plan

Crea un nuevo plan al se podrán suscribir uno o varios clientes.

Petición

PropiedadDescripción
namestring (requerido, longitud = 255)
Nombre del Plan.
amountnumeric (requerido)
Monto que se aplicara cada vez que se cobre la suscripción. Debe ser una cantidad mayor a cero.
repeat_everynumeric (requerido)
Número de unidades tiempo entre los que se cobrara la suscripción. Por ejemplo, repeat_unit=month y repeat_every=2 indica que se cobrara cada 2 meses.
repeat_unitnumeric (requerido)
Especifica la frecuencia de cobro. Puede ser semanal(week), mensual(month) o anual(year).
retry_timesnumeric (opcional)
Numero de reintentos de cobro de la suscripción. Cuando se agotan los intentos se pone en el estado determinado por el campo status_after_retry.
status_after_retrystring (requerido, valores = “UNPAID/CANCELLED”)
Este campo especifica el status en el que se pondrá la suscripción una vez que se agotaron los intentos. Puede ser: unpaid o cancelled
trial_daysnumeric (requerido)
Numero de días de prueba por defecto que tendrán las suscripciones que se creen a partir del plan creado.

Respuesta

Regresa un objeto plan creado o un error en caso de ocurrir algún problema.

Actualizar un plan existente

Actualiza la información de un plan. Se requiere tener el id del plan y solo se puede actualizar cierta información.

Petición

PropiedadDescripción
namestring (opcional, longitud = 80)
Nombre del Plan.
trial_daysnumeric (opcional)
Numero de días de prueba por defecto que tendrán las suscripciones que se creen a partir del plan creado.

Respuesta

Regresa un objeto plan con la información actualizada o una respuesta de error si ocurrió algún problema en la actualización.

Obtener un plan

Obtiene los detalles de un plan.

Petición

PropiedadDescripción
idstring (requerido, longitud = 45)
Identificador del plan.

Respuesta

Regresa un objeto plan

Eliminar un plan

Al eliminar un plan no se permitirán crear mas suscripciones asociadas a él, sin embargo las suscripciones ya asociadas se mantienen y se continuan cobrando.

Petición

PropiedadDescripción
idstring (requerido, longitud = 45)
Identificador del plan a eliminar

Respuesta

Si el plan se borra correctamente la respuesta es vacía, si no se puede borrar se regresa un objeto error indicando el motivo.

Listado de planes

Regresa los detalles de todos los planes que están activos.

Petición

Se puede realizar búsquedas utilizando los siguiente parámetros.

PropiedadDescripción
creationdate
Igual a la fecha de creación. Formato yyyy-mm-dd
creation[gte]date
Mayor a la fecha de creación. Formato yyyy-mm-dd
creation[lte]date
Menor a la fecha de creación. Formato yyyy-mm-dd
offsetnumeric
Número de registros a omitir al inicio, por defecto 0.
limitnumeric
Número de registros que se requieren, por defecto 10.

Respuesta

Listado de objetos plan registrados de acuerdo a los parámetros proporcionados, ordenadas por fecha de creación en orden descendente.

Suscripciones

Las suscripciones permiten asociar un cliente y una tarjeta para que se pueden realizar cargos recurrentes.

Para poder suscribir algún cliente es necesario primero crear un plan.

Objeto Suscripción

PropiedadDescripción
idstring
Identificador único del Plan.
creation_datedatetime
Fecha y hora en que se creó la suscripción en formato ISO 8601
cancel_at_period_endstring
Indica si se cancela la suscripción al terminar el periodo.
charge_datenumeric
Fecha en la que se cobrar la suscripción.
current_period_numberstring
Indica el periodo actual a cobrar.
period_end_datenumeric
Fecha en la que se termina el periodo actual, un día antes del siguiente cobro.
trial_end_datestring
Fecha en la que termina el periodo de prueba. Un día después de esta fecha, se realiza el primer cargo.
plan_idnumeric
Identificador del plan sobre el que se crea la suscripción.
statusstring
Estado de la suscripción puede ser active, “trial”, “past_due”, “unpaid”, o “cancelled”. Si la suscripción tiene periodo de prueba, se pone en status “trial”, si no tiene periodo de prueba, o cuando termino el periodo de prueba y se logro efectuar el primer pago, se pone en “active”, cuando el cobro no logro efectuarse, se coloca en “past_due”, y cuando se agotan los intentos de cobro, se coloca de acuerdo a la configuración del plan, en “unpaid” o en “cancelled”. Cuando se coloca en “unpaid”, y se quiere reactivar la suscripción, es necesario actualizar el medio de pago (tarjeta) de la suscripción. En cualquier otro caso, el status se establece como “cancelled”.
customer_idstring
Identificador del customer al que pertenece la suscripción.
cardobject
Medio de pago con el cual se cobrará la suscripción. Ver objeto tarjeta

Crear una nueva suscripción

Crea una suscripción para un cliente existente. Se puede ocupar una tarjeta previamente creada o se pueden enviar los datos de la tarjeta en donde se realizarán los cargos, estos últimos pueden incluir la propiedad device_session_id para usar la herramienta antifraudes, véase Fraud detection using device data.

Petición

PropiedadDescripción
plan_idstring (requerido, longitud = 45)
Identificador del plan sobre el que se crea la suscripción.
trial_end_datestring (opcional, longitud = 10)
Último día de prueba del cliente. Si no se indica se utilizará el valor de trial_days del plan para calcularlo. Si se indica una fecha anterior al día de hoy, se interpretará como una suscripción sin días de prueba. (Con formato yyy-mm-dd)
source_idstring (requerido si no se envía card, longitud = 45)
Identificador del token o la tarjeta previamente registrada al cliente con la que se cobrará la suscripción.
card object (requerido si no se envía source_id)
Medio de pago con el cual se cobrará la suscripción. Ver objeto tarjeta

Respuesta

Regresa el objeto suscripción creado o una respuesta de error si ocurrió algún problema en la creación.

Actualizar una suscripción

Actualiza la información de una suscripción activa.

Petición

PropiedadDescripción
cancel_at_period_endbooelan (opcional)
Indica si se cancela la suscripción al terminar el periodo.
trial_end_datestring (opcional, longitud = 10)
Último día de prueba del cliente. Si no se indica se utilizará el valor de trial_days del plan para calcularlo. Si se indica una fecha anterior al día de hoy, se interpretará como una suscripción sin días de prueba. (Con formato yyy-mm-dd)
source_idstring (opcional, longitud = 45)
Identificador del token o la tarjeta previamente registrada al cliente con la que se cobrará la suscripción.
card object (opcional)
Medio de pago con el cual se cobrará la suscripción. Ver objeto tarjeta

Respuesta

Regresa el objeto suscripción actualizado o una respuesta de error si ocurrió algún problema en la actualización.

Obtener una suscripción

Obtiene los detalles de la suscripción de un cliente.

Petición

PropiedadDescripción
idstring (requerido, longitud = 45)
Identificador de la suscripción

Respuesta

Regresa un objeto suscripción

Cancelar suscripción

Cancela inmediatamente la suscrupción del cliente. Ya no se realizarán mas cargos a la tarjeta y todos cargos pendientes se cancelarán.

Petición

PropiedadDescripción
idstring (requerido, longitud = 45)
Identificador del plan a eliminar

Respuesta

Si la suscripción se cancelo correctamente la respuesta es vacía, si no se regresa un objeto error indicando el motivo.

Listado de suscripciones

Regresa los detalles de todas las suscripciones activas para un cliente en específico.

Petición

Se puede realizar búsquedas utilizando los siguiente parámetros.

PropiedadDescripción
creationdate
Igual a la fecha de creación. Formato yyyy-mm-dd
creation[gte]date
Mayor a la fecha de creación. Formato yyyy-mm-dd
creation[lte]date
Menor a la fecha de creación. Formato yyyy-mm-dd
offsetnumeric
Número de registros a omitir al inicio, por defecto 0.
limitnumeric
Número de registros que se requieren, por defecto 10.

Respuesta

Listado de objetos suscripción que tiene el cliente. Ordenados por fecha de creación en orden descendente.

Webhooks

Estos permiten notificar al cliente cuando un evento ha sucedido en la plataforma, para que el comercio pueda tomar las acciones correspondientes.

 Para que la Openpay invoque un webhook, es importante que se encuentre verificado.

Objeto Webhook

PropiedadDescripción
idstring
Identificador único del webhook.
urlstring
URL del webhook
userstring
Nombre de usuario para autenticación básica del webhook.
passwordstring
Contraseña para autenticación básica del webhook.
event_typesarray[string]
Listado de eventos a los que respondera el webhook.
statusstring
Estado del webhook, indica si esta verificado (verified) o no esta verificado (unverified).

Los tipos de eventos soportados son:

EventoCategoríaDescripción
charge.refundedCargosInforma cuando es reembolsado un cargo.
charge.failedCargosInforma cuando un cargo fallo y no se aplico.
charge.cancelledCargosInforma cuando un cargo es cancelado.
charge.createdCargosInforma cuando un cargo es programado.
charge.succeededCargosInforma cuando un cargo es aplicado.
charge.rescored.to.declineCargosInforma cuando a un cargo le es recalculado su score y es declinado.
subscription.charge.failedSuscripciónInforma cuando el cargo de una suscripción fallo.
payout.createdPagosInforma cuando un pago fue programado para el siguiente día.
payout.succeededPagosInforma cuando un pago programado se ha aplicado.
payout.failedPagosInforma cuando un pago fallo.
transfer.succeededTransferenciasInforma cuando se realiza una transferencia entre dos cuentas Openpay.
fee.succeededComisionesInforma cuando se cobra un Fee a un Customer.
fee.refund.succeededComisionesInforma cuando se reembolsa un Fee a un Customer.
spei.receivedSPEIInforma cuando se recibe un pago por SPEI para agregar fondos a la cuenta.
chargeback.createdContracargosInforma cuando se recibió un chargeback de una transacción y se esta iniciando la investigación.
chargeback.rejectedContracargosInforma cuando un contracargo fue rechazado.
chargeback.acceptedContracargosInforma cuando un contracargo fue aceptado.
order.createdOrdenInforma cuando una orden es creada y programada.
order.activatedOrdenInforma cuando una orden es activada.
order.payment.receivedOrdenInforma cuando el pago de una orden es recibido.
order.completedOrdenInforma cuando una orden es completada.
order.expiredOrdenInforma cuando una orden ha expirado.
order.cancelledOrdenInforma cuando una orden es cancelada.
order.payment.cancelledOrdenInforma cuando el pago de una orden es cancelado.

Crear un Webhook

Al crear un nuevo webhook se hará una petición a la url indicada para verificar el webhook.

Al momento de guardar el webhook se generará un id que podrá ser usado para eliminar o simplemente obtener la información no sensible del webhook.

Petición

PropiedadDescripción
urlstring
URL del webhook
userstring
Nombre de usuario para autenticación básica del webhook.
passwordstring
Contraseña para autenticación básica del webhook.
event_typesarray[string]
Listado de eventos a los que respondera el webhook.

Respuesta

Regresa un objeto webhook cuando se creó correctamente o una respuesta de error si ocurrió algún problema en la creación.

Obtener un Webhook

Obtiene los detalles de un webhook solicitándolo con su id.

 Nota: Nunca se regresarán datos sensibles como son el password para accesar al webhook.

Petición

PropiedadDescripción
idstring (requerido, longitud = 45)
Identificador único del webhook

Respuesta

Regresa un objeto webhook

Eliminar un Webhook

Elimina un webhook del comercio.

Para eliminarlo sólo es necesario proporcionar el identificador del webhook.

Petición

PropiedadDescripción
idstring (requerido, longitud = 45)
Identificador único del webhook

Respuesta

Si el webhook se borra correctamente la respuesta es vacía, si no se puede borrar se regresa un objeto error indicando el motivo.

Listado de Webhook

Regresa una lista de webhooks registrados por comercio.

Nota: Nunca se regresarán datos sensibles como son el password para accesar al webhook.

Petición

Respuesta

Listado de objetos objeto webhook registrados de acuerdo a los parámetros proporcionados.

Tokens

El objetivo de generar tokens es que se capture la información de la tarjeta desde el navegador o dispositivo del usuario final para que dicha información no viaje a través de tu servidor y así puede evitar o reducir certificaciones PCI.

Para usar esta funcionalidad de la API, te recomendamos usar nuestra librería en JavaScript para cuando tu aplicación este en Web y nuestros SDK’s de Android o iOS para cuando este en móvil.

Características

  • Se crean a nivel comercio
  • No se ligan a ningún cliente
  • Después de crearse solo se puede usar una sola vez, para hacer un cargo con token

Objeto Token

PropiedadDescripción
idstring
Identificador del token. Esté es el que deberás usar para posteriormente hacer un cargo.
cardobject
Datos de la tarjeta asociada al token. Ver objeto tarjeta

Crear un nuevo token

Para la creación de un token en Openpay es necesario enviar el objeto con la información a registrar. Una vez guardado el token no se puede obtener el número y código de seguridad ya que esta información es encriptada.

Petición

Propiedad Descripción
holder_name string (requerido) Nombre del tarjeta habiente.
card_number numeric (requerido) Numero de tarjeta puede ser de 16 o 19 dígitos.
cvv2 numeric (requerido) Código de seguridad como aparece en la parte de atrás de la tarjeta. Generalmente 3 dígitos.
expiration_month numeric (requerido) Mes de expiración tal como aparece en la tarjeta.
expiration_year numeric (requerido) Año de expiración tal como aparece en la tarjeta.
address object (opcional) Dirección de facturación del tarjeta habiente.

Repuesta

Regresa el objeto token creado o una respuesta de error si ocurrió algún problema en la creación.

Obtener un token

Obtiene los detalles de un token. Es necesario tener el id.

Nota: Nunca se regresarán datos sensibles como son el código de seguridad y del número de tarjeta.

Petición

Propiedad Descripción
id string (requerido, longitud = 45) Identificador de token.

Respuesta

Regresa un objeto token

Tiendas

El objeto representa una tienda de conveniencia

Objeto Tienda

PropiedadDescripción
id_storestring
Identificador único asignado al momento de su creación.
idstring
Identificador único por cadena.
namedatetime
Nombre de la tienda.
last_updatestring
Fecha de la ultima actualizacion de la tienda en formato ISO 8601.
geolocationobjeto <br/Representacion geografica de la tienda por medio de coordenadas, Latitud y Longitud.
addressobjeto
Direccion de la tienda.
paynet_chainobjeto
Cadena paynet a la que pertence.

Obtener lista de tiendas por ubicación

Obtiene los detalles la cuenta del comercio. Solo se requiere indicar el id unico del comercio que se quiere obtener.

Petición

Propiedad Descripción
latitud numeric (requerido) Latitud de la ubicacion geografica de la tienda
longitud numeric (requerido) Longitud de la ubicacion geografica de la tienda
kilometers numeric (requerido) Distancia del radio de la busqueda en kilometros
amount numeric (requerido) Monto de la compra

Respuesta

Si se encuentran tiendas cerca del rango se devolverá un arreglo con las tiendas encontradas.

Objetos Comunes

Información de objetos compartidos en peticiones y respuestas.

Objeto Transacción

PropiedadDescripción
idstring
Identificador único asignado por Openpay al momento de su creación.
authorizationstring
Número de autorización generado por el procesador.
transaction_typestring
Tipo de transacción que fue creada: fee, charge, payout, transfer.
operation_typestring
Tipo de afectación en la cuenta: in, out.
methodstring
Tipo de método usado en la transacción: card, bank o customer.
creation_datedatetime
Fecha de creación de la transacción en formato ISO 8601.
order_idstring
Referencia única o número de orden/transacción.
statusstring
Estatus actual de la transacción. Posibles valores: completed, in_progress, failed.
amountnumeric
Cantidad de la transacción a dos decimales.
descriptionstring
Descripción de la transacción.
error_messagestring
Si la transacción está en status: failed, en este campo se mostrará la razón del fallo.
customer_idstring
Identificar único del cliente al cual pertence la transacción. Si es valor es nulo, la transacción pertenece a la cuenta del comercio.
currencystring
Moneda usada en la operación, por default es COP.
bank_accountobjeto
Datos de la cuenta bancaria usada en la transacción. Ver objeto BankAccoount
cardobjeto
Datos de la tarjeta usada en la transacción. Ver objeto Card

Objeto Dirección Cliente

PropiedadDescripción
departmentstring (requerido)
Departamento.
citystring (requerido)
Ciudad.
additionalstring (requerido)
Información adicional para especificar la dirección.

Objeto Estatus Transacción

ValueDescription
IN_PROGRESSTransacción en proceso
COMPLETEDTransacción ejecutadá correctamente
REFUNDEDTransacción reembolsada
CHARGEBACK_PENDINGTransacción con contracargo pendiente
CHARGEBACK_ACCEPTEDTransacción con contracargo aceptado
CHARGEBACK_ADJUSTMENTTransacción con ajuste de contracargo
CHARGE_PENDINGTransacción de cargo que no ha sido pagada
CANCELLEDTransacción de cargo que no fue pagada y se ha cancelado
FAILEDTransacción que se intentó pagar pero ocurrió algún error

 

Vtex

Vtex

VTEX es una plataforma que acelera la transformación de empresas de todo el mundo unificando las experiencias de consumo en todos los canales de venta. Los plugins Openpay para la plataforma Vtex permiten configurar y añadir nuestros métodos de pago soportados (tarjeta de crédito/débito) dentro del flujo compra de su tienda en línea.

Para poder configurar el plugin de Openpay en Vtex se debe seguir los siguientes pasos:

1.- CREAR CUENTA EN OPENPAY

1. Ir al sitio web de Openpay y crear cuenta.

Nota: Para hacer pruebas, crear la cuenta en ambiente Sandbox. Para operación real, pide tu pase a Producción

2. Entrar al Dashboard con los datos de acceso creados

3. En barra superior, ir al icono de engrane y hacer click en la opción Credenciales de API

4. Obtener ID (identificador del comercio), Llave privada y Llave pública (esta información se usará más adelante).

Nota: Las Credenciales de API son diferentes en cada ambiente. Debe guardar estos datos por separado y no confundirlos para que los ambientes de Sandbox y Producción funcionen correctamente.

2.- CONFIGURAR DEVICE ID EN GTM (GOOGLE TAG MANAGER)

Para que su tienda VTEX funcione correctamente con Openpay, se requieren datos adicionales que se obtienen a través de Google Tag Manager (recomendamos que se cree una cuenta exclusiva para la integración de VTEX con Openpay para evitar posibles conflictos con otros contenedores)

  1. Descargue desde GitHub la última versión del Contenedor GTM VTEX (archivo JSON) y guárdelo en su ordenador (descargue aquí)

2. Ir a la URL http://www.google.com/tagmanager/ . Si no tiene una cuenta, hacer click en Crear cuenta, si ya tiene una cuenta, ir al paso 5

3. Capture los datos solicitados y haga click en el botón Guardar al finalizar

      1. Nombre de cuenta: por ejemplo “Openpay”
      2. País: Colombia
      3. Configuración del contenedor: URL del sitio (es sólo informativo)
      4. Plataforma objetivo: Sitio web

4. Aceptar Términos de uso para continuar

5. Hacer login en http://www.google.com/tagmanager/ para la tienda que vamos a configurar

6. Se mostrará el dashboard principal. Ir al menú y hacer click en Administrador

7. En las opciones de contenedor, del lado derecho de la pantalla aparecerá su identificador de GTM que tiene un formato como éste: GTM-A1B2CDE. Debe guardar el ID ya que se utilizará más adelante.

8. Hacer click en Importar contenedor

9. Haga click en Elija el archivo del contenedor, seleccione el archivo contenedor que descargó en el paso 1 y presione Abrir o Aceptar

10. En la opción Elegir espacio de trabajo presione el botón Nuevo

11. Elija un nombre para su Espacio de trabajo (Si no está seleccionada, elija la opción Combinar / Cambiar el nombre de etiquetas, activadores y variables en conflicto)

12. Presione el botón Confirmar

13. Ingresar a VTEX y en el panel de la izquierda ir a Store Settings (Configuración de tienda) -> storefront -> Checkout y dar click en el botón con icono de engranaje.

14. Hacer click en la opción Checkout, introduzca su GTM ID y presione Guardar. Con esto VTEX insertará el código de GTM en su tienda en línea.

3.- CONFIGURAR SCRIPT PARA DEVICE SESSION ID

En el panel de la izquierda ir a Store Settings (Configuración de tienda) -> Storefront -> Checkout.

En el encabezado de color azul de la pagina seleccionar la opción Code.

En el archivo con el nombre checkout5-custom.js colocar el siguiente código, a través del cual se realizará la ejecución del código que generará el device session id requerido para realizar transacciones con tarjeta de crédito o débito.

Nota: El número en el nombre de este archivo podría cambiar dependiendo de la
configuración de la plataforma, asegúrese de seleccionar el correcto. El nombre del archivo debe coincidir, a excepción del número que como se mencionó anteriormente puede ser distinto al especificado en función de la configuración de su comercio.


s = document.createElement('script');
s.src = "https://js.openpay.mx/openpay-vtex.min.js";
s.type = 'text/javascript';
s.defer = true;
document.getElementsByTagName('head').item(0).appendChild(s);
country ='MX';
sandboxMode = true;
id = 'm2f1fmdpdnsmjd29zoekz';
pk = 'pk_d1574d522e004f34ac0fd20e3a60f7e0';

Dentro del código mencionado anteriormente existen 4 variables relativas al funcionamiento del script. las cuales están asociadas al correcto funcionamiento del mismo, en las últimas cuatro líneas del código reducido, estas variables son las siguientes:

  • country – CO (Colombia)
  • sandboxMode – el valor asignado puede ser true = producción ó false = Sandbox
  • id – Id del comercio
  • pk – llave pública del comercio (Public Key)

Una vez modificados estos datos debe proceder a guardar la configuración pulsando el botón Save.

 

4.- Configurar Payment Provider en Vtex

Registro de afiliación con OpenpayV2

  1. Ir al administrador de Payment Provider de Vtex
    1. Acceder a Store Settings
    2. En el apartado de Payment hacer clic en Providers
    3. Hacer clic en New Provider
    4. Buscar y seleccionarOpenpayV2
  2. Completar la configuración de la conexión, contemplando los siguientes puntos:
  3. Autenticación con Openpay (Provider Authorization): Ingresar las credenciales de API obtenidas en el dashboard Openpay.
    1. App Key: ID del Comercio (merchantId)
    2. App Token: Llave privada (obtenida de Openpay
  4. Seleccione el modo de operación: Seleccione Enable test mode (para realizar pruebas), des-seleccione para Producción
  5. País: Seleccionar el país donde se encuentra (México, Colombia, Perú)
  6. ¿Cómo procesar el cargo? Define el tipo de cargo que se realizará: Directo, 3D Secure o Autenticación Selectiva.
  7. Affiliation Name (opcional): Alias asociado a una afiliación.

5. Hacer click en el botón Save

6. Configurar en Vtex los métodos de pago a emplear en el e-commerce

7. Configurar en Openpay los webhook

Configura las condiciones de pago

Una vez creada la afiliación, procedemos a agregar los métodos de pago soportados por Openpay para está plataforma de Ecommerce. 

  1. TARJETAS
    Aquí se consideran todos los pagos por Tarjeta de Crédito, Débito y Servicio, siempre y cuando estén operados por Visa y MasterCard.
  2. PAGO EN TIENDAS
    Recibe el pago en efectivo de tus ventas online en cualquiera de los puntos de recaudo a nivel nacional. Fácil y rápida implementación. Tu cliente solo deberá acudir con su referencia y hacer su pago.

Para configurar cualquiera de los métodos de pago mencionados debemos de:

  1. Ir al administrador de Payment Provider en Vtex

2. Acceder al path Payment> Settings > Payment Conditions y hacer click en el botón Agregar

3. Se mostrará una pantalla con diversas opciones donde hay que buscar y seleccionar el método de pago a configurar.

  • Pago en tiendas: Buscar en sección de Custom Payment con la leyenda “Pago en tienda”.

  • Tarjetas: Buscar en sección de Credit Card con la leyenda “Visa”.

4. En la pantalla de configuración del método de pago seleccionado, hacer clic en Process with provider, seleccionar el provider configurado anteriormente, marcarlo como activo y para finalizar dar clic al boton de Save para guardar la configuración.

5. En la barra superior capturar la leyenda que corresponda al método de pago que se está configurando.Nota: Sólo para el método de pago Pago en tiendas seguir las siguientes indicaciones:

  1. Pago en tiendas: Pago en Tienda

Nota: Debido a configuraciones del conector, la leyenda a colocar en cada método de pago deberá de ser tal cual se indica en este paso

Validar Configuración

  1. Realizar procesos de compra con diferentes escenarios (puede ver mas detalle en la sección Pruebas)
  2. Verificar que el resultado para cada escenario es el esperado. En caso de no obtener el resultado esperado se deberá validar nuevamente la configuración y en caso de tener un resultado exitoso, se deberá solicitar a Openpay una cuenta de producción.

Configuración de webhooks

Registrar Webhook en Openpay

En las configuraciones, es necesario la creación de un Webhoook, para notificar cuando se ha realizado un cargo a una tarjeta o cuando un depósito se ha realizado con éxito. La creación de un Webhook dentro de Openpay se realiza como se indica a continuación:

1.- Dentro de su Dashboard ya sea Sandbox ó Producción, en la barra superior hacer click en el icono de engrane y seleccionar “Configuraciones”.

 

2.- Hacer click en el botón Agregar.

 

3.- Se abrirá el formulario como el que se muestra en la imagen:

El formulario deberá ser llenado de la siguiente manera.

    • URL: Capturar la URL dependiendo el entorno en el que se esté trabajando:
      • Sandbox (Test): https://sandbox-vtex.openpay.mx/callbackVtex/[mechantId]
      • Producción (Live): https://plugin-vtex.openpay.mx/callbackVtex/[mechantId]

        [ID]: ID del comercio obtenido en Openpay en la ruta Inicio > Configuraciones (icono engrane) > Credenciales API

 

      • Le aparecerá una ventana con los datos correspondientes al de su comercio.

 

    • Eventos asociados: Se sugiere dejar el valor por default (Todos los eventos) pero en caso de no querer recibir todas las notificaciones, hacer click en Personalizar eventos y seleccionar solo los deseados (es obligatorio seleccionar al menos Cargos > Completados)
    • Usar autenticación de acceso básica: Seleccionar este campo, aquí deberá de ingresar las credenciales con las que se validará y se registrará el. WebHook.
      • Estas credenciales deben de ser su MerchantId y su Llave privada.

 

      • Dar clic en Guardar para registrar el WebHook.

4.- Ubicar el apartado de Webhooks. Si el webhook fue configurado correctamente habrá un registro en estado Verificado

WooCommerce

WooCommerce

¿Qué es WooCommerce?

WooCommerce es un plugin para sitios basados en WordPress que le permite a sus usuarios convertirlos en comercios electrónicos de manera fácil y rápida.

Los plugins de Openpay para WooCommerce le permite configurar y añadir nuestros métodos de pago soportados (tarjeta de crédito/débito, tiendas y PSE) dentro del flujo compra de su tienda en línea.

Versiones soportadas

  • WordPress 6.3
  • WooCommerce 8.0.2
  • WooSubscriptions 5.4.0
  • PHP 8.2

Requerimientos

Es necesario que el servidor donde se encuentre alojada su tienda de WordPress cuente con las siguientes características:

  • Versión instalada de PHP 8.1.* o menor.
  • Versión instalada de MySQL 5.0 o mayor.
  • Extensión de Apache mod_rewrite habilitada.
  • Versión instalada hasta WordPress 6.4.3.
  • Versión instalada del plugin WooCommerce hasta 8.5.2.
  • Extensión de PHP CURL habilitada.
  • Contar con un certificado SSL para su comercio electrónico.

 

¿Cómo activar el almacenamiento de pedidos de alto rendimiento (HPOS) de WooCommerce?

Para activar esta funcionalidad solo tienes que ir a los ajustes de características avanzadas de WooCommerce, ahí lo tienes.

Si la tienda online no es nueva tendrás primero que realizar una sincronización de los pedidos  existentes antes de poder activar el HPOS.

sincronizar pedidos antes de activar hpos

Cuando se hayan sincronizado los pedidos ya puedes activar el almacenamiento de pedidos de alto rendimiento.

Instalación

  1. En su panel de administración de WordPress, dirigirse a la sección Plugins -> Añadir nuevo, ubicado en el menú lateral,
  1. En el buscador, escribe la palabra clave Openpay para buscar las opciones de pago disponibles.
  1. En los resultados de la búsqueda, identifica el plugin del método de pago deseado y hacer clic en Install Now. Al terminar la instalación, se bebe activar el plugin.

Nota: Deberá seguir esta guía por cada método de pago que desee habilitar en su comercio.

Configuración de los módulos

1. En su panel de administración de WordPress, dirigirse a la sección WooCommerce -> Settings, ubicado en el menú lateral.

2. Modificar el valor Currency del formulario por la opción Colombian Peso ($). Guardar los cambios mediante el botón Save changes ubicado al final del formulario.

3. Para activar y desactivar las opciones de pagos, deberá seguir los siguientes pasos.

a. Dirigirse a la pestaña Payments ubicada en la parte superior de las configuraciones de Woocommerce.

b. Activar la opción de pago deseada.

c. Dar clic en el bóton Manage para comenzar con la configuración.

4. Identificar las credenciales de API asignadas a su comercio dentro del panel de administración de Openpay.

Para ver las credenciales, dar clic en el engrane del menú superior derecho y luego seleccionar la opción Credenciales de API

5. Completar la configuración del apartado de Openpay, contemplando los siguientes tópicos:

Configuraciones Generales Openpay

  • Habilitar módulo: Habilita el uso de Openpay como plataforma de pagos.
  • Modo de pruebas: Determina si el plugin va a funcionar en entorno de pruebas (Sandbox) o Producción.
  • País: Seleccionar el país donde se encuentra (Colombia, México).
  • Credenciales de Openpay (Merchant ID, Secret Key, Public Key): Credenciales de API para utilizar el plugin (ya sea en modo Sandbox o Producción). Copiar y pegar cada dato (obtenido en el Paso anterior) como corresponda.

Configuraciones pago con tarjeta

  1. Guardar tarjetas: Permite a los usuarios registrados guardar sus tarjetas crédito/débito para agilizar sus futuras compras.
  2. Cuotas: Puede habilitar o deshabilitar pagos con cuotas seleccionando el número de cuotas disponibles.
  3. IVA: Debe contener el valor de IVA, es campo solo informativo, no tiene ningún efecto sobre el campo amount.

Configuraciones pago en tienda

(La instalación del plugin y configuración inicial para el plugin de pago en tiendas es similar a la descrita arriba)

  1. Payment deadline: Defina la cantidad de horas de validez para realizar un pago en Tiendas de Conveniencia.
  2. IVA: Debe contener el valor de IVA, es campo solo informativo, no tiene ningún efecto sobre el campo amount.

Configuración pago vía PSE

  • IVA: Debe contener el valor de IVA, es campo solo informativo, no tiene ningún efecto sobre el campo amount.

6. Guardar los cambios en la configuración dando clic sobre el botón Guardar los cambios ubicado al final del formulario.

Notificación de pagos en tiendas y PSE.

Los plugins Openpay están preparados para recibir las notificaciones de pago de forma automática, es decir, sin la necesidad de configurar su cuenta de Openpay o el plugin. Las notificaciones se envían al comercio cuando los pagos han sido realizados o cuando una referencia ha vencido.

Importante: Los plugins asumen que la tienda se encuentra en la raiz del dominio, por lo que se crea el webhook tomando como base está url.

Pago en tiendas

https://[eCommerce domain]/wc-api/Openpay_Stores

PSE

https://[eCommerce domain]/wc-api/Openpay_PSE

Verficación de Webhook.

Es importante verificar que el webhook se haya creado correctamente en Openpay.

NOTA: Recuerde que no es necesario agregar el webhook manualmente, al guardar la configuración de módulo este lo crea de forma automática.

1.- En su panel de configuración de Openpay ir a Ajustes (icono de engrane) -> Configuraciones

2.- Ubicar el apartado de Webhook, si el webhook fue configurado correctamente habrá un registro en estado Verificado.

Magento 2

Magento 2

¿Qué es Magento?

Magento es una plataforma que permite la gestión de contenidos web para un comercio electrónico, ofreciendo una solución flexible y escalable sobre la cual se puede basar cualquier proyecto de tienda en línea.

El plugin de Openpay para Magento le permite configurar y añadir nuestros métodos de pago soportados (tarjeta de crédito/débito, tiendas de conveniencia y PSE (banks)) dentro del flujo compra de su comercio electrónico.

Versiones soportadas.

  • Magento Open Source Edition (Magento Community) Desde 2.1.1 hasta 2.4.6-p3
  • Magento Adobe Commerce (Magento Enterprise)
  • Magento Commerce Cloud Edition (Magento Cloud)

Requerimientos.

Es necesario que el servidor donde se encuentre alojado su comercio electrónico basado en Magento 2 cuente con las siguientes características:

  • Versión instalada de PHP: 8.1 o superior.
  • Versión instalada de MySQL: 8.0 o superior.
  • Contar con un certificado SSL para su comercio electrónico.

Instalación.

Para la instalación de extensiones (plugins) en Magento 2 es necesario aplicar una serie de comandos en la terminal del servidor donde este alojada nuestra plataforma.

Para implementar las 3 diferentes formas de pago en tu tienda, será necesario instalar y habilitar cada uno de ellos por separado.

 

1.- Ingresar desde la terminal de nuestro servidor a la carpeta raíz del proyecto de Magento.

2.- Ingresar los siguientes comandos, los cuales descargarán las extensiones al proyecto y adicional a ello descargarán la librería de Openpay de PHP.

  • Módulo de pagos con tarjeta de crédito
 composer require openpay/magento2-cards:3.5.*
  • Módulo para pagos en efectivo
# Para versiones de Magento < 2.3.0 
composer require openpay/magento2-stores:~3.1.0


# Para versiones de Magento >= 2.3.0 composer require openpay/magento2-stores:~3.5.0
# Para versiones de Magento >= 2.3.5 composer require openpay/magento2-stores:~4.1.*


  • Módulo para pagos vía PSE
#Para versiones de Magento < 2.3.0 
composer require openpay/magento2-banks:~3.1.0


# Para versiones de Magento >= 2.3.0 composer require openpay/magento2-banks:~3.5.0
# Para versiones de Magento >= 2.3.5 composer require openpay/magento2-banks:~4.1.*

3.- Después se procede a habilitar los módulos, actualizar y limpiar cache de la plataforma.

php bin/magento module:enable Openpay_Cards --clear-static-content
php bin/magento module:enable Openpay_Stores --clear-static-content
php bin/magento module:enable Openpay_Banks --clear-static-content
php bin/magento setup:upgrade
php bin/magento cache:clean

Configuración de módulos.

1.- Identificar las credenciales de API asignadas a su comercio dentro del panel de administración de Openpay.

2.- Aparecerá una pantalla como la que se muestra a continuación.

3.- En su panel de administración de Magento 2, dirigirse a la sección Stores -> Configuration.

4. Una vez dentro de la pantalla de Configuración, ubicar en el menú lateral izquierdo Sales -> Payment Methods.

5.- Le aparecerán los módulos que instaló.

Configurar Openpay Tarjetas.

Configuración general.

  • Habilitado (Enabled).- Para habilitar el modo de pago.
  • Sandbox.- Determina si el plugin va a funcionar en entorno de pruebas (Sandbox).
  • Título (Title).- Nombre del método de pago que se mostrará en la tienda.
  • Credenciales de Openpay (Merchant ID, Llave Secreta, Llave Pública).- Credenciales de API para utilizar el plugin (ya sea en modo Sandbox o Producción). Copiar y pegar cada dato (obtenido en el Paso 1) como corresponda.
  • País.- Seleccionar el país donde se encuentra (Colombia, México, Perú).

Configuración pago con tarjeta.

  • ¿Cómo procesar el cargo?.- Define el tipo de cargo que se realizará: Directo, 3Dsecure o Autenticación Selectiva.
  • Guardar tarjetas.- Permite a los usuarios registrados guardar sus tarjetas crédito/débito para agilizar sus futuras compras.
  • Tipos de tarjetas (Credit card types).-Deberán de estar seleccionados los 3 tipos de tarjetas para aceptar todo tipo de tarjetas permitidas por Openpay.
  • IVA.- Debe contener el valor de IVA, es campo solo informativo, no tiene ningún efecto sobre el campo amount.
  • Cuotas.- Puede habilitar o deshabilitar pagos con cuotas seleccionando el número de cuotas disponibles.
  • Configuración de países permitidos (Payment from applicable countries, payment from specific countries).- Puede dejarse con la configuración por default que tiene o bien puede definirse únicamente a Colombia.
  • Orden (Sort order).- Orden en que se mostrará este método de pago

 

Configuración pagos en tiendas.

  • Fecha límite para pago (Payment deadline).- Definir el número de horas que tendrá el cliente una vez emitido el recibo de pago para efectuar éste.
  • IVA.- Debe contener el valor de IVA, es campo solo informativo, no tiene ningún efecto sobre el campo amount.
  • Configuración de países permitidos (Payment from applicable countries, payment from specific countries).- Puede dejarse con la configuración por default que tiene o bien puede definirse únicamente a Colombia.
  • Orden (Sort order).- Orden en que se mostrará este método de pago.

 

Configuración pago con PSE.

  • Configuración de países permitidos (Payment from applicable countries, payment from specific countries).- Puede dejarse con la configuración por default que tiene o bien puede definirse únicamente a Colombia.
  • IVA.- Debe contener el valor de IVA, es campo solo informativo, no tiene ningún efecto sobre el campo amount.
  • Orden (Sort order).- Orden en que se mostrará este método de pago.

6. Cuando finalize las configuraciones de su preferencia, dar clic en el botón de Save Config.

7.- Una vez que se hayan guardado los cambios, Magento te solicitará que limpies la cache del sistema, dar clic en Cache Management.

8.- En la pantalla que le aparecerá, dar clic en Flush Magento Cache.

Una vez hecho esto, tu tienda dispondrá de las formas de pago que ofrece Openpay.

Notificaciones de pago en tienda.

Los plugins Openpay están preparados para recibir las notificaciones de pago de forma automática, es decir, sin la necesidad de configurar su cuenta de Openpay o el plugin. Las notificaciones se envían al comercio cuando los pagos han sido realizados o cuando una referencia ha vencido.

Importante: Los plugins asumen que la tienda se encuentra en la raíz del dominio, por lo que se crea el webhook tomando como base está url.

https://[eCommerce domain]/openpay/index/webhook

Verificación de Webhook.

Nota: Recuerde que no es necesario agregar el Webhook manualmente, al guardar la configuración del módulo este lo crea de forma automática. 

Es importante verificar que el Webhook haya sido creado de forma correcta en Openpay.

1.- En su panel de configuración de Openpay ir a Ajustes (icono de engrane) -> Configuraciones.

2. Ubicar el apartado de Webhooks. Si el webhook fue configurado correctamente habrá un registro en estado Verificado.

Vtex

Vtex

VTEX es una plataforma que acelera la transformación de empresas de todo el mundo unificando las experiencias de consumo en todos los canales de venta. Los plugins Openpay para la plataforma Vtex permiten configurar y añadir nuestros métodos de pago soportados (tarjeta de crédito/débito) dentro del flujo compra de su tienda en línea.

Para poder configurar el plugin de Openpay en Vtex se debe seguir los siguientes pasos:

1.- CREAR CUENTA EN OPENPAY

1. Ir al sitio web de Openpay y crear cuenta.

Nota: Para hacer pruebas, crear la cuenta en ambiente Sandbox. Para operación real, pide tu pase a Producción

2. Entrar al Dashboard con los datos de acceso creados

3. En barra superior, ir al icono de engrane y hacer click en la opción Credenciales de API

4. Obtener ID (identificador del comercio), Llave privada y Llave pública (esta información se usará más adelante).

Nota: Las Credenciales de API son diferentes en cada ambiente. Debe guardar estos datos por separado y no confundirlos para que los ambientes de Sandbox y Producción funcionen correctamente.

2.- Configurar Google Tag Manager (GTM)

Para que su tienda VTEX funcione correctamente con Openpay, se requieren datos adicionales que se obtienen a través de Google Tag Manager (recomendamos que se cree una cuenta exclusiva para la integración de VTEX con Openpay para evitar posibles conflictos con otros contenedores)

  1. Descargue desde GitHub la última versión del Contenedor GTM VTEX (archivo JSON) y guárdelo en su ordenador (descargue aquí)

2. Ir a la URL http://www.google.com/tagmanager/ . Si no tiene una cuenta, hacer click en Crear cuenta, si ya tiene una cuenta, ir al paso 5

3. Capture los datos solicitados y haga click en el botón Guardar al finalizar

      1. Nombre de cuenta: por ejemplo “Openpay”
      2. País: Colombia
      3. Configuración del contenedor: URL del sitio (es sólo informativo)
      4. Plataforma objetivo: Sitio web

4. Aceptar Términos de uso para continuar

5. Hacer login en http://www.google.com/tagmanager/ para la tienda que vamos a configurar

6. Se mostrará el dashboard principal. Ir al menú y hacer click en Administrador

7. En las opciones de contenedor, del lado derecho de la pantalla aparecerá su identificador de GTM que tiene un formato como éste: GTM-A1B2CDE. Debe guardar el ID ya que se utilizará más adelante.

8. Hacer click en Importar contenedor

9. Haga click en Elija el archivo del contenedor, seleccione el archivo contenedor que descargó en el paso 1 y presione Abrir o Aceptar

10. En la opción Elegir espacio de trabajo presione el botón Nuevo

11. Elija un nombre para su Espacio de trabajo (Si no está seleccionada, elija la opción Combinar / Cambiar el nombre de etiquetas, activadores y variables en conflicto)

12. Presione el botón Confirmar

13. Guarde los cambios y haga click en el botón superior derecho Enviar. Esto inicia el proceso de publicación de su contenedor con los cambios que realizó en las variables.

14. En la pantalla “Configuración de envío” validar que se muestre seleccionada la opción “Publicar y crear versión” y que en la parte inferior se muestre “Entorno de publicación Live”. Hacer click en el botón Publicar.

Si se publicó correctamente, su GTM está listo para ser consumido por el sistema VTEX, al cual le agregaremos el ID que obtuvimos en el paso 7

15. Ingresar a VTEX y en el panel de la izquierda ir a Store Settings (Configuración de tienda) -> storefront -> Checkout y dar click en el botón con icono de engranaje.

16. Hacer click en la opción Checkout, introduzca su GTM ID y presione Guardar. Con esto VTEX insertará el código de GTM en su tienda en línea.

 

3.- CONFIGURAR SCRIPT PARA DEVICE SESSION ID

En el panel de la izquierda ir a Store Settings (Configuración de tienda) -> Storefront -> Checkout.

En el encabezado de color azul de la pagina seleccionar la opción Code.

En el archivo con el nombre checkout5-custom.js colocar el siguiente código, a través del cual se realizará la ejecución del código que generará el device session id requerido para realizar transacciones con tarjeta de crédito o débito.

Nota: El número en el nombre de este archivo podría cambiar dependiendo de la
configuración de la plataforma, asegúrese de seleccionar el correcto. El nombre del archivo debe coincidir, a excepción del número que como se mencionó anteriormente puede ser distinto al especificado en función de la configuración de su comercio.


s = document.createElement('script');
s.src = "https://js.openpay.mx/openpay-vtex.min.js";
s.type = 'text/javascript';
s.defer = true;
document.getElementsByTagName('head').item(0).appendChild(s);
country ='CO';
sandboxMode = true;
id = 'mxxxxxxxxxxxxxxxxxxx';
pk = 'pk_xxxxxxxxxxxxxxxxx';

Dentro del código mencionado anteriormente existen 4 variables relativas al funcionamiento del script. las cuales están asociadas al correcto funcionamiento del mismo, en las últimas cuatro líneas del código reducido, estas variables son las siguientes:

  • country – CO (Colombia)
  • sandboxMode – el valor asignado puede ser true = producción ó false = Sandbox
  • id – Id del comercio
  • pk – llave pública del comercio (Public Key)

Una vez modificados estos datos debe proceder a guardar la configuración pulsando el botón Save.

 

4.- Configurar Payment Provider en Vtex

Registro de afiliación con OpenpayV2

  1. Ir al administrador de Payment Provider de Vtex
    1. Acceder a Store Settings
    2. En el apartado de Payment hacer clic en Providers
    3. Hacer clic en New Provider
    4. Buscar y seleccionarOpenpayV2
  2. Completar la configuración de la conexión, contemplando los siguientes puntos:
  3. Autenticación con Openpay (Provider Authorization): Ingresar las credenciales de API obtenidas en el dashboard Openpay.
    1. App Key: ID del Comercio (merchantId)
    2. App Token: Llave privada (obtenida de Openpay
  4. Seleccione el modo de operación: Seleccione Enable test mode (para realizar pruebas), des-seleccione para Producción
  5. País: Seleccionar el país donde se encuentra (México, Colombia, Perú)
  6. ¿Cómo procesar el cargo? Define el tipo de cargo que se realizará: Directo, 3D Secure.
  7. Affiliation Name (opcional): Alias asociado a una afiliación.

5. Hacer click en el botón Save

6. Configurar en Vtex los métodos de pago a emplear en el e-commerce

7. Configurar en Openpay los webhook

Configura las condiciones de pago

Una vez creada la afiliación, procedemos a agregar los métodos de pago soportados por Openpay para está plataforma de Ecommerce. 

  1. TARJETAS
    Aquí se consideran todos los pagos por Tarjeta de Crédito, Débito y Servicio, siempre y cuando estén operados por Visa y MasterCard.
  2. PAGO EN TIENDAS
    Recibe el pago en efectivo de tus ventas online en cualquiera de los puntos de recaudo a nivel nacional. Fácil y rápida implementación. Tu cliente solo deberá acudir con su referencia y hacer su pago.

Para configurar cualquiera de los métodos de pago mencionados debemos de:

  1. Ir al administrador de Payment Provider en Vtex

2. Acceder al path Payment> Settings > Payment Conditions y hacer click en el botón Agregar

3. Se mostrará una pantalla con diversas opciones donde hay que buscar y seleccionar el método de pago a configurar.

  • Pago en tiendas: Buscar en sección de Custom Payment con la leyenda “Pago en tienda”.

  • Tarjetas: Buscar en sección de Credit Card con la leyenda “Visa”.

4. En la pantalla de configuración del método de pago seleccionado, hacer clic en Process with provider, seleccionar el provider configurado anteriormente, marcarlo como activo y para finalizar dar clic al boton de Save para guardar la configuración.

5. En la barra superior capturar la leyenda que corresponda al método de pago que se está configurando.Nota: Sólo para el método de pago Pago en tiendas seguir las siguientes indicaciones:

  1. Pago en tiendas: Pago en Tienda

Nota: Debido a configuraciones del conector, la leyenda a colocar en cada método de pago deberá de ser tal cual se indica en este paso

Validar Configuración

  1. Realizar procesos de compra con diferentes escenarios (puede ver mas detalle en la sección Pruebas)
  2. Verificar que el resultado para cada escenario es el esperado. En caso de no obtener el resultado esperado se deberá validar nuevamente la configuración y en caso de tener un resultado exitoso, se deberá solicitar a Openpay una cuenta de producción.

Configuración de webhooks

Registrar Webhook en Openpay

En las configuraciones, es necesario la creación de un Webhoook, para notificar cuando se ha realizado un cargo a una tarjeta o cuando un depósito se ha realizado con éxito. La creación de un Webhook dentro de Openpay se realiza como se indica a continuación:

1.- Dentro de su Dashboard ya sea Sandbox ó Producción, en la barra superior hacer click en el icono de engrane y seleccionar “Configuraciones”.

 

2.- Hacer click en el botón Agregar.

 

3.- Se abrirá el formulario como el que se muestra en la imagen:

El formulario deberá ser llenado de la siguiente manera.

    • URL: Capturar la URL dependiendo el entorno en el que se esté trabajando:
      • Sandbox (Test): https://sandbox-vtex.openpay.mx/callbackVtex/[mechantId]
      • Producción (Live): https://plugin-vtex.openpay.mx/callbackVtex/[mechantId]

        [ID]: ID del comercio obtenido en Openpay en la ruta Inicio > Configuraciones (icono engrane) > Credenciales API

 

      • Le aparecerá una ventana con los datos correspondientes al de su comercio.

 

    • Eventos asociados: Se sugiere dejar el valor por default (Todos los eventos) pero en caso de no querer recibir todas las notificaciones, hacer click en Personalizar eventos y seleccionar solo los deseados (es obligatorio seleccionar al menos Cargos > Completados)
    • Usar autenticación de acceso básica: Seleccionar este campo, aquí deberá de ingresar las credenciales con las que se validará y se registrará el. WebHook.
      • Estas credenciales deben de ser su MerchantId y su Llave privada.

 

      • Dar clic en Guardar para registrar el WebHook.

4.- Ubicar el apartado de Webhooks. Si el webhook fue configurado correctamente habrá un registro en estado Verificado

Testing

Shopify

¿Qué es Shopify?

Shopify es una plataforma de e-commerce que te permite crear, configurar y poner en funcionamiento tu propia tienda en línea de manera fácil, rápida y segura.

Ponemos a tu disposición nuestro Botón de pago para la plataforma Shopify, el cual te permitirá añadir nuestros métodos de pago soportados dentro del flujo de compra de tu comercio electrónico.

Instalación

  1. Para comenzar con la instalación, ingresa a Shopify App Store.
  2. A continuación, da clic en el botón Agregar app.

  1. Después, da clic en el botón Instalar aplicación.

  1. Finalmente, se mostrará una pantalla con la siguiente información. Da clic en Más acciones -> Gestionar para proseguir al paso de la configuración de tus llaves de Openpay.

Importante: para procesar cargos con Shopify, favor de contactar a Soporte Openpay (soporte@openpay.mx) para configurar correctamente tu comercio.

 

Configurar la conexión

  1. Para configurar la conexión, es necesario identificar las credenciales de API asignadas a tu comercio dentro del panel de administración de Openpay.

Si no tienes una cuenta, deberás crear una para continuar con el proceso.

Regístrate aquí.

Para ver las credenciales, inicia sesión en tu cuenta de Openpay y da clic en el ícono del engrane ubicado en el menú superior derecho y luego selecciona la opción Credenciales de API.

  1. Más adelante, deberás ingresar las credenciales de tu comercio y configurar de acuerdo a tus preferencias los siguientes parámetros:
  • País: hasta el momento se tiene soporte para México, Perú y Colombia.
  • Modo Sandbox: determina si el plugin va a funcionar en el ambiente de pruebas (Sandbox) o Producción.
  • Credenciales de Openpay (Merchant ID, Llave secreta): credenciales de API, ya sea en modo Sandbox o Producción (copiar y pegar cada dato obtenido en el paso uno como corresponda).
  • Hora de vigencia: este es el tiempo que le darás a tus clientes para concretar su compra en el Link de Cobro. Por defecto son 24 horas.
  • IVA (Colombia), IGV (Perú): este campo sólo aplica para estos dos países, y únicamente con fines informativos para sus clientes finales.

  1. Finalmente, da clic en Guardar.

Activación

1.-Para realizar la activación, dirígete a los siguientes apartados: Configuración > Pagos > Formas de pago admitidas.

2.- Más adelante, pasarás a la sección Agregar formas de pago. Dirígete a la opción Buscar por proveedor > Buscar Openpay.

*En caso de que el sistema no encuentre resultados para Openpay, deberás actualizar la página e iniciar de nuevo el proceso de Agregar formas de pago.

3. –Para continuar, selecciona Openpay > Activar > Activar Openpay.

Nota: El apartado de Modo de prueba (el que se muestra en la captura de pantalla) deberá coincidir con el modo que tienes configurado en la aplicación de Openpay. Por ejemplo: en caso de que se tenga configurado el modo Sandbox, de igual manera se requerirá tener el Modo de prueba habilitado. En el caso contrario, con las llaves de producción deberás deshabilitar este modo.

4.-Finalmente, confirma que la configuración de la aplicación ha sido guardada correctamente. Y listo, Openpay ya está activo en tu e-commerce.

Notificaciones de pagos offline

Para el correcto funcionamiento del aplicativo de Shopify, se requiere dar de alta un Webhook desde el Dashboard de Openpay.

  1. Para darlo de alta, inicia sesión en Openpay, dirígete al ícono del engrane ubicado en la esquina superior derecha y selecciona la opción Configuraciones:

2. Más adelante, en la sección de Webhooks da clic en el botón Agregar. Aparecerá una pantalla como la que se muestra a continuación:

3. En la URL se debe ingresar la siguiente:

https://plugin.openpay.mx/v1/notifications/<IdComercio>

Para que esta parte no te marqué error, en la URL deberás de colocar el ID de tu comercio (<IdComercio>), el cual puedes ubicar en la sección Credenciales de API.

4. Selecciona Todos los eventos, y da clic en la sección de Checkbox “Usar autenticación de acceso básica”. Aquí deberás ingresar tu llave privada tanto en el Usuario como en la Contraseña. Esta la puedes localizar, de igual forma, en la sección Credenciales de API.

5. Una vez realizado lo anterior, da clic en Guardar y se agregará a la sección de Webhooks la dirección ingresada en la URL y los eventos soportados seleccionados.

Si el Webhook aparece con un botón de Verificar o si aparece un mensaje notificando algún error, favor de comunicarse con soporte@openpay.mx

Creación de Proyecto de Recaudo

1. Propósito

El presente documento detalla la funcionalidad del Módulo de Recaudo que es operable a través del Dashboard de Openpay. Su funcionalidad se detalla a continuación:

2. Módulo de Recaudo

Una vez que el comercio ha adquirido la funcionalidad de Recaudo con Openpay, en el menú del Dashboard del lado izquierdo aparecerá la siguiente opción:

Aparecerá la menú “Recaudo” con una única opción denominada “Proyecto”.

Al dar click sobre la opción “Proyecto”, presentará la pantalla inicial del módulo de recaudo con la lista de proyectos de recaudo previamente creados por el comercio; en caso de que el comercio no tenga proyectos previos presentará una lista vacía.

Comercio Sin Proyectos Previos

Comercio Con Proyectos Creados

3. Creación de Proyecto de Recaudo

3.1 1ª Carga

A continuación se detalla el proceso para crear un nuevo proyecto de recaudo.

Estando en la pantalla de “Proyectos” damos click sobre el botón “Crear nuevo proyecto”.

El aplicativo nos presentará un wizard (asistente), que consta de una serie de pasos, el cual nos permitirá configurar nuestro proyecto de recaudo.

3.1.1 Paso 1: “Crear Proyecto”

En este paso se definen los atributos generales del proyecto de recaudo.

Consta de 3 campos requeridos:

  • Logotipo del Proyecto. Una imagen o logo que identifique al comercio y que queramos se presente cuando nuestros clientes visiten el portal de recaudo a realizar sus pagos.
  • Nombre Proyecto. El nombre que queramos asignar al proyecto.
  • Descripción Proyecto. Una descripción relacionada con el proyecto.

3.1.2 Paso 2: “Importar Archivo”

En este paso se carga el archivo con la información de los pagos a recaudar.

Consta de 1 campo requerido:

  • Cargue un archivo Excel, CSV, TXT o Asobancaria. Como lo indica el texto, se solicita que se cargue el archivo con el concentrado de pagos del comercio en alguno de los formatos mencionados.

Una vez ingresado el archivo se solicita que se indique el formato del mismo. Para este ejemplo: se realizó la carga de un archivo con formato Excel.

Otro ejemplo sería un CSV o TXT y presentaría algo similar a la siguiente imagen en el cual se solicita se especifique el tipo de separador con el que cuenta el archivo.

3.1.3 Paso 3: “Configuración Login”

En este paso se configura cómo será el acceso al portal de recaudo.

Consta de 1 campo requerido:

  • Campo 1. Solicita que se indique el campo por medio del cual el cliente final estaría ingresando al portal de recaudo. El sistema automáticamente presenta el listado de todas las columnas que contenía el archivo cargado en el paso anterior.

Para este ejemplo, el archivo contenía una columna de nombre USUARIO y esa es la que se utilizará para el Login en el portal de recaudo. También se indica en el campo Título del Campo como se presentaría dicho campo visualmente, para este caso será con la leyenda “ID USUARIO” y si lo deseamos también podemos indicar un Texto de Ayuda.

3.1.4 Paso 4: “Configuración Campos”

En este paso se configuran los campos principales para mostrar en el portal de recaudo.

Consta de 3 campos requeridos:

  • Encabezado. El encabezado que se presentaría. Aquí nuevamente el sistema precarga en cada combo de selección los valores de las columnas contenidas en el archivo.
  • Identificador Único. El identificador único.
  • Monto. El importe del pago.

Adicionalmente, está el campo opcional Valor del IVA y algunos otros campos que también pudiéramos configurarlos con base en las columnas del archivo cargado.

Para este ejemplo, el archivo contenía las columnas NOMBRE COMERCIO (Cliente), FACTURA y TOTAL A PAGAR y fueron asignadas respectivamente a cada uno de los campos requeridos. Adicionalmente, también se indica el Título de Campo de cada una de ellas como: CLIENTE, FACTURA e IMPORTE respectivamente, que es como se presentarán visualmente dichos campos en el portal de recaudo.

Adicionalmente, podemos establecer dentro del apartado de “Otras configuraciones” un par de características para el comportamiento de este proyecto en cargas posteriores.

  1. No mostrar histórico de facturas. Conservar el histórico de facturas pagadas o no.
  2. Reemplazar facturas no pagadas. Si se deben reemplazar las facturas cuyo pago no fue realizado y que al momento de cargar un nuevo archivo se reemplacen o se conserven.

3.1.5 Paso 5: “Verificación de Archivo”

En este paso se configura el reporte que será enviado diariamente para llevar un control de los pagos que fueron realizados por parte de nuestros clientes.

Consta de 3 campos requeridos:

  • Hora de envío. El horario de envío del reporte.
  • Lista de correos. La lista de correos separadas por coma a los que les llegará el reporte.
  • Columnas a mostrar. Las columnas que contendrá el reporte.

3.1.6 Paso 6: “Vista Previa”

Por último, terminamos de detallar nuestro proyecto.

Consta de 2 campos requeridos:

  • URL. Nos permite personalizar el dominio del sitio.
  • Color Base. Podemos establecer un color base para los elementos de nuestro portal de recaudo.

Una vez concluida la creación del proyecto lo podemos visualizar dentro del listado principal. Tal y como lo presenta la siguiente imagen.

3.2 Cargas Subsecuentes

A continuación se detalla el proceso de actualización de un proyecto de recaudo existente.

Estando en la pantalla de “Proyectos” damos click sobre el botón “Editar” del proyecto que deseamos actualizar.

El aplicativo nos presentará nuevamente el wizard (asistente), muy similar al de creación, con una serie de pasos para realizar la actualización del proyecto de recaudo.

3.2.1 Paso 1: “Importar Archivo”

En este paso se carga el nuevo archivo con la información de los nuevos pagos a recaudar.

Consta de 1 campo requerido:

  • Cargue un archivo. Se solicita que se cargue el archivo actualizado, con el concentrado de pagos del comercio, en el mismo formato en el que se dio de alta cuando se creó el proyecto.

Una vez ingresado el archivo se muestra el formato del mismo y el detalle del archivo cargado.

3.2.2 Paso 2: “Configuración Login”

En este paso se configura cómo será el acceso al portal de recaudo. Se presenta tal y como se configuró al momento de la creación del proyecto de recaudo y no es editable.

3.2.3 Paso 3: “Configuración Campos”

En este paso se configuran los campos principales para mostrar en el portal de recaudo. Se presenta tal y como se configuró al momento de la creación del proyecto de recaudo y no es editable, excepto las opciones de “Otras configuraciones”.

3.2.4 Paso 4: “Verificación de Archivo”

En este paso se configura el reporte que será enviado diariamente para llevar un control de los pagos que fueron realizados por parte de nuestros clientes. Se presenta tal y como se configuró al momento de la creación del proyecto de recaudo y puede ser editable.

Consta de 3 campos requeridos:

  • Hora de envío. El horario de envío del reporte.
  • Lista de correos. La lista de correos separadas por coma a los que les llegará el reporte.
  • Columnas a mostrar. Las columnas que contendrá el reporte.

3.2.5 Paso 5: “Vista Previa”

Por último, se presenta la vista previa. Se presenta tal y como se configuró al momento de la creación del proyecto de recaudo y no es editable. Y con este último paso se concluye la edición del proyecto.

3.3 Portal de Recaudo

Para ingresar al portal de recaudo ingresamos a la Url del Sitio que fue designada para nuestro proyecto de recaudo.

3.3.1 Login

Ingresamos el valor para loguearnos, con base en la columna que configuramos para el login del archivo que cargamos. En el ejemplo, nuestra columna era USUARIO y se iba a presentar con la leyenda ID USUARIO.

Una vez que el cliente haya iniciado sesión se presenta la lista de facturas / pagos pendientes que tiene para con el comercio. Dicha información se obtiene, de la misma manera del archivo cargado durante la creación del proyecto de recaudo y se presenta la información que configuramos.

Para nuestro ejemplo establecimos que iba a mostrarse la información del CLIENTE (“Openpay” en la imagen siguiente), FACTURA e IMPORTE. Si se hubieran configurado más columnas éstas también se mostrarían.

3.3.2 Proceso de Cargo / Pago

Seleccionando la(s) factura(s) que se desean pagar, presionamos el botón “Continuar”. Presentará un modal para capturar el correo electrónico al que se enviará la información del pago en caso de procesar la operación de manera exitosa. Ingresamos el correo y presionamos el botón “Continuar”.

Presenta los métodos de pago. Elegimos el que queremos y presionamos el botón “Continuar”.

Presenta el formulario para ingresar la información para realizar el pago. Capturamos la información solicitada y presionamos el botón “Pagar”.

Una vez procesado el pago presenta la confirmación del mismo. Presionamos el botón “Aceptar”.

En el listado de facturas del cliente podemos observar las facturas pagadas. Para este ejemplo se realizó el pago de la factura con número 2526.

NOTA: Para cualquier tipo de cargo (tarjeta, pse o efectivo) se puede enviar notificación en tiempo real a una URL del comercio para informar el estatus de la transacción.

3.4 Recaudo Automático

Para agilizar el proceso de las cargas subsecuentes se creó la funcionalidad de “Recaudo Automático”.

Para habilitar un proyecto en la funcionalidad de “Recaudo Automático” basta con ubicar el proyecto dentro del listado de proyectos y activar la opción “Automatizar la carga de facturas”.

El aplicativo nos presentará un pequeño wizard (asistente), con las consideraciones que se tienen que tener en cuenta para la carga automática.

Presenta un modal para confirmar que se quiere activar la carga automática, en el cual se menciona que se contará con una carpeta exclusiva para el comercio, en la cual el comercio depositará los archivos para carga automática.

De igual manera, se menciona que la entrega del reporte de conciliación también será depositado en dicha ubicación.

IMPORTANTE: Cabe mencionar que la 1ª carga se debe realizar durante la creación del proyecto de recaudo y que las cargas secundarias, serían las que entrarían para la parte automática.

Adicionalmente, los archivos para carga automática deben respetar el estándar de nombrado que indica el modal, iniciando con el identificador del proyecto de recaudo (ID Proyecto).

Por último se menciona que para obtener los accesos a tu carpeta (la que usarías para estar depositando tus archivos con tus nuevas facturas) debes contactar al equipo de Openpay a través de los medios de contacto que indica la imagen.

  • A través de Service Now
  • Con tu Asesor Comercial
  • Por Teléfono

Tienda Nube

Tiendanube

¿Qué es Tiendanube?

Tiendanube es una plataforma de Ecommerce, con la que vas a poder crear tu propia tienda online para vender en Internet, sin intermediarios

Ponemos a su disposición nuestro checkout de pago para la plataforma Tiendanube, el cual le permitirá añadir nuestros métodos de pago soportados dentro del flujo de compra de su comercio electrónico.

Crear una cuenta de producción en Openpay

Para activar la app de Openpay en tu Tiendanube necesitarás una cuenta de producción. Para obtenerla deberás completar la información que se solicita en cada paso de este formulario y esperar la validación de nuestro equipo. Si todo resulta con éxito al finalizar estos pasos obtendrás tus llaves productivas con las que podrás comenzar a operar en tu Tiendanube.  

 

Activa Openpay en tu Tienda.

El primer paso para realizar la conexión entre su tienda online y la pasarela de pagos Openpay, será dirigirse al apartado de Tiendanube aplicaciones y dar clic en instalar aplicación, a continuación de ser necesario deberás iniciar sesión en su tienda.
Aceptar los permisos dando clic en “Aceptar y empezar a usar”.

Da clic en “Activar botón de Pago”.

El paso anterior te direccionará a la pagina de inicio de sesión de tu cuenta productiva de Openpay, ingresa tu correo electrónico y contraseña para acceder a ella y aceptar la integración con Tiendanube.
Dar clic en “Aceptar” para compartir las credenciales con su aplicación de tienda nube.

Se ha completado la instalación de la aplicación.

Notificaciones de pagos offline

En las configuraciones, es necesario la creación de un Webhoook, para notificar cuando se ha realizado un cargo a una tarjeta o cuando un depósito se ha realizado con éxito. La creación de un Webhook dentro de Openpay se realiza como se indica a continuación:

  1. Ir al Dashboard de Openpay (Producción)
  2. En la barra superior hacer click en el icono de engrane y seleccionar “Configuraciones”.
  3. Dirígete a configuración “Webhook” y da Clic en “+ Agregar”
  4. Coloca la siguiente URL sustituyendo tu ID en [Merchant ID]
    https://nuvemshop.openpay.mx/transactions/[merchantId]/notifications
  5. Da clic en “Personalizar eventos” y deja seleccionado: Cargos: Rembolsados, Creados, Fallidos, Cancelados, Creados, Completados y Expirado Pagos: Creado, Completado y Fallido Transferencia: Completada.
  6. Tilda la casilla “Usar autenticación de acceso básica” y coloca tu ID como “Usuario” y tu llave privada como contraseña, da clic en “Guardar”.
  7. ¡Listo! Ahora dirígete a tu tienda. Ya desde el panel de administración de tu Tiendanube, dirígete a la sección: “Configuración”.
  8. Ingresar a “Opciones de Checkout” y marcar la opción “Teléfono – Pedir teléfono de contacto”. Luego, dar clic en “Guardar”.

FAQ's

Debido a que compartir credenciales entre plataformas es un proceso delicado, hemos restringido el numero de intentos a una única vez, por ello, si la app de Openpay es desinstalada de tu Tiendanube tendrás que notificar a nuestro equipo de soporte para reconectar tu cuenta de Openpay.

Soporte: (601) 794 54 61 | soporte@openpay.co

Si al intentar realizar el proceso de compartir credenciales con Tiendanube experimentas algún error, es posible que este proceso ya se haya realizado con anterioridad. Contacta a nuestro equipo de soporte para recibir ayuda y reactivar tus credenciales. 

Soporte: (601) 794 54 61 | soporte@openpay.co

Verifica los siguientes puntos:

La url coincide con la mencionada en el paso 4 de las instrucciones de activación de pagos offline unicamente sustituyendo el identificador del comercio o merchantId. 

Antes de guardar la configuración de pagos offline se activó la casilla de usar autenticación de acceso básica y se ingresaron en el campo de usuario el id de comercio o merchantId y en el campo de contraseña la llave privada.

Si experimentas un error al ejecutar cargos en tu Tiendanube asegurate de haber activado la casilla “pedir teléfono de contacto” en las Opciones de checkout de tu Tiendanube.

Shopify

Shopify

¿Qué es Shopify?

Shopify es una plataforma de e-commerce que te permite crear, configurar y poner en funcionamiento tu propia tienda en línea de manera fácil, rápida y segura.

Ponemos a tu disposición nuestro Botón de pago para la plataforma Shopify, el cual te permitirá añadir nuestros métodos de pago soportados dentro del flujo de compra de tu comercio electrónico.

Instalación

  1. Para comenzar con la instalación, ingresa a Shopify App Store.
  2. A continuación, da clic en el botón Agregar app.

  1. Después, da clic en el botón Instalar aplicación.

  1. Finalmente, se mostrará una pantalla con la siguiente información. Da clic en Más acciones -> Gestionar para proseguir al paso de la configuración de tus llaves de Openpay.

Importante: para procesar cargos con Shopify, favor de contactar a Soporte Openpay (soporte@openpay.mx) para configurar correctamente tu comercio.

 

Configurar la conexión

  1. Para configurar la conexión, es necesario identificar las credenciales de API asignadas a tu comercio dentro del panel de administración de Openpay.

Si no tienes una cuenta, deberás crear una para continuar con el proceso.

Regístrate aquí.

Para ver las credenciales, inicia sesión en tu cuenta de Openpay y da clic en el ícono del engrane ubicado en el menú superior derecho y luego selecciona la opción Credenciales de API.

  1. Más adelante, deberás ingresar las credenciales de tu comercio y configurar de acuerdo a tus preferencias los siguientes parámetros:
  • País: hasta el momento se tiene soporte para México, Perú y Colombia.
  • Modo Sandbox: determina si el plugin va a funcionar en el ambiente de pruebas (Sandbox) o Producción.
  • Credenciales de Openpay (Merchant ID, Llave secreta): credenciales de API, ya sea en modo Sandbox o Producción (copiar y pegar cada dato obtenido en el paso uno como corresponda).
  • Hora de vigencia: este es el tiempo que le darás a tus clientes para concretar su compra en el Link de Cobro. Por defecto son 24 horas.
  • IVA (Colombia), IGV (Perú): este campo sólo aplica para estos dos países, y únicamente con fines informativos para sus clientes finales.

  1. Finalmente, da clic en Guardar.

Activación

1.-Para realizar la activación, dirígete a los siguientes apartados: Configuración > Pagos > Formas de pago admitidas.

2.- Más adelante, pasarás a la sección Agregar formas de pago. Dirígete a la opción Buscar por proveedor > Buscar Openpay.

*En caso de que el sistema no encuentre resultados para Openpay, deberás actualizar la página e iniciar de nuevo el proceso de Agregar formas de pago.

3. –Para continuar, selecciona Openpay > Activar > Activar Openpay.

Nota: El apartado de Modo de prueba (el que se muestra en la captura de pantalla) deberá coincidir con el modo que tienes configurado en la aplicación de Openpay. Por ejemplo: en caso de que se tenga configurado el modo Sandbox, de igual manera se requerirá tener el Modo de prueba habilitado. En el caso contrario, con las llaves de producción deberás deshabilitar este modo.

4.-Finalmente, confirma que la configuración de la aplicación ha sido guardada correctamente. Y listo, Openpay ya está activo en tu e-commerce.

Notificaciones de pagos offline

Para el correcto funcionamiento del aplicativo de Shopify, se requiere dar de alta un Webhook desde el Dashboard de Openpay.

  1. Para darlo de alta, inicia sesión en Openpay, dirígete al ícono del engrane ubicado en la esquina superior derecha y selecciona la opción Configuraciones:

2. Más adelante, en la sección de Webhooks da clic en el botón Agregar. Aparecerá una pantalla como la que se muestra a continuación:

3. En la URL se debe ingresar la siguiente:

https://plugin.openpay.mx/v1/notifications/<IdComercio>

Para que esta parte no te marqué error, en la URL deberás de colocar el ID de tu comercio (<IdComercio>), el cual puedes ubicar en la sección Credenciales de API.

4. Selecciona Todos los eventos, y da clic en la sección de Checkbox “Usar autenticación de acceso básica”. Aquí deberás ingresar tu llave privada tanto en el Usuario como en la Contraseña. Esta la puedes localizar, de igual forma, en la sección Credenciales de API.

5. Una vez realizado lo anterior, da clic en Guardar y se agregará a la sección de Webhooks la dirección ingresada en la URL y los eventos soportados seleccionados.

Si el Webhook aparece con un botón de Verificar o si aparece un mensaje notificando algún error, favor de comunicarse con soporte@openpay.mx

Jumpseller

Jumpseller

¿Qué es jumpseller?

Ponemos a su disposición nuestro checkout de pago para la plataforma Jumpseller, el cual le permitirá añadir nuestros métodos de pago soportados dentro del flujo de compra de su comercio electrónico. Contamos con beneficios que ayudarán en la operativa y crecimiento de tu comercio, como:

Opciones de pago

 

  • Tarjetas de débito y crédito

  • Pagos en efectivo (Pago en tiendas)

  • Transferencias Interbancarias (PSE)

Requerimientos


Importante: Para activar Openpay en tu jumpseller necesitas una cuenta de Producción. 

El ambiente de pruebas (Sandbox) no es compatible con jumpseller, por ello es indispensable que antes de realizar la activación de nuestra pasarela de pago en tu tienda obtengas una cuenta de Producción. Para que puedas comenzar a generar y procesar tus operaciones a través de Openpay. Si no tienes aún una cuenta en Openpay, ingresa al siguiente link para tu registro.

Cómo configurar Openpay en tu tienda.

Para activar la conexión entre su tienda online y la pasarela de pagos Openpay, sigue estos sencillos pasos:

  1. Accede al Dashboard de su tienda en linea Jumpseller
  2. En el panel de Administración de su plataforma Jumpseller, dirigirse a la secciopn de Configuración -> Pagos
  3. Buscar en la lista de métodos de pago la opción Pasarela de Pago Externa, dar clic en el botón Agregar Método

Configurar la conexión

1. Identificar las credenciales de API asignadas a su comercio dentro del panel de administración de Openpay.

  • Para ver las credenciales, dar clic en el engrane del menú superior derecho y luego seleccionar la opción Credenciales de API

2. Configurar el apartado de la configuración, tomando en cuenta los siguiente puntos:

    • Nombre: Ingrese el nombre de la pasarela de pago Openpay”.
    • Llave de medio de pago: Id del comercio Openpay, obtenido en el paso 1.
    • Secret de medio de pago: Llave privada obtenida en el paso anterior.
    •  

3. Finalmente, haz clic en “Guardar” 

Ajustes Checkout Jumpseller

Para realizar una correcta implementación de la plataforma Jumpseller y la pasarela de pago Openpay, se debe tomar en cuenta varios requerimientos
  1. En su panel de administración Jumpseller, dirigirse a la sección Configuración  y seleccionar Proceso de Compra > Preferencias.

    • Abandoned Orders: Cambiar el tiempo de expiración para órdenes pendientes a 3 días.Una vez dentro de las pantalla de Proceso de Compra, procedemos a hacer los ajustes necesarios para asegurar el correcto funcionamiento de la conexión.
    • Campos del Sistema: Activar la casilla Campo de Teléfono.
  1. Para finalizar, presionar el botón Guardar para salvar los cambios.

Notificación de pagos offline

En las configuraciones, es necesario la creación de un Webhook, para notificar cuando se ha realizado un cargo a una tarjeta o cuando un depósito se ha realizado con éxito. La creación de un Webhook dentro de Openpay se realiza como se indica a continuación:

1.- Ir al Dashboard de Openpay.

2.- En la barra superior hacer click en el icono de engranaje y seleccionar “Configuraciones”.

3.- Hacer click en el botón Agregar para abrir el formulario que deberá ser llenado de siguiente manera:

 

URL: Capturar la URL como se muestra la siguiente cadena (https://api.openpay.co/v1/merchantId/jumpseller/webhook).

  • {merchantId}: Id del comercio.

Eventos asociados: Se sugiere dejar el valor por default (Todos los eventos) pero en caso de no querer recibir todas las notificaciones, hacer clic en Personalizar eventos y seleccionar solo los deseados (es obligatorio seleccionar al menos Cargos > Completados).

Usar autenticación de acceso básica: Seleccionar este campo, capturar los datos solicitados y hacer click en el botón Guardar.

  • En ambos campos usuario y contraseña ingresar la llave privada (private key) del comercio.

 

4.- Ubicar el apartado de Webhooks. Si el webhook fue configurado correctamente habrá un registro en estado Verificado.