USEEPAY
  1. 内嵌式收银台接口
USEEPAY
  • 全球收单
    • 集成流程说明
    • 域名说明
    • 生产账户启用
    • UseePay出口IP说明
    • 签名指导
      • 签名
      • 验签
      • demo
    • 沙盒测试资源
      • 测试卡号
      • 信用卡测试案例
      • 退款测试案例
      • 本地化测试案例
      • ApplePay&& Google Pay测试用例
    • 跳转式收银台接口
      • 跳转收银台paymentMethod参数说明
      • 支付/预授权
    • 内嵌式收银台接口
      • gp & ap 快捷支付(测试中)
      • Checkout Session模式
      • 信用卡
        • 2.x 版本内嵌收银台
        • 1.x版本内嵌收银台
        • 1.x版本内嵌收银台版本更新说明
        • 内嵌订阅收银台
        • 内嵌订阅收银台(变更金额)测试中
      • 新版-支持信用卡+AP+GP
        • 内嵌收银台2.0.0版本说明
      • create token 创建JSSDK所需的token
        POST
    • 订单通用接口
      • 退款Refund
      • 查询Query
      • 预授权撤销(Void)
      • 预授权完成(Capture)
    • 本地化支付
      • 本地化汇总
      • 本地化接口
        • 便利店支付
          • konbini
            • konbini 收银台模式
            • konbini api模式
          • payeasy
            • payeasy api 模式
            • payeasy 收银台模式
        • 分期付款Pay Later
          • Klarna产品介绍
          • Klarna direct
          • Klarna Redirect
        • 电子钱包
          • Alipay
            • Alipay Direct 文档
            • alipay_cn/alipay_hk direct 文档
          • Wechat-HK
            • 微信退款
            • 扫码支付
              • 扫码支付
              • direct
                • 扫码支付 Server To Server模式
              • redirect
                • 扫码支付收银台模式(wechat_native)
            • Jsapi支付下单接口
              • 小程序支付
              • 微信公众号支付
              • Jsapi支付下单接口
            • H5支付
              • wechat h5 说明
              • H5支付(cashier)
              • H5支付(s2s)
          • Google Pay
            • GoogePay Test card
            • Google Pay 对接可能遇到的问题
            • redirect
              • 跳转式GooglePay收银台
            • api
              • Google Pay API对接
              • Googlepay API 支付
          • applepay
            • ApplePay 扩展
            • ApplePay API
              • ApplePay API接入流程
              • ApplePay API接入流程备份
              • ApplePay Merchant Identifier
              • ApplePay支付
              • ApplePay商户Session
            • applepay cashier
              • applepay 跳转收银台
          • applepay&googlepay内嵌
            • 1.0.0 内嵌方式对接 (建议使用“内嵌方式对接2.0.0”版本)
            • 内嵌方式对接2.0.0
        • 银行转账
          • pix
          • Giropay
            • Giropay_Redirect
            • Giropay_Direct
          • sofort
            • sofort_Redirect
            • sofort_Direct
          • bancontact
            • bancontact_Redirect
          • Ideal
            • Ideal_Redirect
            • Ideal_Direct
          • boleto
            • boleto_Direct
        • 本地化Card
        • Cash(Ticket)现金支付
          • oxxo
          • boleto
          • Cash Common
      • 支付方式(国家/地区)
        • 荷兰
        • 巴西
        • 墨西哥
        • 中国香港
        • 日本
        • 德国
        • 奥地利
        • 西班牙
        • 波兰
        • 意大利
        • 哥伦比亚
        • 比利时
        • 瑞士
    • 通用对象参数和规范说明
      • 参数对象说明(过期)
      • 业务结果码(ResultCode)
      • 错误码(ErrorCode)
      • 金额和货币单位
      • 国家信息参考
      • 对象模型
        • userInfo
        • shippingAddress
        • goodsInfo
        • billingAddress
        • deviceInfo
        • transactionInfo
    • 通知接口说明
      • 交易通知
        • 同步通知
        • 异步 webhook版本升级
        • webhook
      • 拒付
        • 拒付webhook
    • 物流接口
      • 物流信息上送
        • 物流信息上传2.1
      • 物流信息查询
        • 物流信息查询2.1
    • 拒付接口
      • 拒付流程说明
      • 拒付查询
    • SFTP
      • SFTP
    • 常见问题
      • 支付和预授权的区别
    • demo
    • 插件安装指导
      • magento插件支付安装
        • Wechat/Alipay/UseePay Payments
    • 订阅
      • 订阅文档
    • chargeback
      • ethoca
  • 产品说明
    • 收银台
    • 内嵌式收银台
    • Server To Server 直连
  • FAQ
    • 集成和认证
    • 常见问题解答
    • ueeshop配置常见错误
    • ApplePay常见问题
  • 数据模型
    • 示例数据模型
      • OrderInfo
  1. 内嵌式收银台接口

Checkout Session模式

UseePay Checkout Session 使用文档#

产品图示#

image.png

目录#

概述
快速开始
完整流程图
API 参考
使用注意事项

概述#

Checkout Session 是 UseePay SDK 提供的一种简化的支付集成方式。通过预先在服务端创建 Checkout Session,前端只需使用 checkoutSessionId 和 clientSecret 即可快速集成支付功能,无需处理复杂的支付参数配置。

主要特点#

简化集成:服务端创建 Session,前端只需传入 ID 和密钥
安全性高:敏感信息在服务端配置,前端只持有临时凭证
统一管理:支付配置、金额、货币等信息统一在服务端管理

快速开始#

1. 引入 SDK#

