https://tdestudiodesign.com/wp-content/plugins/whatsapp/style.css

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!

Mi objetivo es utilizar mi correo electrónico de PayPal para todos los pagos, aparte de una identificación de producto determinada que deberá depositar fondos en una cuenta estándar de PayPal diferente.

Php Snippet: use una cuenta estándar de PayPal diferente para una identificación de producto @ WooCommerce Checkout

Descargo de responsabilidad: el fragmento a continuación puede causar efectos secundarios: use bajo su propio riesgo. Por ejemplo, puede meterse con el manejo de reembolso de PayPal (mejor si elimina las claves de la API de PayPal de WooCommerce, ya que ahora deberán realizarse los reembolsos en su cuenta de PayPal) o generar otros errores desconocidos. La personalización de las pasarelas de pago es muy peligrosa y debe hacerse solo si es consciente de las posibles consecuencias. Pruebe esto a fondo.
Tenga en cuenta: el fragmento a continuación busca una ID de producto dentro del pedido y cambia el correo electrónico de PayPal si tiene éxito. En caso de que el pedido contenga varios productos, necesitaría encontrar una solución alternativa, por ejemplo. Permitir solo 1 producto en el carrito.
 /**  * @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 🙂

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *