/
Cómo integrar WooCommerce con Open edX

Cómo integrar WooCommerce con Open edX

Crear API keys en Woocommerce

Ir a Woocommerce > Ajustes > Avanzado > REST API y presionar Agregar clave.

Completar con una descripción significativa, el usuario de WordPress en cuyo nombre se harán las inscripciones y configurar Permisos como Lectura/Escritura.

Presionar Generar clave de API. Almacenar el valor de la clave generada, ya que no se volverá a mostrar.

Informar al equipo de Aulasneo la Clave del cliente y Clave secreta de cliente para poder configurar la integración con WooCommerce.

Añadir webhooks

Ir a Wordpress > WooCommerce > Ajustes > Avanzado > Webhooks

Presionar Añadir webhook

Completar:

  • Nombre: “Order updated”

  • Estado: Activo

  • Tema: Pedido actualizado

  • URL de entrega: https://ho7qdnf3o2.execute-api.us-east-1.amazonaws.com/Prod/wc-webhook

  • Versión de API: WP REST API v3

Guardar los cambios

Repetir los pasos para el webhook de orden creada

  • Nombre: “Order created”

  • Estado: Activo

  • Tema: Pedido creado

  • URL de entrega: https://ho7qdnf3o2.execute-api.us-east-1.amazonaws.com/Prod/wc-webhook

  • Versión de API: WP REST API v3

Guardar los cambios

La lista de webhooks debería verse como a continuación:

Configurar los emails de destino

Ir a Woocommerce > Ajustes > Correo electrónico. Completar la lista de emails para pedidos nuevos y, opcionalmente, para pedidos canceladas y fallidos.

La función sólo tomará en cuenta la lista de emails para nuevos pedidos.

Configuración de productos

Para que la compra dispare la inscripción automática deberá vincular el producto con un identificador de curso.

El identificador de curso tiene la forma course-v1:<organización>+<código>+<edición>. Puede encontrar el código de curso en la URL de cualquier página de Open edX de ese curso.

En WordPress, abra el producto y cargue el identificador de curso en el campo SKU de la sección Inventario.

Cómo funciona

Una vez que el cliente completa el pago y el pedido es completado, WooCommerce dispara un evento order.created al webhook configurado con todos los detalles.

Si el pedido fue pagado con una pasarela de pagos automática, el estudiante será inscripto automáticamente en los cursos comprados y el pedido pasará a estado Completado.

Si el pedido es pagado mediante transferencia bancaria (BACS), se enviará un email a los destinatarios configurados para recibir nuevos pedidos. Este email contendrá los datos del pedido y un botón para confirmar la recepción del pago. Una vez presionado, la orden continuará el proceso inscribiendo al estudiante y marcando el pedido como completado.

Modificaciones al pedido causarán un evento order.updated y los cambios se almacenarán en la base de datos. Sin embargo esto no provocará una nueva inscripción. Notar que la función Volver a enviar el aviso de nuevo pedido no repetirá la inscripción.

Reenviar pedidos

En algunos casos los pedidos pueden quedar trabados en estado Procesando sin realizar la inscripción. Un ejemplo típico es que el SKU contiene un identificador de cursos incorrecto, o que el curso aún no admite inscripciones.

Para reenviar el pedido, moverlo a estado En espera y actualizar. Esperar unos segundos y volver a mover el estado a Procesando y actualizar nuevamente.

Unos segundos más tarde el pedido debería pasar automáticamente a estado Completado y realizar la inscripción. Si esto no sucede, solicitar soporte al equipo de Aulasneo.