# 4.3 Supported events
The wallet SDK will trigger an event every time a specific action has been done. It helps the wrapping client to be informed about different states, actions and receive information from the wallet SDK.
Listening to an event:
function handleEvent(name){
return function (value) {
console.log(`event-`,name);
if (value){
console.log(`value-`,JSON.stringify(value));
}
}
}
window.mycheck.wallet.on("<event name>",handleEvent("<event name>"));
Example
window.mycheck.wallet.on("paymentCompleted", handleEvent("paymentCompleted"));
Or by using an anonymous function:
mycheck.wallet.on("paymentCompleted", function (paymentDetails){
console.log(paymentDetails);
});
# 4.3.1 Init event
Called after the wallet started initialization.
mycheck.wallet.on("init", function () {
console.log('wallet initialized');
});
# 4.3.2 Ready event
Called when wallet is mounted and loaded.
mycheck.wallet.on("ready", function () {
console.log('wallet is ready');
});
# 4.3.3 CheckoutReady event
Will return the status (whether a payment can be initiated) and a payment details JSON object containing the following:
mycheck.wallet.on("checkoutReady", function (status, paymentDetails) {
console.log(status);
console.log(paymentDetails);
});
Payload:
{
"status": false,
"paymentDetails": {
"cc_token": "<TOKEN>",
"encrypted_cvv": null,
"type": "traditional",
"fingerprint": {
"ip": "147.161.131.31",
"screenHeight": 764,
"screenWidth": 1123,
"timezoneOffset": -180,
"browserAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",
"walletSdkSessionId": "917eb11c-8437-4a07-a01a-587b89ecf403"
}
}
}
cc_token – the token of the payment method (in the format of JWT)
type – the selected payment method type (instant | traditional | alternative)
encrypted_cvv – when applicable
fingerprint – when applicable
This event will fire constantly based on the interactions of the user with the wallet, affected by and not only:
The selected payment type (traditional| alternative | instant)
Upon adding a payment method by a traditional card or by an alternative payment (Applepay, Googlepay, Paypal, Amazonpay, SRC …)
User already has a payment method in the wallet (the default payment method will be returned) – for a returning customers flow.
When a payment method is selected by a user from a list of existing payment methods.
Encrypted cvv is generated (whether it is by add card flow, or by generating a new one after it is expired on checkout page)
Etc
# 4.3.3.1 Using the checkout ready object
Based on the response you should do the following when a payment is initiated:
If status = false
- Payment is impossible at this point (UI indications are displayed to the end user).
If status = true
Take a decision based on the payment type.
If it is an instant – call
mycheck.wallet.makeInstantPayment()
If it is a traditional/alternative call to your server to perform the billing call using the payment_details provided
# 4.3.4 PaymentCompleted event
Is triggered when a 3DS or an instant payment is completed
mycheck.wallet.on("paymentCompleted", function (paymentDetails) {
console.log(paymentDetails);
});
Payload:
{
"method":"SALE_3DS",
"status":"SUCCESS",
"transaction_id":"SPS_ECOMMERCE-0279d4fb-c3e0-4391-9c6a-da37674ff8b5"
}