1. 交易前指引
星驿支付文档中心
  • 文档说明
    • 阅读对象
    • 版本说明
  • 术语
    • 支付模式
    • 名词解释
    • 支付产品
      • 付款码支付
      • 聚合码支付
      • PC支付
      • 小程序支付
        • 微信小程序支付
        • 支付宝小程序支付
      • APP支付
        • 微信支付
        • 支付宝支付
      • H5支付
        • 微信H5支付
        • 支付宝H5支付
        • 云闪付H5支付
        • 手机浏览器H5支付
      • Native支付
        • 支付宝支付
        • 云闪付支付
      • 终端支付
        • 智能云MIS
        • 智能APP
  • 接口规则
    • 协议规则
    • 安全规范
  • 支付交易
    • 交易前指引
      • 微信认证操作流程
      • 支付宝认证操作流程
      • H5页面微信支付对接前准备
      • H5页面支付宝支付对接前准备
      • 支付流程
      • 支付接入注意事项
      • 消费者IP获取指引
    • 基础支付
      • 付款码支付
      • JSAPI支付
      • 订单查询
      • 扫码支付-星驿码
      • 扫码支付-官方码
      • 扫码支付-场景码
      • 关闭订单
      • 撤销订单
      • 退款
      • 退款查询
      • 授权码查询openid
      • 获取银联用户标识
      • 获取微信刷脸凭证
      • 成品油(现金/储值)开票
    • 小程序支付
      • 使用说明
      • 小程序半屏-星驿付
      • 小程序半屏-场景
    • 扫码预授权
      • 扫码预授权
      • 预授权查询
      • 预授权撤销
      • 预授权撤销查询
      • 预授权完成
      • 预授权完成查询
      • 预授权完成撤销
      • 预授权完成撤销查询
    • 订单推送
      • 推送终端交易
      • 关闭推送终端交易
      • 碰一下推单状态查询
      • 碰一下订单取消
      • 碰一下订单推送
    • 智能终端SDK
      • 智能终端SDK
    • 交易通知及对账
      • 交易对账文件-场景应用
      • 交易对账文件-ISV
      • 交易和退款结果通知
      • 交易手续费通知
    • 刷卡预授权
      • 预授权撤销
      • 预授权完成撤销
  • 商户管理
    • 前件前指引
      • 进件说明
      • 图片示例
      • 微信认证操作流程
      • 支付宝认证操作流程
      • 附件下载
    • 商户入网
      • 商户进件上传图片
      • 普通商户进件
      • 普通商户信息修改
      • 小微商户进件
      • 小微商户信息修改
      • 审核结果查询
      • 商户审核结果通知
      • 待审核商户撤回
      • 商户信息查询
      • 结算卡修改
      • 商户快捷修改
      • 受益人信息查询
      • 商户报备查询
      • 商户报备结果通知
      • 商户状态修改
      • 终端报备查询
      • 商户阶梯费率配置
      • 商户阶梯费率查询
    • 商户协议签约
      • 入网协议签约接口调用流程
      • 普通商户用户开户
      • 小微商户用户开户
      • 发短信验证码
      • 获取签约链接
      • 校验验证码
      • 校验验证码-补签
      • 签约结果通知
    • 微信支付宝认证
      • 微信申请单提交
      • 微信申请单撤销
      • 微信申请单状态查询
      • 微信商户授权状态查询
      • 支付宝申请单提交
      • 支付宝申请单撤销
      • 支付宝申请单状态查询
      • 支付宝商户授权状态查询
    • 微信开发配置
      • 微信APPID配置
      • 微信支付目录配置
      • 微信公众号查询
      • 微信开发配置查询
      • 指定渠道报备
      • 微信小程序冻结状态查询
      • 微信小程序冻结通知(非接口)
    • 商户限额调整
      • 商户限额查询
      • 商户提额申请
      • 商户提额记录查询
    • 商户风险处置
      • 商户风险处置通知
      • 风险商户图片上传
      • 微信官方风险商户文件
      • 支付宝官方风险商户文件
      • 风险商户异常流水查询
      • 风险商户调查列表
      • 风险商户调查详情
      • 风险调查单历史查询
      • 风险调查材料下载
      • 风险调查单处理
    • 商户手续费开票
      • 开具发票
      • 开票详情
      • 待开发票信息查询
      • 合并开票商户信息查询
      • 电子普票重发邮箱
      • 开票历史查询
    • 无界收款
      • 无界收款图片上传
      • 无界收款开通
      • 无界收款审核查询
      • 无界收款审核结果通知
  • 资金结算
    • D0结算业务
      • 产品介绍
      • 获取人脸识别链接
      • 人脸认证结果查询
      • D0开通
      • D0信息修改
      • D0状态查询
      • D0开通失败申诉
      • D0申诉结果查询
      • D0申诉结果通知
    • 特殊结算业务
      • 产品介绍
      • 结算业务申请
      • 结算业务变更
      • 结算业务结果查询
      • 结算业务结果通知
    • 提现查账
      • 手工提现
      • 到账记录查询
      • 到账记录批量查询
      • 秒到提现记录查询
      • 账户余额查询
      • 挂账记录查询
      • 补付申请
      • 提现结果通知
      • 账户余额变动通知
      • 提现对账文件
      • 批量结算提现通知
      • 到账附言配置
      • 查询到账附言
  • 星账云管家
    • 星账云管家
    • 功能开通
      • 功能开通(XZY001)
      • 编辑(XZY003)
      • 编辑上传付款凭证(XZY002)
      • 修改生效状态(XZY004)
      • 查询详情信息(XZY005)
      • 产品开通审核通知(XZY006)
    • 公共接口
      • 上传文件(XZY013)
    • 分账
      • 交易
        • 分账结算电子回单下载(XZY037)
        • 余额查询接口(XZY041)
        • 分账合并入账电子回单下载(XZY039)
        • 订单查询(XZY015)
        • 分账(XZY014)
        • 分账撤销退回(XZY017)
        • 分账结果回调(XZY016)
      • 客户管理
        • 新增客户(XZY018)
        • 分账授权申请接口-收单统一结算(XZY043)
        • 批量分账授权申请接口-收单统一结算(XZY044)
        • 合作状态调整(XZY020)
        • 解约/重启签约(XZY-001-002)
        • 编辑客户(XZY023)
        • 替换客户结算卡(XZY022)
        • 审核通知(XZY019)
        • 查询分账客户信息(XZY021)
    • 归集
      • 开户/授权
        • 归集授权申请接口-收单统一结算(XZY037)
        • 审核通知(XZY025)
        • 合作状态调整(XZY026)
        • 查询归集客户信息(XZY027)
        • 替换结算卡(XZY028)
        • 编辑信息(XZY029)
      • 交易
        • 归集合并入账电子回单下载(XZY040)
        • 归集结算电子回单下载(XZY038)
        • 余额查询接口(XZY042)
        • 订单查询(XZY031)
        • 归集-支持自定义服务费(XZY030)
        • 归集(XZY030)
        • 归集结果回调(XZY032)
        • 归集撤销退回(XZY033)
    • 提现
      • 提现订单查询(XZY035)
      • 结算回调通知(XZY050)
      • 提现电子回单下载(XZY040)
      • 提现(XZY036)
    • 账户
      • 结算资金流水查询(XZY047)
      • 结算卡资金流水查询(XZY049)
  • 设备管理与推送
    • 设备管理
      • 收款设备绑定
      • 收款设备解绑
      • 收款设备绑定查询
      • 设备绑定/解绑结果通知
      • 音箱绑定
      • 音箱绑定查询
      • 音箱解绑
    • 设备推送
      • 音箱播报
      • 交易打印
  • 营销活动
    • 银行活动
      • 产品介绍
      • 图片上传
      • 商户补贴列表查询
      • 银行活动报名
      • 银行活动报名结果查询
      • 银行活动报名结果通知
      • 银行活动列表查询
      • 银行活动退出
    • 特殊行业活动
      • 产品介绍
      • 特殊行业活动报名申请
      • 特殊活动报名结果通知
      • 特殊行业商户活动查询
      • 特殊行业活动图片上传
    • 综合账户
      • 营销增资-订单
      • 营销增资-金额
      • 营销增资查询
      • 综合账户余额查询
      • 综合账户流水查询
    • 增值服务
      • 获取增值营销产品列表
      • 获取增值营销产品明细
      • 获取分享链接
      • 推广结果列表查询
      • 推广结果详情
  • 慧徕店开放平台
    • 慧+SPI
      • 对接前准备
      • 商户同步
        • 开发配置
          • 请求域名
          • 加签&验签
        • 商户同步
        • 商户同步查询
        • 商户同步回调
      • 应用模块
        • 产品介绍
        • 开发配置
          • 请求域名
          • 加签&验签
        • 应用及增值服务查询
        • 商户应用注册及增值服务状态查询
        • 应用注册
        • 应用注册状态查询
        • 应用注册回调通知
        • 增值服务激活
        • 增值服务激活状态查询
        • 增值服务激活回调通知
      • 聚合支付SPI
        • 产品介绍
        • 开发配置
          • 签名方式
          • 验签方式
          • 公共参数
        • 支付API
        • 付款码支付
        • 扫码支付-官方码
        • JSAPI支付
        • 扫码支付-聚合码
        • 获取小程序支付信息
        • 订单查询
        • 交易结果通知
        • 退款
        • 退款查询
        • 关闭订单
        • 获取银联用户标识
    • 应用开发API
      • 验签说明
      • 应用支付
      • 门店信息同步
      • 门店增值服务激活
  • 支付广告
    • 微信小程序广告
    • 支付宝小程序广告
    • 支付宝H5广告
    • SDK资源文件
  • 数据字典
    • MCC
      • 搜索查询二级mcc
      • 获取一级mcc目录
      • 获取二级mcc目录
    • 地区码
      • 获取省
      • 获取市
      • 获取区县
    • 落地银行
      • 落地银行查询
      • 落地银行下级机构查询
    • 银行信息
      • 获取银行省信息-联行号
      • 获取银行市信息-联行号
      • 银行信息查询
      • 查询联行号信息
      • 根据银行卡号获取银行信息
    • 连锁品牌
      • 获取连锁品牌信息
  • 分账服务
    • 订单分账
      • 订单分账
      • 订单分账结果查询
      • 订单分账撤销
      • 订单分账对帐文件
    • 余额分账
      • 余额分账
      • 余额分账结果查询
      • 可分账余额查询
    • 分账配置
      • 分账图片上传
      • 分账商户配置
      • 分账商户配置结果查询
      • 分账商户配置结果通知
      • 分账商户移除
      • 快捷创建资金接收方
      • 修改分账比例与金额
      • 商圈信息查询
  • 数据模型
    • FileHeader
    • FileBody
    • StandardResponse
  1. 交易前指引

