指南

根据 IP 数据构建可识别货币的价格页面

以陌生货币显示的价格会让访客在做任何决定之前停下来心算,而这恰恰是价格页面最需要清晰明了的时刻。

检测访客可能使用的货币

查询访客的 IP 地址并读取 country_code 字段,然后用您自己的对照表将其映射到某种货币,这张表与客户直接告诉您其所在国家时使用的是同一张。

GET /v1/ip?ip=203.0.113.150
{
  "status": "ok",
  "ip": "203.0.113.150",
  "version": 4,
  "found": true,
  "country": "Canada",
  "country_code": "CA",
  "region": "Ontario",
  "city": "Toronto",
  "postcode": "M5H",
  "lat": 43.6511,
  "lon": -79.3808,
  "timezone": "America/Toronto",
  "asn": 4321,
  "org": "Example ISP"
}

显示货币与结算货币

为便于阅读而显示换算后的价格,并不要求真的以该货币收费。作为参考,My Geocode 自己的价格在全球范围内只使用 EUR,与客户在何处注册无关;同样的区分也适用于您自己的价格页面:您可以显示本地化的估算价格,同时仍以您的支付处理方实际支持的货币结算每笔交易。

如实标注换算价格

如果您显示的是换算估算,而不是您实际会以该货币收取的价格,请明确标注为估算,因为汇率会变动,一位期望按看到的数字准确扣费的访客,如果实际扣费以另一种货币、按另一个汇率入账,就会措手不及。

允许访客更改检测到的国家

有些访客正在旅行、使用 VPN,或者只是想用与检测结果不同的货币查看价格。在检测到的默认值旁边放一个小小的货币选择器,不会增加任何请求,还能避免任何人被困在错误的默认值中。

请求成本

每个新访客会话一次 IP 查询,并在整个访问期间缓存,就是一次请求。即使价格页面每天有大量流量,也能控制在每个密钥附带的每天 2,500 次免费请求之内,或无密钥时单个地址享有的同等配额之内。

只要清楚说明实际的结算货币,根据 IP 数据检测可能使用的货币,就能消除价格页面上一个虽小却真实存在的阻力点。字段列表请参阅 IPv4 查询文档,我们自己的做法请参阅 My Geocode 的价格页面