技术博客
银行汇率查询:跨境电商/留学缴费如何统一管理多币种牌价?

银行汇率查询:跨境电商/留学缴费如何统一管理多币种牌价?

作者: 万维易源
2026-08-27
银行汇率查询跨境电商多币种
# 银行汇率查询:跨境电商/留学缴费如何统一管理多币种牌价? > 接口:银行汇率查询(apiCode=105)· 免费 · 接入点:币种列表 / 汇率查询 / 汇率转换 / 历史汇率 · 适用人群:跨境电商、留学缴费、财务从业者 · 阅读时间:约 7 分钟 ## TL;DR - 用「币种列表」做货币全集 → 「实时查询」做展示 → 「汇率转换」做金额换算 → 「历史汇率」做对账。 - 四个接入点同一套 AppKey、同一套鉴权,统一封装成一个服务即可。 - 数据为延迟数据、仅供参考,对账时配合历史接入点留痕。 ## Why 跨境电商要给用户看「外币标价折合人民币多少」,留学缴费要算「学费美元折合本地货币多少」,财务要对每一笔换汇按当日牌价留底。这些场景的共同点是:多币种、要展示、要换算、要留痕。银行汇率查询的四个接入点正好覆盖这条链路,本篇给出一套可落地的统一管理方案。 ## What | 场景环节 | 用哪个接入点 | 作用 | |---------|-------------|------| | 货币全集 | 币种列表(105-35) | 动态生成可选货币,校验 code | | 实时展示 | 汇率查询(105-30) | 展示现汇/现钞买卖价、折算价 | | 金额换算 | 汇率转换(105-31) | 把任意金额从 A 币算到 B 币 | | 对账留痕 | 历史汇率(105-34) | 按日期取牌价,核账目 | ## How ### 步骤:封装一个汇率服务 ```python import requests BASE = "https://route.showapi.com" AK = "YOUR_APPKEY" def post(ap, data): js = requests.post(f"{BASE}/{ap}", params={"appKey": AK}, data=data, timeout=10).json() if js.get("showapi_res_code") == 0 and js["showapi_res_body"].get("ret_code") == 0: return js["showapi_res_body"] return None def list_currencies(): # 币种全集 return post("105-35", {}) def query_rate(code=None): # 实时牌价 return post("105-30", {"code": code or ""}) def convert(frm, to, money): # 换算 b = post("105-31", {"fromCode": frm, "toCode": to, "money": str(money)}) return b["money"] if b else None def history(code, month): # 历史对账 return post("105-34", {"code": code, "month": month, "name": "", "startDate": "", "endDate": ""}) ``` ### 数据表设计(建议) - `fx_rate_snapshot(date, code, hui_in, hui_out, zhesuan, fetched_at)`:定时落库实时值,便于回溯。 - `fx_convert_log(from, to, amount, result, at)`:每次换算留痕,客服可查。 ## 返回示例与解析 各接入点返回结构见对应指南:[实时查询](https://www.showapi.com/guides/exchange-rate-quickstart-105)、[汇率转换](https://www.showapi.com/guides/exchange-rate-convert-guide-105)、[历史汇率](https://www.showapi.com/guides/exchange-rate-history-guide-105)。字段均为字符串,落库前按需转数值。 ## 进阶 / 边界 - **换算口径一致**:展示与换算都走接口,避免前端自己写公式导致与牌价偏差。 - **对账用历史、展示用实时**:当日数据用实时,事后核对用历史接入点(次日 1 点后入库)。 - **免责文案**:所有面向用户的牌价须标注「数据延迟,仅供参考,以银行柜台为准」。 ## FAQ **Q:四个接入点要分别申请吗?** 不需要,同一接口(apiCode=105)下四个接入点共用一个 AppKey,只是路径后缀不同(105-30/31/34/35)。 **Q:换算结果能直接写进合同/账单吗?** 接口数据为延迟数据、仅供参考,正式账单金额以银行实际成交价为准,接口结果仅作预估/展示。 **Q:多币种字典从哪里来?** 用币种列表接入点(105-35)返回的 code 集合,不要硬编码。 ## 相关能力 / 下一步阅读 - [银行汇率查询:用"汇率转换"接入点把指定金额换算成任意外币](https://www.showapi.com/guides/exchange-rate-convert-guide-105) - [银行汇率查询:搭建企业汇率看板——币种列表 + 实时查询 + 历史走势](https://www.showapi.com/guides/exchange-rate-finance-dashboard-105) - **本系列共 13 篇**:查看[银行汇率查询指南总目录](https://www.showapi.com/guides/exchange-rate-guides-105)