2. 初始化 UseePay#

3. 初始化 Checkout#

4. 创建支付元素并挂载#

5. 加载操作并确认支付#


完整流程图#

流程说明#

1.
服务端创建 Session:商户服务端调用 UseePay API 创建 Checkout Session,获取 checkoutSessionId 和 clientSecret
2.
前端初始化:前端使用可发布密钥初始化 SDK,并使用 Session 凭证初始化 Checkout
3.
创建支付元素:调用 createPaymentElement() 创建支付表单组件
4.
挂载到页面:将支付元素挂载到指定的 DOM 容器
5.
加载操作对象:调用 loadActions() 获取支付操作方法
6.
用户操作:用户在表单中填写支付信息(卡号、有效期等)
7.
确认支付:调用 actions.confirm() 提交支付
8.
3DS 验证(如需要):SDK 自动处理 3D Secure 验证流程
9.
返回结果:支付完成后返回结果,前端根据结果进行后续处理

API 参考#

UseePay(apiKey, options?)#

初始化 UseePay SDK 实例。
参数:
参数名类型必填说明
apiKeystring✅可发布密钥,格式:UseePay_PK_*** 或 UseePay_PK_TEST_***
返回值: UseePay 实例
示例:

useepay.initCheckout(options)#

初始化 Checkout Session。
参数:
参数名类型必填说明
optionsInitCheckoutOptions✅Checkout 配置对象
options.checkoutSessionIdstring✅Checkout Session ID,格式:cs_xxxxxxxxxxxx
options.clientSecretstring✅客户端密钥,格式:cs_xxxxxxxxxxxx_xxxxxxxxxxxxxxx
返回值: Checkout 实例
示例:
注意事项:
checkoutSessionId 和 clientSecret 必须从服务端获取
每个 Session 只能使用一次,支付完成后需重新创建
clientSecret 具有时效性,过期后需重新创建 Session

checkout.createPaymentElement()#

返回值: PaymentElement 实例
示例:
注意事项:
每个 Checkout 实例只能创建一个 Payment Element
重复调用会抛出错误
创建后需要调用 mount() 方法才能显示

paymentElement.mount(domId)#

将支付元素挂载到指定的 DOM 元素。
参数:
参数名类型必填说明
domIdstring✅DOM 元素的 ID(不含 # 前缀)
返回值: void
示例:
注意事项:
DOM 元素必须已存在于页面中
建议给容器设置合适的宽度(如 width: 60vw)
挂载后会自动加载支付表单

paymentElement.unmount()#

卸载支付元素。
返回值: void
示例:
注意事项:
卸载后元素从 DOM 中移除
可以重新调用 mount() 再次挂载

checkout.loadActions()#

加载支付操作对象。
返回值: Promise<LoadActionsResult>
LoadActionsResult 类型:
示例:
注意事项:
必须在创建支付元素后调用
返回的 actions 对象包含 confirm() 方法
建议在页面加载时就调用此方法

actions.confirm()#

确认并提交支付。
返回值: Promise<{ session?: CheckoutSession; error?: Error }>
返回值说明:
字段类型说明
sessionobject支付成功时返回的 Session 对象
session.checkout_session_idstringCheckout Session ID
session.payment_statusstring支付状态:'paid'、'un_paid' 等
session.payment_intent_idstringPayment Intent ID,用于追踪支付意图
session.payment_intent_statusstringPayment Intent 状态
session.statusstringCheckout Session 整体状态
errorobject支付失败时的错误信息
error.messagestring错误描述信息
error.typestring错误类型(可选)
session 对象完整结构:
示例:
注意事项:
调用前确保用户已填写完整的支付信息
可能触发 3DS 验证,SDK 会自动处理
支付过程中不要重复调用此方法

使用注意事项#

1. 安全性#

✅ 必须使用 HTTPS:生产环境必须使用 HTTPS 协议
✅ 密钥管理:clientSecret 不要暴露在公开代码仓库中
✅ 服务端验证:支付完成后必须在服务端验证支付状态

2. 性能优化#

提前加载 SDK 脚本,避免阻塞页面渲染
在页面加载时就调用 loadActions(),不要等到用户点击支付按钮
合理设置容器宽度,避免频繁重绘

3. 用户体验#

在支付过程中显示加载状态,避免用户重复点击
提供清晰的错误提示信息
支付成功后及时跳转或显示成功页面
3DS 验证时不要关闭或刷新页面

4. 兼容性#

Apple Pay:仅在 Safari 浏览器和支持的 iOS 设备上可用
Google Pay:需要用户登录 Google 账户
浏览器要求:建议使用现代浏览器(Chrome 90+, Safari 14+, Firefox 88+)

5. 调试建议#

使用测试环境的 API Key(UseePay_PK_TEST_***)进行开发
在浏览器控制台查看 SDK 输出的日志信息
使用测试卡号进行测试(从 UseePay 文档获取)

6. 常见问题#

Q: 每个 Checkout 实例可以创建多个 Payment Element 吗?
A: 不可以。每个 Checkout 实例只能创建一个 Payment Element。
Q: Session 可以重复使用吗?
A: 不可以。每个 Session 只能使用一次,支付完成后需要重新创建。
Q: 如何处理 3DS 验证?
A: SDK 会自动处理 3DS 验证流程,无需额外代码。
Q: 支付金额可以在前端修改吗?
A: 不可以。支付金额在服务端创建 Session 时确定,前端无法修改。
修改于 2026-01-15 08:04:48
上一页
gp & ap 快捷支付(测试中)
下一页
2.x 版本内嵌收银台
Built with