
html
<div id="checkoutVietQRField"></div>javascript
import { Vietqr } from '@paykka/card-checkout-ui'
const checkoutVietQR = paykkaCheckout.create(Vietqr, {
onSubmit: formValidateError => {
console.log('VietQR 支付提交:', formValidateError)
},
onSuccess: data => {
console.log('VietQR 支付成功:', data)
},
onError: error => {
console.log('VietQR 支付失败:', error)
}
})
checkoutVietQR.mount('#checkoutVietQRField')调用 create 方法创建 VietQR 时传入。
| 名称 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| showEmail | 是否展示邮箱。
| boolean | false |
| showAddress | 是否展示地址。
| boolean | false |
| hidePaymentButton | 是否隐藏支付按钮。隐藏后可通过组件 ref 的 payment() 方法自定义触发支付。 | boolean | false |
| onSubmit | 支付提交回调,点击支付按钮后触发。
| (formValidateError?: Record<string, FormValidateError[]>) => void | boolean | Promise<void | boolean> | undefined |
| onSuccess | 支付成功后的回调。
| (data: PaymentSuccessData) => void | undefined |
| onError | 支付失败后的回调,可重新提交进行支付。
| (error: PayKKaError) => void | undefined |
| onTimeout | 支付超时后的回调,可重新提交进行支付。 | () => void | undefined |
| onExpired | 支付时收银台已过期的回调,无法再次支付。 | () => void | undefined |
VietQR 暴露的方法和属性,可通过 create 方法创建出的 VietQR 实例调用,如:checkoutVietQR.ref.payment()。
| 名称 | 说明 | 类型 |
|---|---|---|
| payment | 进行支付,在支付按钮配置为不可见时启用。 | () => void |
下面对一些数据类型进行说明:
支付成功后返回的信息。
interface PaymentSuccessData {
/** 支付成功后可跳转的 URL */
returnUrl?: string
}