Pymexpress

El nuevo sistema de integración de Pymexpress entrará en funcionamiento durante julio de 2021. Solicite sus nuevos datos de integración al correo jmora {arroba} correos.go.cr

Contenidos

1. Requisitos Previos

1.1 Correos de Costa Rica

Si usted desea utilizar Mojito Shipping para realizar envíos por medio de Correos de Costa Rica (Pymexpress) primero debe estar registrado en Pymexpress.

Puede llamar al teléfono de Correos de Costa Rica +506 2202-2992, extensión 4335 o escribir al correo jmora {arroba} correos.go.cr

También existe un formulario web de registro en dirección: https://comercioelectronico.correos.go.cr/vende-por-internet/

Una vez que lo hayan registrado como cliente en Pymexpress, debe solicitar el acceso al Web Service, para esto debe pedir los datos de integración. Si usted ya tiene datos de integración pero no son los del nuevo sistema deberá solicitarlos de nuevo.

Correos de Costa Rica le enviará un PDF con detalles técnicos. Lo necesario para configurar Mojito Shipping lo podrá encontrar en la página 4, estos datos son:

  • Username
  • Password
  • Usuario id
  • Servicio id
  • Código de cliente

1.2 Prepare su Tienda

Su tienda WordPress debe tener instalado y configurado el plugin WooCommerce.

2. Instalación y activación

Instale Mojito Shipping desde el escritorio de su WordPress en la opción Plugins > Añadir nuevo.

Si lo desea, también puede descargar el archivo zip desde el repositorio de WordPress: https://downloads.wordpress.org/plugin/mojito-shipping.zip

Una vez activo el plugin solicitará ciertos permisos, puede aceptar “Allow & Continue” o puede saltar “Skip”.

3. Configuración

3.1 Active el método (portador) de Correos de Costa Rica

Desde el Escritorio de su WordPress, acceda a la opción Ajustes > Mojito Shipping, seleccione la opción “Correos de Costa Rica” en las pestaña “General”.

Seguido haga clic en el botón “Guardar”.

Ahora podrá ver una pestaña en la parte superior con el título “Correos de Costa Rica – Pymexpress”

3.2 Configuración de su negocio

En ésta sección debe indicar:

  • Ubicación de su negocio
  • Excepción de IVA (PRO)

3.3 Configuraciones del Web Service

Llene la sección “Configuraciones del Web Service” con los siguientes datos:

  • Username
  • Password
  • Usuario id
  • Servicio id
  • Código de cliente

Estos datos están en el archivo PDF que Correos de Costa Rica debió enviarle.

Aquí también podrá seleccionar entre entorno de Pruebas o entorno de Producción.

Nota: Correos de Costa Rica aún no ha publicado el web service por lo que por ahora solo funciona el entorno de pruebas. (Esto al 3° de Junio de 2021)

3.4 Configuraciones del remitente

Llene los datos de remitente de su negocio:

  • Nombre
  • Dirección
  • Código postal
  • Teléfono
  • Correo electrónico

Estos datos se incluirán en la información del pedido así como en algunos de los PDF de las guías (PRO)

Si no conoce su código postal puede usar el servicio de Correos de Costa Rica: https://correos.go.cr/codigo-postal/

3.5 Mensaje en correo de pedidos

Configure tanto la etiqueta como el mensaje:

3.6 Montos mínimos y redondeo (PRO)

En ésta sección podrá configurar Mojito Shipping para que cobre un monto mínimo y redondee el costo final del envío.

Las opciones que puede configurar son:

  • Redondear el monto final
  • Habilitar montos mínimos
  • Monto mínimo general
  • Monto mínimo para envío dentro del GAM (PRO)
  • Monto mínimo para envío fuera del GAM (PRO)

3.7 Tarifas fijas

Usted podrá establecer un costo fijo para los envíos dentro o fuera del GAM. Importante: Esto sobrescribiría cualquier otro cálculo de tarifa de envío.

3.8 Tipo de Cambio

Si su tienda vende en dólares podrá activar la conversión automática de tipo de cambio

3.9 Ajustes de peso máximo

Esta opción le permitirá inhabilitar el método de envío de Correos de Costa Rica si el peso máximo del pedido supera los 30kg (máximo permitido por Correos de Costa Rica por paquete)

3.10 Ajustes de Conexión Proxy

Correos de Costa Rica usa los puertos 442 y 84 (pruebas), si su proveedor de hospedaje no puede abrir estos puertos entonces deberá usar una Conexión Proxy.

3.11 Conexión Proxy de Mojito (PRO)

