Integración de la pasarela de pago

El siguiente artículo ofrecerá una visión general de lo que se requiere para crear una pasarela de pago compatible con WC Vendors y que admita el pago de comisiones a los vendedores. Existen requisitos que su plataforma de pago deberá cumplir para crear una integración compatible. Una vez que esté satisfecho de que su plataforma cumple con las características requeridas, hay dos partes en la creación de una pasarela compatible con WC Vendors.

  • Requisitos de la plataforma
  • Pagos de clientes
  • Pagos a vendedores

Es posible crear una integración solo de pagos, sin embargo, esta no se cubrirá.

Requisitos de la plataforma

Para implementar una pasarela de pago compatible con WC Vendors para pagos y cobros, su plataforma deberá poder admitir las siguientes características:

  • Procesar pagos (incluyendo reembolsos y disputas)
  • Dividir pagos o gestión de cobros

Otras características que no son obligatorias pero sí útiles incluyen

  • Incorporación de proveedores
  • KYC
  • Informes
  • Gestión de impuestos
  • Documentación clara para el soporte del marketplace

Pagos de clientes

Al crear su pasarela, el primer paso será asegurarse de haber creado una pasarela de pago de WooCommerce totalmente compatible. Esto garantizará que los pagos de los clientes se capturen correctamente. Como esto ya se cubre en detalle en la documentación oficial de WooCommerce, le recomendamos que la lea.

Asegúrese de leer el documento para desarrolladores disponible en WooCommerce para esta sección.

Pagos a vendedores

Los pagos a los vendedores dependen de los tipos de pagos que admita. Todos estos aspectos de cómo y cuándo pagar a los vendedores se determinan mediante su API de pagos. Los dos escenarios comunes para pagar a los vendedores:

  • Pago dividido
  • Pago programado

Dependiendo de su plataforma, elegirá una o ambas de estas opciones para la integración. Para comprender cómo gestionar los pagos a los vendedores, debería empezar por comprender cómo funciona internamente nuestro sistema de comisiones.

Internos de comisiones

El sistema de comisiones de WC Vendors es actualmente por producto. Esto significa que cada producto en un pedido tendrá su propia comisión calculada y registrada. Esto puede incluir envío e impuestos.

Las comisiones de WC Vendors solo se registran cuando se ha procesado el pago. Una vez procesado el pago, WC Vendors registrará la comisión en la tabla de comisiones. Para que se registre una comisión, el pedido de WooCommerce debe tener uno de los dos siguientes estados:

  • Procesando
  • Completado

Si la pasarela de pago no es compatible con WC Vendors, el estado de la comisión se establece como pendiente. Si la pasarela es compatible con WC Vendors y el pago al vendedor también se ha completado, la comisión se establece como pagada.

Esquema de la tabla de comisiones

La tabla de comisiones es donde se registran todas las comisiones de los vendedores. Los ingresos del marketplace actualmente no se registran en esta tabla.

Nombre de la columnaDescripción
idEl id de comisión interno único
product_idEl id del producto para la comisión
order_idEl id del pedido para la comisión
vendor_idLa cantidad del producto
total_dueEsta es la comisión total del producto, no incluye impuestos ni gastos de envío
qtyEl envío total del producto, debe ser proporcionado por un plugin de envío compatible
total_shippingEl impuesto para el producto, debe ser proporcionado por una solución fiscal compatible
taxEl impuesto para el producto, debe ser proporcionado por una solución fiscal compatible
statusEste es el estado de la comisión (Pagado, Pendiente, Revertido, Reembolsado)
timeLa fecha y hora en que se registra la comisión
tabla de comisiones en WC Vendors

Clases de WC Vendors

Al desarrollar su integración, necesitará acceder a la tabla de comisiones y consultar información relevante sobre los vendedores, productos y pedidos. Las siguientes clases son las clases más comúnmente utilizadas en las pasarelas de pago que admiten WC Vendors.

Nombre de la claseDescripción
WCV_CommissionEsta clase maneja todas las interacciones con la tabla de comisiones descrita anteriormente.

Métodos que debe usar en su pasarela:

WCV_Commission::set_vendor_product_commission_paid(); para registrar cuándo se ha pagado una comisión.
WCV_VendorsEsta clase maneja métodos relacionados con los vendedores y sus productos.

Los métodos que se utilizarán en su pasarela de pago incluyen:

WCV_Vendors::is_vendor( $user_id ); Determinar si el id de usuario proporcionado es un vendedor o no.
WCV_Vendors::get_vendor_dues_from_order( $order ); obtener las comisiones de vendedor debidas para el pedido.
Clases de WC Vendors que necesitará comprender

Pagos divididos

Si tu plataforma admite pagos divididos en el punto de venta, implementarás la división al procesar el pago. Esto requerirá que calcules la comisión antes de procesar el pago.

La división del pago entre los vendedores y el marketplace se explica en pseudocódigo de la siguiente manera:

  1. Capturar el pago del cliente
  2. Obtener el pedido
  3. Obtener las deudas del vendedor del pedido
  4. Iterar sobre las deudas del vendedor
  5. Dividir las deudas entre cada vendedor y el marketplace
  6. Generar un pago para enviar a la plataforma
  7. Si tiene éxito, establecer el estado de la comisión como pagado; de lo contrario, generar un error y dejar la comisión como pendiente

El siguiente código puede servir como guía para la integración de tu pasarela de pago. No está completo ni está pensado para usarse en producción. Es solo una guía del código del pseudocódigo anterior.

Pagos

La principal diferencia entre un pago y un pago dividido es que la comisión ya ha sido calculada y registrada. Esto significa que solo necesitarás consultar la tabla de comisiones y luego actualizar la tabla de comisiones según sea necesario.

Los pagos a vendedores, tal como los admiten la mayoría de las plataformas de pago, se gestionan mediante una programación. Esa programación podría estar en el lado de WordPress o en el lado de la plataforma de pago. Si te encargas de la programación en la plataforma y esta lo gestiona, solo necesitarás enviar las deudas de los vendedores a la plataforma.

La forma en que construyas tu interfaz de pagos dentro de WordPress y WC Vendors depende de ti como desarrollador y plataforma. Sugerimos crear configuraciones para lo siguiente:

  • Programación (diaria, semanal, mensual)
  • Importes mínimos de pago
  • Número mínimo de días antes de que se pueda procesar un pago (esto puede ayudar con respecto a reembolsos o disputas).

Un pago a un vendedor se explica en pseudocódigo a continuación

  1. Obtener el/los vendedor(es) a pagar
  2. Consultar la tabla de comisiones para todas las comisiones pendientes de los vendedores anteriores
  3. Totalizar los pagos para cada vendedor
  4. Procesar el pago

El proceso anterior se gestionaría en tu horario designado a través de WordPress. Sugerimos usar el planificador de acciones que viene con WooCommerce.

Clases de WC Vendors

ClaseDescripción
WCV_VendorsEsta clase maneja métodos relacionados con los vendedores y sus productos.

Métodos que se utilizarán en tu pasarela de pago incluyen:

WCV_Vendors::is_vendor( $user_id ); Determinar si el ID de usuario proporcionado es un vendedor o no.
WCV_Vendors::get_due_orders_by_vendor( $vendor_id); Obtener todas las comisiones pendientes para un vendedor en particular.
WCV_CommissionEsta clase maneja todas las interacciones con la tabla de comisiones descrita anteriormente.

Métodos que debe usar en su pasarela:

WCV_Commission::set_vendor_product_commission_paid(); para registrar cuándo se ha pagado una comisión.
¿Te ha resultado útil este artículo?

Artículos relacionados

Completa tu Compra