Files
numstation-web/wave/resources/views/checkout.blade.php
2023-12-22 12:35:55 +08:00

60 lines
1.7 KiB
PHP

<script src="https://cdn.paddle.com/paddle/paddle.js"></script>
<script>
window.vendor_id = parseInt('{{ config("wave.paddle.vendor") }}');
if(vendor_id){
Paddle.Setup({ vendor: vendor_id });
}
if("{{ config('wave.paddle.env') }}" == 'sandbox') {
Paddle.Environment.set('sandbox');
}
let checkoutBtns = document.getElementsByClassName("checkout");
for( var i=0; i < checkoutBtns.length; i++ ){
checkoutBtns[i].addEventListener('click', function(){
waveCheckout(this.dataset.plan)
}, false);
}
let updateBtns = document.getElementsByClassName("checkout-update");
for( var i=0; i < updateBtns.length; i++ ){
updateBtns[i].addEventListener('click', waveUpdate, false);
}
let cancelBtns = document.getElementsByClassName("checkout-cancel");
for( var i=0; i < cancelBtns.length; i++ ){
cancelBtns[i].addEventListener('click', waveCancel, false);
}
function waveCheckout(plan_id) {
if(vendor_id){
let product = parseInt(plan_id);
Paddle.Checkout.open({
product: product,
email: '@if(!auth()->guest()){{ auth()->user()->email }}@endif',
successCallback: "checkoutComplete",
});
} else {
alert('Paddle Vendor ID is not set, please see the docs and learn how to setup billing.');
}
}
function waveUpdate(){
Paddle.Checkout.open({
override: this.dataset.url,
successCallback: "checkoutUpdate",
});
}
function waveCancel(){
Paddle.Checkout.open({
override: this.dataset.url,
successCallback: "checkoutCancel",
});
}
</script>