Frontend API
1. API
Use PMdropin.API.
API | 描述 | 详情 |
---|---|---|
create | Instantiate a built-in component | 参阅create |
mount | Mount instantiated component to div tag | 参阅mount |
on | Listen events | 参阅on |
emit | Trigger events | 参阅emit |
1.1 create
Used to initialize components, please use PMdropin.create(ComponentName, Options).
ComponentName Explanation
ComponentName | Field Type | Description |
---|---|---|
applepay | string | ApplePay Compoment |
Options Explanation
Options | Required Or Not | Field Type | Default Value |
---|---|---|---|
clientKey | Y | String | - |
sessionKey | Y | String | - |
sandbox | N | Boolean | false |
theme | N | String | light |
payButtonStyle | N | String | - |
1.2 mount
Used to mount initialization component instances, please use PMdropin.mount(Tag).
Tag Explanation
Tag | Description |
---|---|
id | The value of the id element that needs to be mounted, such as PMdropin.mount('#applepay-frame') |
class | The value of the class element that needs to be mounted, such as PMdropin.mount('.applepay-frame') |
1.3 on
Used to listen to component built-in response events, please use PMdropin.on(Event, CallbackFunction).
Event Explanation
Tag | Description | Returned Value |
---|---|---|
ready | Triggered when the component completes loading | null |
payButtonClick | Triggered when the ApplePay button is clicked | null |
Example:
js
PMdropin.on('payButtonClick', function(event) {
// achieve paymentToken and orderAndPay
applePay.emit('setDisabled', true)
applePay.emit('canMakePayment')
.then(res => {
const paymentToken = res?.data?.paymentToken
if(paymentToken){
orderAndPay()
}else{
applePay.emit('setDisabled', false)
}
})
.catch(err => {
applePay.emit('payFail')
applePay.emit('setDisabled', false)
})
});
1.4 emit
Used to call component built-in methods, please use PMdropin.emit(Event, Params).
Event | Params | Description |
---|---|---|
canMakePayment | - | Get the payment token |
switchTheme | string | Switch theme |
setDisabled | Boolean | Set the component available state |
setPayButtonStyle | string | Set the button style |
1.4.1 emit.canMakePayment
Check whether the current component status meets the conditions for initiating payment, and return the card identification if the verification passes.
canMakePayment Response:
Code | Description |
---|---|
APPLY_SUCCESS | Get paymentToken successfully |
UNKNOWN_ISSUE | Exception information |
1.4.2 emit.switchTheme
- Set the button theme
- Type: Boolean
- Default: light
Theme Name | Theme type | Effect Preview |
---|---|---|
White | light 默认 | |
Black | dark |
1.4.3 emit.setDisabled
- Set the component available state
- Type: Boolean
- Default: false
js
// Button disabled state
PMdropin.emit('setDisabled', true)
// Button enabled state
PMdropin.emit('setDisabled', false)
1.4.4 emit.setPayButtonStyle
- Set the button style
- Type: Boolean
- Default: false
js
// Set the width, height, padding, and border radius of the ApplePay button
PMdropin.emit('payButtonStyle', `width:20rem;height:4rem;border-radius: 4rem;padding:1rem 4rem;`)