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. 信用卡

内嵌订阅收银台(变更金额)测试中

Payment Element 元素文档#

概述#

Payment Element 是一个集成的支付界面组件,支持多种支付方式(信用卡、借记卡、Apple Pay、Google Pay 等)。它提供了一个统一的界面来收集客户的支付信息,简化了支付流程的集成。

支付流程图#

┌─────────────────────────────────────────────────────────────┐
│  1. 页面加载 - 初始化 UseePay SDK                            │
│     UseePay(publicKey) → elements(options)                  │
└────────────────────────┬────────────────────────────────────┘
                         ↓
┌─────────────────────────────────────────────────────────────┐
│  2. 创建并挂载 Payment Element                               │
│     elements.create('payment', options)                     │
│     paymentElement.mount(domId)                             │
└────────────────────────┬────────────────────────────────────┘
                         ↓
┌─────────────────────────────────────────────────────────────┐
│  3. ready 事件触发                                           │
│     → Payment Element 已准备就绪                             │
└────────────────────────┬────────────────────────────────────┘
                         ↓
┌─────────────────────────────────────────────────────────────┐
│  4. 客户填写支付信息                                          │
│     → 选择支付方式(卡、Apple Pay、Google Pay 等)           │
│     → 填写必要信息                                           │
└────────────────────────┬────────────────────────────────────┘
                         ↓
┌─────────────────────────────────────────────────────────────┐
│  5. 客户点击支付按钮                                          │
│     → 调用 elements.submit() 验证表单                        │
└────────────────────────┬────────────────────────────────────┘
                         ↓
         ┌───────────────┴───────────────┐
         │  验证是否通过?                 │
         └───────┬───────────────┬───────┘
                 │ 否             │ 是
                 ↓               ↓
    ┌──────────────────┐  ┌──────────────────────┐
    │ 显示验证错误      │  │ 6. 调用后端 API       │
    │ 让客户修正       │  │    创建支付意图        │
    └──────────────────┘  │    返回 paymentIntentId│
                          │    和 clientSecret    │
                          └──────────┬───────────┘
                                     ↓
                          ┌──────────────────────┐
                          │ 7. 确认支付           │
                          │ useepay.confirmPayment│
                          └──────────┬───────────┘
                                     ↓
                  ┌──────────────────┴──────────────────┐
                  │  支付结果                            │
                  └──────┬───────────────────┬──────────┘
                         │ 成功               │ 失败
                         ↓                   ↓
              ┌──────────────────┐  ┌──────────────────┐
              │ 8a. 重定向到      │  │ 8b. 显示错误信息  │
              │     成功页面      │  │     让客户重试    │
              └──────────────────┘  └──────────────────┘

快速开始#

步骤 1:引入 SDK#

在您的 HTML 页面中引入 UseePay SDK:

步骤 2:验证 SDK 加载#

在使用 SDK 之前,验证 SDK 是否成功加载:
最佳实践:
在 window.onload 或 DOMContentLoaded 事件中检查 SDK 是否加载
如果 SDK 加载失败,向用户显示友好的错误提示
考虑添加重试机制或备用方案

步骤 3:初始化 SDK#

使用您在 MC 商户后台生成的公钥初始化 UseePay:
公钥格式说明:
生产环境:UseePay_PK_ 开头(例如:UseePay_PK_1234567890abcdef...)
测试环境:UseePay_PK_TEST_ 开头(例如:UseePay_PK_TEST_1234567890abcdef...)
⚠️ 重要提示:请从 MC 管理后台获取正确的公钥,切勿在生产环境使用测试公钥。

步骤 4:创建 Elements 实例#

初始化 Elements 来管理支付界面:

创建 Payment Element 元素#

基础设置#

配置选项#

Elements 实例选项#

在创建 Elements 实例时,可以配置以下选项:
参数类型必填描述
modeString是支付模式,可选值:'payment'(一次性支付)或 'subscription'(订阅支付)
amountNumber是支付金额(实际金额)
currencyString是货币代码(例如:'USD'、'EUR'、'CNY')
paymentMethodTypesArray否可用支付方式的字符串数组。可选值包括:'credit_card'(信用卡/借记卡)、'apple_pay'(Apple Pay)、'google_pay'(Google Pay)等。如果不提供,将显示所有支持的支付方式
paymentMethodTypes 示例:

Payment Element 选项#

