PayKKa Docs for Payments
v1.2 🇨🇳 (Current Release)
  • v1.2 🇨🇳 (Current Release)
  • v1.0 🇨🇳 (Release)
  1. 前端接入
PayKKa Docs for Payments
v1.2 🇨🇳 (Current Release)
  • v1.2 🇨🇳 (Current Release)
  • v1.0 🇨🇳 (Release)
  • 接入流程
  • 变更记录
  • 支付产品
    • 支付方式
    • API 支付
    • 收银台
  • 支付方式
    • Google Pay™
    • Apple Pay
  • API 参考
    • 开始
    • API认证
    • 系统响应码
    • 交易错误码
    • 交易
      • 发起交易
      • 交易查询
      • 交易请款
      • 交易撤销
      • token查询
      • token删除
      • 循环交易协议取消
      • 获取ApplePay会话
    • 收银台
      • 收银台创建
      • 收银台查询
    • 退款
      • 退款
      • 退款查询
    • 通知Webhook
      • 交易结果通知
      • 退款结果通知
  • 前端接入
    • PayKKa Checkout UI Component 使用文档
    • Fraud Detection SDK 使用文档
    • Encrypted Card 使用
  • 数据模型
    • Schemas
      • 响应
      • QueryPayResultReqDto
      • CardEncryptRespDto
      • WebAuthRequest
      • QueryOpenidRequest
      • OrderPayQrcodeRequest
      • EntryPayQrcodeRequest
      • CheckoutIdDto
      • BillRespDto
      • PaymentInfoRespDto
      • PaymentMethodRespDto
      • PaymentMethodsRespDto
      • TokenRespDto
      • BillReqDto
      • BrowserReqDto
      • CheckoutPaymentsReqDto
      • PaymentInfoReqDto
      • CheckoutPaymentQueryDto
      • PaymentMethodsReqDto
      • TokenAuthenticationDto
      • BalanceRespInPaymentsQuery
      • BalanceRespInPayments
      • PaymentLinkSessionReqDto
      • PaymentLinkPaymentsReqDto
      • PaymentLinkPaymentQueryDto
      • PaymentLinkIdDto
      • PaymentLinkQueryRespDto
      • SessionAppleApyReqDto
      • TokenRemoveReqDto
      • QueryTokenReqDto
      • PaymentCardInfoDto
      • QueryTokenRespDto
      • GoodsReqDto
      • SessionCreateReqDto
      • SessionPaymentInfoReqDto
      • ShippingReqDto
      • SessionRespDto
      • SessionQueryReqDto
      • RefundReqDto
      • RefundRespDto
      • RecurringCancelReqDto
      • CardInfoRespDto
      • QueryAddressStyleRespDto
      • CheckoutBillReqDto
      • CheckoutPaymentInfoReqDto
      • PaymentLinkPaymentInfoReqDto
      • SessionAuthenticationReqDto
      • SessionBillReqDto
      • SessionGoodsReqDto
      • SessionShippingReqDto
      • QueryRefundReqDto
      • AuthenticationRecordRespDto
      • QueryPaymentsReqDto
      • CheckoutQueryRespDto
      • CheckoutPaymentsRespDto
      • PaymentLinkPaymentsRespDto
      • PaymentsReqDto
      • AuthenticationRecordDto
      • PaymentsRespDto
      • AuthenticationReqDto
      • RefundNotifyReqDto
      • PaymentsNotifyReqDto
      • PaymentsVoidReqDto
      • PaymentsCaptureReqDto
      • CheckoutBrowserReqDto
      • SessionQueryRespDto
      • PaymentsQueryRespDto
      • BalanceResp
      • QueryPayResultRespDto
      • QueryMerchRequest
      • QueryMerchResponse
      • WebAuthResponse
      • QueryOpenidResponse
      • EntryPayQrcodeResponse
      • CardOrgEnum
      • ChannelConfig
      • SessionField
      • CheckoutThemeRespDto
      • CountryEnum
      • GoodsRespDto
      • Money
      • PaymentMethodEnum
      • PaymentTypeEnum
      • SessionModeEnum
      • SessionStatusEnum
      • CheckoutAuthenticationRecordDto
      • SessionApplePayReqDto
      • FramesLoadReqDto
      • FramesLoadRespDto
      • SuperPaymentMethodsRespDto
      • CardEncryptReqDto
      • CardInfoRespInCard
      • AuthenticationRecordRespInPaymentsQuery
      • CardInfoRespInPaymentsQuery
      • PaymentInfoRespInPaymentsQuery
      • DeviceOsEnum
      • PaymentDeviceTypeEnum
      • AuthenticationRecordRespInPayments
      • CardInfoRespInPayments
      • PaymentInfoRespInPayments
      • TerminalTypeEnum
      • AuthenticationRecordInNotify
      • BalanceRespInNotify
      • CardInfoRespInNotify
      • SessionAuthenticationRecordDto
      • PaymentInfoRespInNotify
      • SessionOrderStatusEnum
      • PaymentModeEnum
      • ApplePaySessionRespDto
      • BatchQueryDictReqDto
      • BatchQueryDictRespDto
      • DataDictResp
      • DataDictValueItem
      • OldPlaceOrderQrcodeRequestV2
      • OldPlaceOrderQrcodeResponseV2
      • OldPosQueryOrderRequestV2
      • OldPosQueryOrderResponseV2
      • OldCollectPayQrcodeRequestV2
      • OldCollectPayQrcodeResponseV2
      • OldPlaceOrderQrcodeRequest
      • OldPlaceOrderQrcodeResponse
      • OldPosQueryOrderRequest
      • OldPosQueryOrderResponse
      • OldCollectPayQrcodeRequest
      • OldCollectPayQrcodeResponse
      • PlaceOrderQrcodeRequest
      • PlaceOrderQrcodeResponse
      • DeviceActivateRequestV2
      • DeviceActivateResponseV2
      • DeviceActivateRequest
      • DeviceActivateResponse
      • CollectPayQrcodeRequest
      • CollectPayQrcodeResponse
      • CurrencyEnum
      • RefundQueryReqDto
      • WechatCallbackRespDto
      • AlipayCallbackRespDto
      • Result
      • CardTokenUsageEnum
      • ChallengeIndicatorEnum
      • ApiPaymentMethodEnum
      • CustomerReqDto
      • ThreedSecureExemptionEnum
      • GatewayOrderStatusEnum
      • SessionCustomerReqDto
      • PaymentsQueryReqDto
      • GatewayRefundOrderStatusEnum
      • QueryRefundResultReqDto
      • QueryRefundResultRespDto
      • QueryTransResultReqDto
      • AddressStyleDto
      • ThreedSecureModeEnum
      • DataDictRespDto
      • PagedDataDictValueItem
      • DeviceSignInReqDto
      • DeviceSignInRespDto
      • PosCurrency
      • DeviceSignInRequestV2
      • DeviceSignInResponseV2
      • DeviceSignInRequest
      • DeviceSignInResponse
  1. 前端接入

