woocommerce-paypal-payments/modules/ppcp-button/resources/js/modules/ActionHandler/FreeTrialHandler.js
Alex P 23cb96e6f9 Explicitly send cookies in fetch
Not sent by default in old browsers
2022-09-09 16:28:58 +03:00

44 lines
1.2 KiB
JavaScript

import {PaymentMethods} from "../Helper/CheckoutMethodState";
import errorHandler from "../ErrorHandler";
class FreeTrialHandler {
constructor(
config,
spinner,
errorHandler
) {
this.config = config;
this.spinner = spinner;
this.errorHandler = errorHandler;
}
handle()
{
this.spinner.block();
fetch(this.config.ajax.vault_paypal.endpoint, {
method: 'POST',
credentials: 'same-origin',
body: JSON.stringify({
nonce: this.config.ajax.vault_paypal.nonce,
return_url: location.href
}),
}).then(res => {
return res.json();
}).then(data => {
if (!data.success) {
this.spinner.unblock();
console.error(data);
this.errorHandler.message(data.data.message);
throw Error(data.data.message);
}
location.href = data.data.approve_link;
}).catch(error => {
this.spinner.unblock();
console.error(error);
this.errorHandler.genericError();
});
}
}
export default FreeTrialHandler;