Esta opción le permite resolver la conexión con Correos de Costa Rica en los siguientes casos:

  • Si su proveedor de hosting no puede abrir los puertos 84 y 442.
  • Si usted necesita un Proxy pero no cuenta con uno.
  • Si la conexión con Correos de Costa Rica le retorna errores como:
    • Something happened: SOAP-ERROR: Parsing WSDL: Couldn’t load from …
    • Error in service query: SOAP-ERROR: Parsing WSDL: Couldn’t load from …
    • cURL error 7: Failed to connect to … port 84: Connection refused

Para utilizar el Proxy provisto por Mojito escríbanos a support@mojitowp.com con la dirección IP de su sitio web y le habilitaremos el acceso.

Este servicio está incluido únicamente para las suscripciones anuales y mensuales.

3.12 Mostrar Logo de Correos de Costa Rica (PRO)

Esta opción permite que se muestre el logo de Correos de Costa Rica en el carrito y página de pago.

3.13 Mostrar Detalles de Seguimiento (PRO)

Esta opción permite al usuario (comprador) y/o al administrador ver el seguimiento del paquete reportado por Correos de Costa Rica.

3.14 Exportar PDF (PRO)

Configuración para exportar datos de pedidos y número de guía en PDF

3.15 Configuración de etiqueta

Esta opción le permite establecer una etiqueta personalizada para el Carrito y la Página de pago. Admite los siguientes campos dinámicos:

  • %rate% para tarifa de envío
  • %country% para país de destino
  • %weight% para peso de paquete
  • %weight-ccr% para peso de paquete permitido por Correos de Costa Rica

3.16 Reglas de envío gratis y con descuento (PRO)

Esta configuración permite habilitar envío gratis siempre y cuando el pedido cumpla con ciertas condiciones.

Cuenta con dos partes, 1. La condición que debe cumplir el pedido y 2. La regla que se debe aplicar al costo de envío.

Por ésta razón las opciones “Modo de la regla de envío gratis” y “Mínimo o Máximo” trabajan en conjunto, y a su vez “Modo de descuento de envío gratis” y “Descuento (porcentaje o monto)” también lo hacen.

Modo de la regla de envío gratis:

Las opciones disponibles de ésta configuración son:

  • Requiere un monto mínimo de pedido: Si el pedido alcanza el monto mínimo indicado en “Mínimo o Máximo” entonces se aplicará la regla de envío gratis.
  • Requiere un peso mínimo de pedido: Si el pedido alcanza el peso mínimo indicado en “Mínimo o Máximo” entonces se aplicará la regla de envío gratis.
  • Requiere una monto máximo de pedido: Si el pedido No sobrepasa el monto máximo indicado en “Mínimo o Máximo” entonces se aplicará la regla de envío gratis.
  • Requiere un peso máximo de pedido: Si el pedido No sobrepasa el peso máximo indicado en “Mínimo o Máximo” entonces se aplicará la regla de envío gratis.

Mínimo o máximo:

Esta opción le indica al plugin el punto de referencia para aplicar o no la regla de envío gratis. Puede referirse a peso (Gramos) o monto (CRC o USD según la configuración de la tienda).

Modo de descuento de envío gratis:

Esta opción ofrece las opciones:

  1. Monto fijo: Al usar esta opción el plugin aplicará el monto de descuento fijo indicado en la opción: “Descuento (porcentaje o monto)”
  2. Porcentaje de descuento: Al usar esta opción el plugin aplicará el porcentaje de descuento indicado en la opción: “Descuento (porcentaje o monto)”

Ejemplos:

  1. Envío gratis si el monto del pedido sobrepasa los 15000 colones:

2. Envío gratis si el monto del pedido sobrepasa los 45 dólares:

Esta configuración requiere que su tienda esté configurada en dólares, que los precios estén en dólares y que la opción de conversión de tipo de cambio esté activa.

3. Envío gratis si el peso del pedido sobrepasa los 10 kg de peso:

El peso debe estar dado en gramos.

4. Envío gratis si el monto del pedido es menor a los 12000 colones:

5. Envío gratis si el monto del pedido es menor a los 45 dólares:

Esta configuración requiere que su tienda esté configurada en dólares, que los precios estén en dólares y que la opción de conversión de tipo de cambio esté activa.

6. Envío gratis si el peso del pedido es menor a los 2 kg de peso:

7. 50% de descuento en el envío si el monto del pedido sobrepasa los 15000 colones:

8. 50% de descuento en el envío si el monto del pedido sobrepasa los 45 dólares:

Esta configuración requiere que su tienda esté configurada en dólares, que los precios estén en dólares y que la opción de conversión de tipo de cambio esté activa.

