结账页通常要求同时填写收件地址(Shipping Address)和账单地址(Billing Address)。很多电商系统允许设置为相同,但也有特殊场景(如公司采购、礼品运单)需要不同的地址。理解这两个地址的区别和验证规则对开发和测试很关键。
收件地址和账单地址的定义
收件地址是商品最终投递的地址,必须是可邮递的完整地址。账单地址是对应信用卡或账户持有人的地址,通常用于支付风控和账单邮件。两者可能相同,也可能不同。
为什么需要两个地址?
场景 1:个人用户购物,收件地址和账单地址通常相同。场景 2:公司采购,收件地址是仓库,账单地址是财务部门或总部。场景 3:礼物购买,收件地址是收礼者,账单地址是购买者。
表单设计模式
常见的设计包括:两个完整的地址表单;先填收件地址,然后一个复选框选择"账单地址与收件地址相同"。后者可以减少用户输入,但要考虑可访问性(屏幕阅读器的支持)。
收件地址的验证要求
- 必须是完整的街道地址,不接受 PO Box(某些配送商的限制)。
- ZIP Code 必须与 City 和 State 匹配。
- 某些国家需要额外的配送地址字段(如日本的"Apt/Building Number")。
- 国际配送时需要确认地址所在国家和配送范围的匹配。
账单地址的验证要求
- 必须与信用卡持有人注册的地址匹配(防欺诈)。
- 某些支付网关会对账单地址做 AVS(Address Verification System)验证。
- 可以接受 PO Box 或者商业地址。
"地址相同"复选框的实现细节
当用户勾选"与收件地址相同"后,账单地址字段应该被禁用并自动同步收件地址的值。需要测试:取消勾选后之前的账单地址是否恢复;改动收件地址后账单地址是否同步;浏览器返回键后是否保持状态。
结账流程地址字段测试清单
- 两个地址表单的字段是否独立验证。
- 勾选"地址相同"后账单地址字段是否禁用。
- 修改收件地址后"地址相同"复选框是否自动取消。
- 配送和税费计算是否基于收件地址,而不是账单地址。
- 支付处理是否使用账单地址做 AVS 验证。
- 订单确认信息中两个地址是否都正确显示。
- 国际配送时是否有额外的收件地址限制或字段。
常见的错误和陷阱
错误 1:用账单地址计算税费,导致消费者在不配送的州被收税。错误 2:取消"地址相同"后账单地址被清空。错误 3:不同地址的支付风控检查不通过,但错误提示含糊。
使用 美国地址生成器 生成多组地址进行 shipping vs billing 的对比测试。