消费者IP获取指引

1、背景#

C扫B支付场景需要获取用户在商家侧下单 IP,用于提高支付安全性。此指引用于帮助商家获取正确且真实的 ip 字段。
注意: 商家侧下单 IP 指的是在发起支付流程之前,用户在商家侧发起下单操作生成商家订单时的客户端 IP(比如手机IP),并非请求后端支付服务端的服务器 IP。

2、用户下单 IP 获取方式#

不同商家由于部署网络环境不同,获取商家侧下单 IP 的方式也存在差异,商家可以根据自身情况获取真实的用户下单 IP。常见的场景有两种分为 有代理 和 无代理。

2.1、无代理场景#

商家的网络部署环境未使用代理服务器,用户直接与商家服务端通信。这种情况较为简单直接获取客户端 IP 即可。

2.1.1、示例代码#

2.1.2、注意事项#

当您的服务器未经过代理,商家在获取用户创单IP时,不要去获取用户请求的 HTTP 头中 X-Forwarded-For 、Client-IP 、X-Client-IP、 X-Originating-IP 、X-Real-IP 、X-Remote-Addr、X-Remote-IP 等字段,而是直接获取当前跟自己建连的 IP 地址。在许多三方库中,可能会自己获取 X-Forwarded-For 中的地址用来代替建连地址,从而导致IP可以被任意伪造,引起防护失效。