9. 50% de descuento en el envío si el peso del pedido sobrepasa los 10 kg de peso:

10. 50% de descuento en el envío si el monto del pedido es menor a los 12000 colones:

11. 50% de descuento en el envío si el monto del pedido es menor a los 45 dólares:

Esta configuración requiere que su tienda esté configurada en dólares, que los precios estén en dólares y que la opción de conversión de tipo de cambio esté activa.

12. 50% de descuento en el envío si el peso del pedido es menor a los 2 kg de peso:

13. 2000 colones de descuento en el envío si el monto del pedido sobrepasa los 15000 colones:

14. 2000 colones de descuento en el envío si el monto del pedido sobrepasa los 45 dólares:

Esta configuración requiere que su tienda esté configurada en dólares, que los precios estén en dólares y que la opción de conversión de tipo de cambio esté activa.

15. 2000 colones de descuento en el envío si el peso del pedido sobrepasa los 10 kg de peso:

3.17 Reglas de ubicación (PRO)

Permite excluir códigos postales del cálculo de envío, útil si su negocio usa un servicio de entrega privado en zonas cercanas y usa Pymexpress para zonas más alejadas.

También permite excluir todo el GAM o bien, zonas fuera del GAM.

3.18 Ejecución periódica – CRON (PRO)

Mojito Shipping cada hora revisará si existen pedidos sin número de guía que deberían tenerlo, si encuentra alguno entonces registrará el envío. Esta opción impide este proceso.

Es útil si su proveedor de hospedaje limita el tiempo de CPU.

4. Zonas de envío

Una vez lista la configuración de Mojito Shipping con Correos de Costa Rica, debe ir a WooCommerce > Ajustes > Envios > Zonas de envío

Aquí debe seleccionar “Costa Rica”, seguido debe asignar un “método de envío”, aquí debe seleccionar “Mojito Shipping: Pymexpress”

Nota: El nuevo sistema de Pymexpress no contempla envíos internacionales. Si usted desea habilitar un destino fuera de Costa Rica podrá utilizar el método “Correos de Costa Rica sin integración” y asignar el servicio de envío internacional (Ejemplo: Exporta fácil). Importante: Estos precios son estimaciones y no genera ningún número de guía.

5. Avanzado

5.1 Constantes disponibles

MOJITO_SHIPPING_DEBUG

Si esta constante está definida como true en el wp-config.php entonces Mojito Shipping registrará mensajes de depuración en las bitácoras del servidor ( ya sea la configuración de su servidor: php_error.log, debug.log, errors.log)

Para activarlo agregue la siguiente línea a su wp-config.php

define('MOJITO_SHIPPING_DEBUG', true);

5.2 Filtros disponibles

mojito_shipping_pymexpress_connection_time_out

Define el tiempo máximo de espera para realizar la conexión con Correos de Costa Rica

  • Predeterminado: 10 (segundos)
  • Parámetros: Ninguno

Ejemplo: Aumentar el timeout a 20 segundos.

add_filter( 'mojito_shipping_pymexpress_connection_time_out', function() {
          return 20;
}, 10, 0);

mojito_shipping_pymexpress_strict_shipping_weight

Dado que Correos de Costa Rica cobra cada 1000 gramos (cada kilo), el Mojito Shipping hace que el peso del paquete se redondee hacia arriba.

Este filtro permite inhabilitarlo

  • Predeterminado: true
  • Parámetros: Ninguno

Ejemplo: Inactivar el redondeo hacia arriba

add_filter( 'mojito_shipping_pymexpress_strict_shipping_weight', function() {
          return false;
}, 10, 0);

mojito_shipping_pymexpress_checkout_custom_rate

Permite modificar la etiqueta y el costo final de envío.

  • Predeterminado: true
  • Parámetros: array $rate, array $filter_params

Ejemplo: Modificar la etiqueta y agregar 1500 colones más al costo de envío

add_filter( 'mojito_shipping_pymexpress_checkout_custom_rate', function( $rate, $filter_params ) {
          
	// Cambiar texto
	$label = 'Correos de Costa Rica: ' . $filter_params['carrier_name'] . ': ';
	$label .= 'Tiempo estimado de envío 2 a 4 días hábiles, ';
	$label .= 'peso total: ' . $filter_params['shipping_weight'] . ' gramos';

	// Cambiar costo de envío
	$new_shipping_cost = $rate['cost'] + 1500; // Costo de envio + 1500 colones

	$rate['label'] = $label;
	$rate['cost']  = $new_shipping_cost;

	return $rate;

}, 10, 2);

