medusa-plugin-ip-lookup-maxmind-geoip2
v1.1.2
Published
A Medusa plugin to lookup a user's country based on IP using MaxMind
Downloads
71
Maintainers
Readme
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.js
file (inside theplugins
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
},
}
- Check if the plugin is working by calling api call
GET /store/ip-lookup
with 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