2.2、有代理场景#

由于商家的业务需求使用代理服务器,用户先与代理服务器通信,代理服务器再访问商家服务端。这种情况下直接获取客户端 IP 会获取到代理服务器的 IP,就会出现 127.0.0.1、localhost 或者内网 IP 等情况。服务端无法获取到用户的真实 IP,可以通过配置代理服务器来记录用户的真实 IP。
image.png
存在 CDN 的情况下,检查 CDN 的配置情况,确保 CDN 可以将客户端真实 IP 正确回传,同时防止 X-Forwarded-For 等字段被伪造的情况发生。

2.2.1、配置示例#

nginx有代理情况配置#

根据需求修改 nginx 配置文件,向请求头添加字段用于记录客户端真实 IP。
#修改default.conf配置文件
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; 
proxy_set_header X-Real-Port $remote_port; 
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

apache有代理情况配置#

#修改httpd.conf文件
vi /usr/local/apache/conf/httpd.conf
Include conf/extra/httpd-remoteip.conf
# 加载mod_remoteip.so模块 
LoadModule remoteip_module modules/mod_remoteip.so 
RemoteIPHeader X-Forwarded-For 
RemoteIPInternalProxy <ip_range1><ip_range2> …… <ip_rangex>
其它中间件可根据需求自行配置,记录通信过程。后端服务器代码根据代理服务器部署情况获取客户端真实 IP。