mojito_shipping_pymexpress_tracking_url

Permite cambiar la dirección de rastreo.

  • Predeterminado: https://correos.go.cr/rastreo/
  • Parámetro: string $url
add_filter( 'mojito_shipping_pymexpress_tracking_url', function( $url ){	
	return 'https://my.custom.domain/tracking-url/';
});

mojito_shipping_pymexpress_cr_zip_locations (PRO)

Permite modificar la definición de “GAM” o “no GAM” de ciertos códigos postales a voluntad.

  • Predeterminado: Códigos postales y ubicaciones default de Mojito Shipping
  • Parámetros: array $codes

Ejemplo: En el escenario que su empresa tenga habilitado el cálculo de envío sólo para el GAM (Ver “Reglas de ubicación”) pero su empresa hace entregas de otra forma en San José, Carmen (Código postal 10101), usted podría indicarle al plugin que ese código postal corresponde a una zona fuera del GAM.

add_filter( 'mojito_shipping_pymexpress_cr_zip_locations', function( $codes ) {
          
	// Cambiar San José, Carmen (Código postal 10101) a zona no GAM
	$codes['10101'] = 'not-gam';
	return $codes;

}, 10, 1);

mojito_shipping_pymexpress_logo_src (PRO)

Permite establecer un logo personalizado para Correos de Costa Rica.

  • Predeterminado: Logo incluido en el plugin.
  • Parámetro: string $logo_src
add_filter( 'mojito_shipping_pymexpress_logo_src', function( $logo_src ) {
	return 'https://my.custom.domain/new-logo.png';
});

mojito_shipping_pymexpress_pdf_custom_header (PRO)

Permite agregar información al encabezado del archivo PDF exportado. Admite HTML.

  • Predeterminado: array
    • data[‘content’] vacío
    • data[‘position’] = ‘L’;
  • Parámetro: array $data

$data[‘content’] Contenido personalizado

$data[‘position’] Ubicación horizontal, permite L (left), C (center), R (right)

add_filter( 'mojito_shipping_pymexpress_pdf_custom_header', function( $data ){
	$data['content'] = '<h1>Custom Header</h1>';
	$data['position'] = 'R';
	return $data;
});

mojito_shipping_pymexpress_pdf_after_barcode (PRO)

Permite agregar información justo después del código de barras en el archivo PDF exportado. Admite HTML.

  • Predeterminado: array
    • data[‘content’] vacío
    • data[‘position’] = ‘L’;
  • Parámetro: array $data

$data[‘content’] Contenido personalizado

$data[‘position’] Ubicación horizontal, permite L (left), C (center), R (right)

add_filter( 'mojito_shipping_pymexpress_pdf_after_barcode', function( $data ){
	$data['content'] = '<h1>After Barcode</h1>';
	$data['position'] = 'C';
	return $data;
});

mojito_shipping_pymexpress_pdf_after_sender_data (PRO)

Permite agregar información justo después de la información del remitente en el archivo PDF exportado. Admite HTML.

  • Predeterminado: array
    • data[‘content’] vacío
    • data[‘position’] = ‘L’;
  • Parámetro: array $data

$data[‘content’] Contenido personalizado

$data[‘position’] Ubicación horizontal, permite L (left), C (center), R (right)

add_filter( 'mojito_shipping_pymexpress_pdf_after_sender_data', function( $data ){
	$data['content'] = '<h1>After Sender Data</h1>';
	$data['position'] = 'C';
	return $data;
});

mojito_shipping_pymexpress_pdf_after_recipient_data (PRO)

Permite agregar información justo después del la información del destinatario en el archivo PDF exportado. Admite HTML.

  • Predeterminado: array
    • data[‘content’] vacío
    • data[‘position’] = ‘L’;
  • Parámetro: array $data

$data[‘content’] Contenido personalizado

$data[‘position’] Ubicación horizontal, permite L (left), C (center), R (right)

add_filter('mojito_shipping_ccr_pdf_after_recipient_data', function( $data ){
	$data['content'] = '<h1>After Recipient Data</h1>';
	$data['position'] = 'C';
	return $data;
});

mojito_shipping_pymexpress_pdf_after_package_content (PRO)

Permite agregar información justo después de la información del contenido del paquete en el archivo PDF exportado. Admite HTML.

  • Predeterminado: array
    • data[‘content’] vacío
    • data[‘position’] = ‘L’;
  • Parámetro: array $data

$data[‘content’] Contenido personalizado

$data[‘position’] Ubicación horizontal, permite L (left), C (center), R (right)

