如何对接Square生产环境实现客户现有账号订单处理
Square生产环境对接客户现有账号操作指南
你在自有开发者账号沙箱环境完成订单流程调试后,对接客户生产环境的标准规则、流程及对应疑问解答如下:
疑问逐一明确
- 是否需要客户自行注册开发者账号,并提供Application ID、Access Token以及Location ID?
不需要客户单独注册开发者账号,你自有开发者账号下创建的应用即可完成对接,无需使用客户侧的Application ID。严禁要求客户直接提供长期生效的生产Access Token,该操作违反Square安全规范,存在极高的账号资金泄露风险。客户的Location ID可在授权完成后通过接口拉取,无需客户手动查找提供。 - 完成自身developer account的支付处理权限验证,是否即可对接客户账号下的Location ID?
不可以。你自有账号完成的权限验证仅覆盖你自身账号下的资源,无权直接访问其他Square主体下的Location、订单、支付数据。访问客户账号资源必须走Square标准OAuth授权流程,无其他捷径。 - 是否需要客户将你添加为Team member,才可在自身账号下查看客户对应的Location信息?
不需要。只要客户完成OAuth授权,你即可使用授权获取的访问令牌调用接口拉取对应Location信息,无需成为客户账号的团队成员。将你添加为团队成员属于后台直接操作的协作模式,不适用于第三方系统自动推送订单的对接场景。
生产环境对接完整流程
- 第一步:登录你自有的Square开发者后台,进入对应应用的Production配置页,勾选业务所需的全部权限范围(Scope),比如订单写入、支付发起等,按要求提交应用审核,涉及支付类敏感权限需通过Square审核后才可对生产环境商户发起授权。
- 第二步:审核通过后,生成生产环境OAuth授权链接发送给客户的Square账号管理员,由管理员登录自身Square生产账号,确认同意授权你的应用访问对应权限范围的资源。
- 第三步:客户授权完成后,你将获得该客户账号对应的专属访问令牌、刷新令牌,调用
ListLocations接口即可拉取客户账号下所有有权限访问的Location ID,做好令牌与Location信息的映射存储即可。 - 第四步:将你沙箱调试通过的业务逻辑中,API请求地址从沙箱端点切换为生产端点,将沙箱Access Token替换为客户授权返回的生产访问令牌,传入对应Location ID即可正常向客户生产环境推送订单、处理支付。
- 第五步:配套实现令牌自动刷新逻辑,访问令牌过期后通过存储的刷新令牌换取新的有效令牌,避免业务调用中断。
注意:OAuth授权获得的令牌仅拥有你申请、且客户确认同意的权限,无法越权访问客户未授权的账号资源。
内容的提问来源于stack exchange,提问作者Jose De Santiago
相关产品推荐
相关产品推荐