2.2.2、示例代码#

注意: 当服务器经过代理,商户在获取创单 IP 时,可判断自己真实的代理服务器 IP 在请求头中的添加情况,获取与最外层代理服务器建立通信的真实客户端 IP。如果出现 X-Forwarded-For 中 IP 列表与真实情况不同很大可能是伪造的请求头参数。

3、案例说明#

POST /test HTTP/1.1
Host: aaa.bb.cn
Cookie:  xxxx
Content-Length: 1420
Cache-Control: max-age=0
Sec-Ch-Ua: " Not A;Brand";v="99", "Chromium";v="102", "Google Chrome";v="102"
Sec-Ch-Ua-Mobile: ?0
Sec-Ch-Ua-Platform: "Windows"
Upgrade-Insecure-Requests: 1
Origin: https://aaa.bb.cn
Content-Type: application/x-www-form-urlencoded
X-Forwarded-For: 120.24.169.223,8.8.8.8
Client-IP: 120.24.169.22
X-Client-IP: 120.24.169.22
X-Originating-IP: 120.24.169.22
X-Real-IP: 120.24.169.22
X-Remote-Addr: 120.24.169.22
X-Remote-IP: 120.24.169.22
User-Agent: Mozilla/5.0 (Linux; Android 4.4.2; Nexus 4 Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: same-site
Sec-Fetch-Mode: navigate
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate
Accept-Language: en,zh-CN;q=0.9,zh;q=0.8
Connection: close
案例中:
无代理的情况下,如果获取的 IP 地址是 120.24.169.223 或者 120.24.169.22 或者 8.8.8.8,则代表程序中存在 bug。
有代理的情况下,如果 X-Forwarded-For: 120.24.169.223,8.8.8.8 与真实网络线路路由顺序不同,证明此请求存在伪造 IP,请谨慎获取,测试确保正确后再回传。
修改于 2026-03-24 02:57:57
上一页
支付接入注意事项
下一页
付款码支付
Built with