Built by

luluhoc

Category

Other

Version

1.1.2

Last updated

Nov 14, 2023, 19:44:17 PMa year ago

medusa-plugin-ip-lookup-maxmind

About

Description

Lookup a user's region using MaxMind.

Preview

Set up this plugin

Requirements

This plugin is made to work with MedusaJS. You can find the documentation here. Here's what you'll need to get started with this plugin:

Install Project

  1. Install the plugin:
npm install medusa-plugin-ip-lookup-maxmind-geoip2
# or
yarn add medusa-plugin-ip-lookup-maxmind-geoip2
  1. Obtain a IP geolocation database file from MaxMind. You can download a GeoLite2 Free Geolocation Data here.
  2. Add the plugin to your Copy to clipboardmedusa-config.js file (inside the Copy to clipboardplugins array):
{
resolve: `medusa-plugin-ip-lookup-maxmind-geoip2`,
/** @type {import('medusa-plugin-ip-lookup-maxmind-geoip2').PluginOptions} */
options: {
maxmind_db_path: "<PATH_TO_MAXMIND_DB_FILE>",
route_enabled: true, // This route is under store so it's public
},
}
  1. Check if the plugin is working by calling api call Copy to clipboardGET /store/ip-lookup with query param Copy to clipboardip (e.g. `GET /store/ip-lookup)
You need to have a valid IP address in order to get a valid response. Localhost will not work.

Example Response

{
"error": false,
"message": "success",
"region": {
"id": "reg_01HEAZ934BD9JA8SE7033JHYHR",
"created_at": "2023-11-03T16:11:53.194Z",
"updated_at": "2023-11-03T16:11:53.194Z",
"deleted_at": null,
"name": "EU",
"currency_code": "eur",
"tax_rate": 0,
"tax_code": null,
"gift_cards_taxable": true,
"automatic_taxes": true,
"tax_provider_id": null,
"metadata": null
},
"country_code": "fr"
}

OPTIONS

{
/**
* DB PATH
*/
maxmind_db_path: string;
/**
* IP LOOKUP SERVICE URL (OPTIONAL)
* @returns {error: boolean, region: Region | null, country_code: string | null}
*/
route_enabled?: boolean;
}
--- Thanks to
  • GitHub - @stnguyen90
  • Twitter - @stnguyen90
  • Discord - BalistarDrake#3823

Build your own plugins

Develop your own plugins with our API to speed up your processes.

Make your plugin available via npm for it to be shared in our Plugin Library with the broader Medusa community.