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:
12345npm install medusa-plugin-ip-lookup-maxmind-geoip2# oryarn 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 Copy to clipboard
medusa-config.js
file (inside the Copy to clipboardplugins
array):
12345678{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 Copy to clipboard
GET /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
12345678910111213141516171819{"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
1234567891011{/*** 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