El complemento de WooCommerce viene con su propia versión gratuita de PayPal Standard. PayPal se puede habilitar a través de la configuración de WooCommerce y una vez que se ingrese su correo electrónico de PayPal, su tienda de WooCommerce está lista para tomar pagos de PayPal.
Ahora, hay una amplia documentación en línea que explica, con un poco de código, Cómo cambiar la cuenta de PayPal programada y condicionalmente es decir para una identificación de producto determinada o Babosa de categoría de productos. Por ejemplo, es posible que desee utilizar una cuenta de PayPal para servicios de consultoría, otro para cursos en línea y otro para productos físicos.
Agregando este simple código y enganchando a wooCommerce_paypal_args De hecho, es posible usar Cuentas estándar de PayPal diferentes / múltiples en una sola instalación de WooCommerce.
Sin embargo, hay un problema sobresaliente con «Validación de IPN«: Una vez que le diga a WooCommerce que use una cuenta de correo electrónico de PayPal diferente, la orden de WooCommerce se coloca correctamente, pero Su estado va «en espera» porque la validación de IPN en el extremo de PayPal falla (Y eso es porque estás usando una cuenta de PayPal diferente).
Por lo tanto, aquí está la versión de trabajo totalmente, incluida la solución de validación de IPN. Por favor, lea el descargo de responsabilidad a continuación y, solo entonces, ¡disfruta!
Php Snippet: use una cuenta estándar de PayPal diferente para una identificación de producto @ WooCommerce Checkout
/** * @snippet Switch PayPal Account @ WooCommerce Checkout * @how-to businessbloomer.com/woocommerce-customization * @author Rodolfo Melogli, Business Bloomer, BusinessBloomer.com * @testedwith WooCommerce 4.6 * @community https://businessbloomer.com/club/ */ // ------------------- // 1. Switch PayPal email for Product ID add_filter( 'woocommerce_paypal_args' , 'bbloomer_switch_paypal_email_based_product', 9999, 2 ); function bbloomer_switch_paypal_email_based_product( $paypal_args, $order ) { foreach ( $order->get_items() as $item_id => $item ) { // ENTER PRODUCT ID HERE if ( 123456 == $item->get_product_id() ) { // ENTER OTHER PAYPAL EMAIL HERE $paypal_args['business'] = 'another-paypal@example.com'; break; } } return $paypal_args; } // ------------------- // 2. Avoid IPN Failure after switching PayPal email for Product ID require_once WC()->plugin_path() . '/includes/gateways/paypal/includes/class-wc-gateway-paypal-ipn-handler.php'; class WC_Gateway_Paypal_IPN_Handler_Switch extends WC_Gateway_Paypal_IPN_Handler { protected function validate_receiver_email( $order, $receiver_email ) { if ( strcasecmp( trim( $receiver_email ), trim( $this->receiver_email ) ) !== 0 ) { // ENTER HERE SAME PAYPAL EMAIL USED ABOVE if ( $receiver_email != 'another-paypal@example.com' ) { WC_Gateway_Paypal::log( "IPN Response is for another account: {$receiver_email}. Your email is {$this->receiver_email}" ); $order->update_status( 'on-hold', sprintf( __( 'Validation error: PayPal IPN response from a different email address (%s).', 'woocommerce' ), $receiver_email ) ); exit; } } } } new WC_Gateway_Paypal_IPN_Handler_Switch();
¿Hay un complemento (confiable) para eso?
Si te encantaría codificar pero no te sientes 100% seguro con PHP, decidí buscar un complemento confiable que logre el mismo resultado (bueno, en realidad te da más).
En este caso, recomiendo el Complemento de cuentas múltiples de WooCommerce múltiples. Además de enviar el total de la orden completa a una cuenta de PayPal diferente basada en el total, el país de facturación, la categoría, la etiqueta, el rol del usuario, la clase de envío, la moneda, también puede dividir los pagos entre las cuentas de PayPal, mantener una comisión como propietario de una tienda, integrar, integrar con proveedores de WC y dokan y mucho más.
Pero en caso de que odie los complementos y desee codificar (o desee intentarlo), luego siga leyendo 🙂