2023-08-28 17:19:07 +01:00
|
|
|
import ErrorHandler from "../../../../ppcp-button/resources/js/modules/ErrorHandler";
|
|
|
|
import CartActionHandler
|
|
|
|
from "../../../../ppcp-button/resources/js/modules/ActionHandler/CartActionHandler";
|
|
|
|
import onApprove
|
|
|
|
from "../../../../ppcp-button/resources/js/modules/OnApproveHandler/onApproveForContinue";
|
|
|
|
|
2023-08-29 08:19:11 +01:00
|
|
|
class CheckoutBlockHandler {
|
2023-08-28 17:19:07 +01:00
|
|
|
|
|
|
|
constructor(buttonConfig, ppcpConfig) {
|
|
|
|
console.log('NEW CartHandler');
|
|
|
|
|
|
|
|
this.buttonConfig = buttonConfig;
|
|
|
|
this.ppcpConfig = ppcpConfig;
|
|
|
|
}
|
|
|
|
|
|
|
|
transactionInfo() {
|
|
|
|
return new Promise((resolve, reject) => {
|
|
|
|
|
|
|
|
fetch(
|
|
|
|
this.ppcpConfig.ajax.cart_script_params.endpoint,
|
|
|
|
{
|
|
|
|
method: 'GET',
|
|
|
|
credentials: 'same-origin',
|
|
|
|
}
|
|
|
|
)
|
|
|
|
.then(result => result.json())
|
|
|
|
.then(result => {
|
|
|
|
if (! result.success) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
// handle script reload
|
|
|
|
const data = result.data;
|
|
|
|
|
|
|
|
resolve({
|
|
|
|
countryCode: 'US', // data.country_code,
|
|
|
|
currencyCode: 'USD', // data.currency_code,
|
|
|
|
totalPriceStatus: 'FINAL',
|
|
|
|
totalPrice: data.amount // Your amount
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
createOrder() {
|
|
|
|
const errorHandler = new ErrorHandler(
|
|
|
|
this.ppcpConfig.labels.error.generic,
|
|
|
|
document.querySelector('.woocommerce-notices-wrapper')
|
|
|
|
);
|
|
|
|
|
|
|
|
const actionHandler = new CartActionHandler(
|
|
|
|
this.ppcpConfig,
|
|
|
|
errorHandler,
|
|
|
|
);
|
|
|
|
|
|
|
|
return actionHandler.configuration().createOrder(null, null);
|
|
|
|
}
|
|
|
|
|
|
|
|
approveOrderForContinue(data, actions) {
|
|
|
|
const errorHandler = new ErrorHandler(
|
|
|
|
this.ppcpConfig.labels.error.generic,
|
|
|
|
document.querySelector('.woocommerce-notices-wrapper')
|
|
|
|
);
|
|
|
|
|
|
|
|
let onApproveHandler = onApprove({
|
|
|
|
config: this.ppcpConfig
|
|
|
|
}, errorHandler);
|
|
|
|
|
|
|
|
return onApproveHandler(data, actions);
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
2023-08-29 08:19:11 +01:00
|
|
|
export default CheckoutBlockHandler;
|