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.