参数类型必填描述
applePayObject否Apple Pay 特定配置选项。当 mode 为 'subscription' 时必须提供

ApplePay 对象#

Apple Pay 特定配置,用于设置订阅支付等高级功能。
📖 详细参数说明
关于 Apple Pay 循环支付的详细参数和配置,请参考 Apple 官方文档:
Apple Pay on the Web - Recurring Payments
参数类型必填描述
recurringPaymentRequestObject否循环支付请求配置,用于订阅类型的支付

recurringPaymentRequest 对象#

参数类型必填描述
paymentDescriptionString是支付描述,向客户说明此循环支付的用途
managementURLString是管理 URL,客户可以在此 URL 管理其订阅
regularBillingObject是常规账单配置
billingAgreementString否账单协议文本

regularBilling 对象#

参数类型必填描述
amountNumber是循环支付金额(实际金额)
labelString是账单标签,向客户显示的账单项名称
recurringPaymentStartDateDate是循环支付开始日期
recurringPaymentEndDateDate是循环支付结束日期
recurringPaymentIntervalUnitString是循环支付间隔单位,可选值:'year'、'month'、'day'、'hour'、'minute'
recurringPaymentIntervalCountNumber是循环支付间隔数量,例如:每 2 个月则为 2

配置示例#

基础配置示例(一次性支付)#

订阅支付配置示例#

当使用 mode: 'subscription' 时,必须配置 Apple Pay 的循环支付功能:

方法#

mount(domId)#

将支付元素挂载到 DOM 元素。
参数:
domId (String):组件应挂载到的 DOM 元素的 ID

unmount()#

从 DOM 中移除支付元素。

update(options)#

动态更新支付元素的配置选项。
参数:
options (Object):更新选项
applePay (Object,可选):Apple Pay 特定配置更新

事件#

Payment Element 会发出事件,您可以监听这些事件来处理用户交互。

ready#

当支付元素完全加载并准备好交互时触发。
事件参数:
event (Object):事件对象

Elements 方法和事件#

elements.update(options)#

动态更新 Elements 实例的配置。
参数:
options (Object):更新选项
mode (String,可选):支付模式('payment' 或 'subscription')
amount (Number,可选):支付金额
currency (String,可选):货币代码
paymentMethodTypes (Array,可选):可用支付方式的字符串数组,例如:['credit_card', 'googlepay']

elements.on('update-end')#

当 Elements 更新完成时触发。

elements.submit()#

提交并验证支付表单。在创建支付意图之前,必须先调用此方法进行验证。
返回值:
参数类型描述
selectedPaymentMethodString客户选择的支付方式(例如:'credit_card'、'apple_pay'、'google_pay')
errorObject错误信息对象,如果验证成功则为 null
error 对象:
参数类型描述
typeString错误类型
messageString错误消息
error.type 可能的值:
值描述
no_select_payment_method未选择支付方式
validation_error表单验证错误(例如:卡号无效、必填字段缺失)
google_pay_cancelGoogle Pay 支付被取消
apple_pay_cancelApple Pay 支付被取消

完成支付流程#

完整支付示例#

useepay.confirmPayment()#

确认支付并完成交易。
参数:
参数类型必填描述
elementsElements是Elements 实例
paymentIntentIdString是从后端 API 返回的支付意图 ID
clientSecretString是从后端 API 返回的客户端密钥
返回值:
参数类型描述
paymentIntentObject支付意图对象(支付成功时)
errorObject错误信息对象(支付失败时)

业务结果码(ResultCode)#

在处理 confirmPayment 时,您需要关注支付的结果,根据 ResultCode 来进行相应的操作。
详细的业务结果码说明,请参考:UseePay API 文档

完整集成示例#

注意事项#

1.
订阅支付:当 mode 为 'subscription' 时,必须在创建 Payment Element 时提供 applePay 配置。
2.
表单验证:在创建支付意图之前,务必先调用 elements.submit() 进行表单验证。
3.
错误处理:始终检查 submit() 和 confirmPayment() 的返回值中的 error 对象。
4.
安全性:
切勿在客户端硬编码支付金额
始终在服务器端创建支付意图
使用正确环境的公钥
5.
用户体验:
在支付过程中显示加载状态
提供清晰的错误提示
支付成功后重定向到确认页面
修改于 2026-01-07 10:58:02
上一页
内嵌订阅收银台
下一页
内嵌收银台2.0.0版本说明
Built with