add_filter( 'mojito_shipping_pymexpress_pdf_after_package_content', function( $data ){
	$data['content'] = '<h1>After Package Content</h1>';
	$data['position'] = 'C';
	return $data;
});

mojito_shipping_pymexpress_pdf_after_client_notes (PRO)

Permite agregar información justo después de la información del pedido en el archivo PDF exportado. Admite HTML.

  • Predeterminado: array
    • data[‘content’] vacío
    • data[‘position’] = ‘L’;
  • Parámetro: array $data

$data[‘content’] Contenido personalizado

$data[‘position’] Ubicación horizontal, permite L (left), C (center), R (right)

add_filter( 'mojito_shipping_pymexpress_pdf_after_client_notes', function( $data ){
	$data['content'] = '<h1>After Client Notes</h1>';
	$data['position'] = 'C';
	return $data;
});

mojito_shipping_pymexpress_pdf_ccr_logo_src (PRO)

Permite establecer el logo personalizado de Correos de Costa Rica mediante una URL en el archivo PDF exportado.

  • Predeterminado: Logo incluido en el plugin.
  • Parámetro: string $logo_src
add_filter( 'mojito_shipping_pymexpress_pdf_ccr_logo_src', function( $url ){	
	return 'https://my.custom.domain/new-logo.png';
});

mojito_shipping_pymexpress_pdf_site_logo_src (PRO)

Permite establecer el logo personalizado de la tienda mediante una URL en el archivo PDF exportado.

  • Predeterminado: Logo de su sitio web
  • Parámetro: string $logo_src
add_filter( 'mojito_shipping_pymexpress_pdf_site_logo_src', function( $url ){	
	return 'https://my.custom.domain/new-logo.png';
});

6. Problemas conocidos

6.1 Error de conexión con Correos de Costa Rica

Síntomas: Si la conexión con Costa Rica le retorna errores como:

  • Something happened: SOAP-ERROR: Parsing WSDL: Couldn’t load from …
  • Error in service query: SOAP-ERROR: Parsing WSDL: Couldn’t load from …
  • No se pudo establecer conexión con la URL del Web Service, el mensaje de error es: cURL error 7: Failed to connect to … port 84: Connection refused

Soluciones:

  1. Solicitar a Correos de Costa Rica que agregue la dirección IP de su página a la “Lista Blanca”, esta dirección IP la encontrará en la pestaña de información.
  2. Solicitar a su proveedor de hospedaje que abra los puertos 84 y 442 hacía las direcciones IP de Correos de Costa Rica
  3. Habilite la configuración Proxy dentro de las opciones de Mojito, ésta opción requiere que usted cuente con un servidor Proxy.
  4. Habilite la opción “Mojito Proxy” (PRO)

6.2 Problemas con el plugin WC Provincia Cantón Distrito

Síntomas: A la hora de selecionar la provincia, cantón y distrito los campos del formulario no se actualizan.

Nota: A partir de la versión 1.2.0, el plugin WC Provincia Canton Distrito ya no es requerido. Si su tienda presenta el problema mencionado puede intentar desactivando el plugin WP Provincia Canton Distrito, si por alguna razón debe continuar utilizando dicho plugin puede intentar la siguiente solución:

Soluciones: Puede probar agregando uno de los siguientes códigos a su Child Theme:


add_action( 'wp_enqueue_scripts', function(){

	$WCPCD_DIR = plugin_dir_url( 'wc-provincia-canton-distrito/wc-prov-cant-dist.php' );
        $WCPCD_JSON = $WCPCD_DIR . 'assets/js/prov-cant-dist.json';
	
	$json = json_decode( wp_remote_fopen( $WCPCD_JSON , true) );
	
	wp_enqueue_script( 'custom-wcpcd-script', $WCPCD_DIR . 'assets/js/prov-cant-dist.min.js', array('jquery'), '1.1', true);

	wp_localize_script(
		'custom-wcpcd-script',
		'wcpcd_ajax',
		array(
			'ajax_url' => admin_url('admin-ajax.php'),
			'city_first_option' => apply_filters( 'wcpcd_city_field_placeholder', __('Choose a city', 'wc-prov-cant-dist')),
			'json' => $json
		)
	);
});

add_filter( 'wcpcd_get_provincia_canton_distrito', function() {

	$WCPCD_DIR  = ABSPATH . 'wp-content/plugins/wc-provincia-canton-distrito/';
	$WCPCD_JSON = $WCPCD_DIR . 'assets/js/prov-cant-dist.json';

	$json = json_decode( file_get_contents ( $WCPCD_JSON ), true );

	return $json;

}, 10, 1 );