whooohq/whq-woocommerce-chilexpress-shipping

Aporte: Chilexpress "sin servicio" valor envío por defecto

Closed this issue · 1 comments

Hola, ¿cómo están? quisiera hacer un aporte.
Me he encontrado con que muchas veces chilexpress no responde o el lugar de destino no esta disponible apareciendo un mensaje "SIN SERVICIO" o "No disponible". Esto le genera problemas a los clientes y al final no compran.
En mi caso particular, no tenemos un segundo método de envío nacional. Dado esto, es que modifique el código para que cuando exista un "SIN SERVICIO" entregue un valor por defecto si es RM o regiones.

Espero que sea de utilidad, gracias por el plugin!
El próximo paso sería que fue configurable desde Woocommerce.

Lo que hice fue reemplazar el IF de la linea 775 (WC_WHQ_Chilexpress_Shipping.php)

	                                        if ( false === $chp_cost ) {
							$service_id    = $this->id . ':0';
							$service_label = $this->title . ' (No Disponible)';
							$service_value = 0;
						} else {

por

                                                 if (false === $chp_cost || $chp_cost->respValorizarCourier->CodEstado == '-1'){
							// Cuando se obtiene [GlsEstado] => Error en Servicio
							$service_id    = $this->id . ':' . $chp_cost->respValorizarCourier->Servicios->CodServicio;
							$service_label = $this->title;

							if ( isset( $_POST['s_state'] ) && ! is_null( $_POST['s_state'] ) ) {
								$codregion = sanitize_text_field( $_POST['s_state'] );
								if($codregion == 'METROPOLITANA DE SANTIAGO') {
									$service_value = 4500;
								} else {			
									//regiones					
									$service_value = 6500;
								}
							} else {
								//default
								$service_value = 4500;
							}
						} else {

Se agradece la ayuda, a quien le sirva.

No podemos poner integrar esto en el código del plugin para todos, porque el costo "default" que pones va hard-coded en el mismo código.
No sirve para todos así. Se perderán esos cambios durante las actualizaciones del plugin.

La idea es que, o sea configurable, o automático (de alguna forma).

@garretonfco eres bienvenido a enviar un Pull Request con tus mejoras si esos cambios no llevan valores hard-coded como en este caso.
Ver: https://github.com/whooohq/whq-woocommerce-chilexpress-shipping/blob/master/CONTRIBUTING.md

Esteban