feat: enable paypal lifetime checkout and harden billing mode/payment requests
This commit is contained in:
@@ -132,9 +132,6 @@
|
||||
$annualUsd = $pricing['personal_annual']['usd'] ?? 20;
|
||||
$lifetimeUsd = $pricing['personal_lifetime']['usd'] ?? 60;
|
||||
$qrisUrl = $payments['qris_url'] ?? '';
|
||||
$paypalUrl = $payments['paypal_url'] ?? '';
|
||||
$paypalJoiner = $paypalUrl && str_contains($paypalUrl, '?') ? '&' : '?';
|
||||
$paypalLifetimeUrl = $paypalUrl ? $paypalUrl.$paypalJoiner.'plan=personal_lifetime' : '';
|
||||
$canQris = $pakasirEnabled ?? false;
|
||||
$paypalEnabled = $paypalEnabled ?? false;
|
||||
$paypalPlans = $paypalPlans ?? ['personal_monthly' => false, 'personal_annual' => false];
|
||||
@@ -224,19 +221,14 @@
|
||||
<div class="hidden text-xs text-gray-500" id="lifetime-pay-note"></div>
|
||||
<button type="button"
|
||||
id="lifetime-pay-btn"
|
||||
data-paypal-enabled="{{ $paypalLifetimeUrl ? 'true' : 'false' }}"
|
||||
data-paypal-enabled="{{ $paypalEnabled ? 'true' : 'false' }}"
|
||||
data-qris-enabled="{{ $canQris ? 'true' : 'false' }}"
|
||||
class="force-white w-full py-2.5 rounded-xl border border-brand-ocean/60 text-brand-ocean font-semibold text-center block hover:bg-brand-ocean/10">
|
||||
Pay now
|
||||
</button>
|
||||
</div>
|
||||
<div class="hidden">
|
||||
<a href="{{ $paypalLifetimeUrl ?: '#' }}"
|
||||
target="_blank" rel="noopener noreferrer"
|
||||
data-paypal-lifetime="true"
|
||||
class="{{ $paypalLifetimeUrl ? '' : 'pointer-events-none' }}">
|
||||
PayPal Lifetime
|
||||
</a>
|
||||
<button type="button" data-paypal-plan="personal_lifetime" data-original="Get Lifetime Access"></button>
|
||||
<button type="button"
|
||||
data-qris-plan="personal_lifetime" data-original="Get Lifetime Access">
|
||||
QRIS Lifetime
|
||||
@@ -537,7 +529,7 @@
|
||||
lifetimePay.addEventListener('click', async () => {
|
||||
if (lifetimePay.disabled) return;
|
||||
if (currency === 'USD') {
|
||||
const paypal = document.querySelector('[data-paypal-lifetime="true"]');
|
||||
const paypal = document.querySelector('[data-paypal-plan="personal_lifetime"]');
|
||||
paypal?.click();
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user