1.1.2 • Published 2 years ago
medusa-plugin-ip-lookup-maxmind-geoip2 v1.1.2
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
- Install the plugin:
npm install medusa-plugin-ip-lookup-maxmind-geoip2
# or
yarn add medusa-plugin-ip-lookup-maxmind-geoip2- Obtain a IP geolocation database file from MaxMind. You can download a GeoLite2 Free Geolocation Data here. 
- Add the plugin to your - medusa-config.jsfile (inside the- pluginsarray):
  {
    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
    },
  }- Check if the plugin is working by calling api call GET /store/ip-lookupwith query paramip(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