Built by

luluhoc

Category

Other

Version

1.1.2

Last updated

Nov 14, 2023, 19:44:17 PM6 months 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 clipboard
    medusa-config.js
    file (inside the
    Copy to clipboard
    plugins
    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 clipboard
    GET /store/ip-lookup
    with query param
    Copy to clipboard
    ip
    (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.