Encrypted Card 使用

介绍#

Encrypted Card 用于收集并加密卡号、过期时间和 CVV 信息。如果您使用自定义支付表单并希望符合 PCI 标准,建议采用 Encrypted Card。
该方式基于支付 API,接入前需完成商户身份校验,请确认以下条件:
1.
已注册商户并获取有效客户端密钥(clientKey)。
2.
能够自行调用我们的支付 API。

引入#

Encrypted Card 支持 npm 和 CDN 两种方式引入:
npm
CDN
下载最新版本的 @paykka/card-checkout-ui:
导入 PayKKaEncryptedCard :

使用#

布局#

Encrypted Card 的表单域支持分开和合并两种展示方式,您需要在 HTML 中预先定义好。
注意
Encrypted Card 会根据元素的 id 和 data-eci 属性将表单域插入到指定位置,请务必对元素设置正确的属性名和值。
多个:
单个:
调用 init 方法进行初始化,如 PayKKaEncryptedCard.init({ // ...配置 }),初始化时可配置项如下:
必填参数用 * 标识
属性描述类型
*merchantId商户 IDstring
*clientKey客户端密钥string
locale表单项所展示的语言LocaleKeyType
brands
有效的卡品牌数组
身份验证完成后会获取商户可用卡品牌,然后两者取交集
如果不传,则直接取商户可用卡品牌
CardBrand[]
styles输入框、label 和错误提示文字的样式ElementStylesConfig
showLabel是否展示 label,默认为 trueboolean
sandbox是否使用 sandbox 环境boolean
可以通过回调监听 Encrypted Card 发出的事件:
事件描述类型
onReady身份校验完成后调用,并返回校验结果,若校验成功则返回可用卡品牌(status: boolean, res?: { brands: CardBrand[] }) => void
onActivated表单域渲染完成后触发,并返回对应表单域类型(fieldType: FieldType) => void
onFocus表单域获得焦点时触发,并返回对应表单域类型(fieldType: FieldType) => void
onBlur表单域失去焦点时触发,并返回对应表单域类型(fieldType: FieldType) => void
onBinChanged
卡 bin 信息改变时触发
返回包含卡号前 1-6 位的值和卡品牌
如果用户删除卡号,或卡号不足 6 位,则 binValue 为空
(binInfo: { binValue: string; brand?: CardBrand }) => void
onBrand检测到卡品牌时调用,返回对应卡品牌(brand?: CardBrand) => void
onCardEncrypted卡信息加密成功后触发,返回加密结果(encryptedInfo: EncryptCardRes) => void
onCardEncryptionFailed卡信息加密失败后触发() => void
onValidationChanged
通知表单项验证信息
返回对应表单域类型和验证状态
(validationInfo: { fieldType: FieldType; status: FormValidationStatus) }) => void
Encrypted Card 初始化之后会暴露以下 API:
属性描述类型
encrypt调用该方法开始表单验证和加密流程() => void

详细说明#

语言#

LocaleKeyType
目前我们支持如下 11 种国际化语言,按照 IETF BCP 47 格式展示:
de-DE:德语(德国)
en-GB:英语(英国)
es-ES:西班牙语(西班牙)
fr-FR:法语(法国)
ja-JP:日语(日本)
ko-KR:韩语(韩国)
pt-PT:葡萄牙语(葡萄牙)
ru-RU:俄语(俄罗斯)
zh-CN:中文(中国)
zh-HK:中文(香港)
zh-TW:中文(台湾)
默认情况下,Encrypted Card 会使用浏览器语言,若仍然不符合则使用 en-GB,如果您想固定展示某种语言,则可以在初始化时配置 locale。

卡品牌#

CardBrand
目前我们支持的卡品牌枚举和对应卡品牌如下:

样式#

ElementStylesConfig
样式对象类型如下,您可以自定义输入框、label 和错误提示文案下对应状态的样式,CSSStyleDeclaration 表示我们支持绝大部分的样式:

表单域类型#

FieldType
表单类型枚举及对应描述如下:

加密结果#

EncryptCardRes
加密结果类型定义如下:

验证状态#

FormValidationStatus
表单验证状态分为三种,状态值和对应描述如下:
unValidate: 内容为空
success: 校验成功
error: 校验失败

示例#

下面是从初始化表单域到完成加密的代码示例:

Sandbox 环境接入#

Sandbox 环境下接入,需要引入 Sandbox 环境的 CDN,并在初始化时设置 sandbox 为 true。
修改于 2025-03-30 09:01:10
上一页
Fraud Detection SDK 使用文档
下一页
响应
Built with