{"id":3637,"date":"2018-09-03T21:21:00","date_gmt":"2018-09-03T21:21:00","guid":{"rendered":"http:\/\/gfnl.org\/?page_id=3637"},"modified":"2026-06-03T19:48:20","modified_gmt":"2026-06-03T19:48:20","slug":"register","status":"publish","type":"page","link":"https:\/\/gfnl.org\/?page_id=3637","title":{"rendered":"Apply Membership"},"content":{"rendered":"<p><!-- GFNL MEMBERSHIP FORM - WORDPRESS PAGE CODE --><br \/>\n<!-- Paste this entire code into the \"Code\" tab of your WordPress page editor --><\/p>\n<style>\n* {\n    margin: 0;\n    padding: 0;\n    box-sizing: border-box;\n}<\/p>\n<p>body {\n    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n    background: #f8f9fb;\n    color: #1a202c;\n    line-height: 1.6;\n}<\/p>\n<p>.gfnl-header {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    margin-bottom: 40px;\n    padding: 0 20px;\n}<\/p>\n<p>.gfnl-logo-section {\n    display: flex;\n    align-items: center;\n    gap: 16px;\n}<\/p>\n<p>.gfnl-logo {\n    width: 60px;\n    height: 60px;\n    border-radius: 8px;\n    object-fit: contain;\n    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);\n}<\/p>\n<p>.gfnl-logo-text h1 {\n    font-size: 24px;\n    font-weight: 700;\n    color: #1a202c;\n    margin: 0;\n}<\/p>\n<p>.gfnl-logo-text p {\n    font-size: 12px;\n    color: #718096;\n    margin: 4px 0 0 0;\n}<\/p>\n<p>.gfnl-home-btn {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    padding: 10px 20px;\n    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n    color: white;\n    border: none;\n    border-radius: 6px;\n    font-size: 14px;\n    font-weight: 600;\n    cursor: pointer;\n    transition: all 0.3s ease;\n    text-decoration: none;\n}<\/p>\n<p>.gfnl-home-btn:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 6px 16px rgba(102, 126, 234, 0.3);\n}<\/p>\n<p>.gfnl-main-container {\n    max-width: 1200px;\n    margin: 0 auto;\n    padding: 60px 20px;\n}<\/p>\n<p>.gfnl-content-wrapper {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 60px;\n    align-items: start;\n}<\/p>\n<p>\/* Left Column - Info *\/\n.gfnl-info-section {\n    padding: 40px;\n    background: white;\n    border-radius: 12px;\n    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n    height: fit-content;\n    position: sticky;\n    top: 100px;\n}<\/p>\n<p>.gfnl-info-section h2 {\n    font-size: 32px;\n    font-weight: 700;\n    margin-bottom: 16px;\n    color: #1a202c;\n    line-height: 1.2;\n}<\/p>\n<p>.gfnl-info-section p {\n    color: #718096;\n    font-size: 15px;\n    margin-bottom: 32px;\n    line-height: 1.7;\n}<\/p>\n<p>.gfnl-membership-cards {\n    display: flex;\n    flex-direction: column;\n    gap: 16px;\n}<\/p>\n<p>.gfnl-membership-card {\n    padding: 20px;\n    border: 2px solid #e2e8f0;\n    border-radius: 8px;\n    transition: all 0.3s ease;\n    cursor: default;\n}<\/p>\n<p>.gfnl-membership-card:hover {\n    border-color: #667eea;\n    background: #f7fafc;\n}<\/p>\n<p>.gfnl-membership-card.popular {\n    border-color: #667eea;\n    background: linear-gradient(135deg, rgba(102, 126, 234, 0.05) 0%, rgba(118, 75, 162, 0.05) 100%);\n}<\/p>\n<p>.gfnl-membership-card h3 {\n    font-size: 16px;\n    font-weight: 600;\n    color: #1a202c;\n    margin-bottom: 8px;\n}<\/p>\n<p>.gfnl-membership-card .price {\n    font-size: 24px;\n    font-weight: 700;\n    color: #667eea;\n    margin-bottom: 12px;\n}<\/p>\n<p>.gfnl-membership-card .price-period {\n    font-size: 13px;\n    color: #718096;\n    font-weight: 400;\n}<\/p>\n<p>.gfnl-membership-card ul {\n    list-style: none;\n    margin-top: 16px;\n}<\/p>\n<p>.gfnl-membership-card li {\n    font-size: 13px;\n    color: #4a5568;\n    padding: 8px 0;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n}<\/p>\n<p>.gfnl-membership-card li:before {\n    content: \"\u2713\";\n    color: #48bb78;\n    font-weight: 700;\n    font-size: 16px;\n}<\/p>\n<p>.gfnl-popular-badge {\n    display: inline-block;\n    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n    color: white;\n    padding: 4px 12px;\n    border-radius: 20px;\n    font-size: 11px;\n    font-weight: 700;\n    margin-bottom: 12px;\n    text-transform: uppercase;\n    letter-spacing: 0.5px;\n}<\/p>\n<p>\/* Right Column - Form *\/\n.gfnl-form-section {\n    background: white;\n    border-radius: 12px;\n    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);\n    padding: 50px;\n}<\/p>\n<p>.gfnl-form-header {\n    margin-bottom: 40px;\n}<\/p>\n<p>.gfnl-form-header h3 {\n    font-size: 24px;\n    font-weight: 700;\n    color: #1a202c;\n    margin-bottom: 8px;\n}<\/p>\n<p>.gfnl-form-header p {\n    color: #718096;\n    font-size: 14px;\n}<\/p>\n<p>.gfnl-form-group {\n    margin-bottom: 24px;\n}<\/p>\n<p>.gfnl-form-row {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 20px;\n}<\/p>\n<p>.gfnl-form-row.full {\n    grid-template-columns: 1fr;\n}<\/p>\n<p>.gfnl-form-group label {\n    display: block;\n    font-weight: 600;\n    color: #2d3748;\n    margin-bottom: 8px;\n    font-size: 14px;\n}<\/p>\n<p>.gfnl-form-group label .required {\n    color: #e53e3e;\n}<\/p>\n<p>.gfnl-form-group input,\n.gfnl-form-group select,\n.gfnl-form-group textarea {\n    width: 100%;\n    padding: 12px 14px;\n    border: 1px solid #cbd5e0;\n    border-radius: 6px;\n    font-size: 14px;\n    font-family: inherit;\n    transition: all 0.3s ease;\n    background: #fff;\n}<\/p>\n<p>.gfnl-form-group input::placeholder,\n.gfnl-form-group textarea::placeholder {\n    color: #a0aec0;\n}<\/p>\n<p>.gfnl-form-group input:focus,\n.gfnl-form-group select:focus,\n.gfnl-form-group textarea:focus {\n    outline: none;\n    border-color: #667eea;\n    box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);\n    background: #fafbfc;\n}<\/p>\n<p>.gfnl-form-group textarea {\n    resize: vertical;\n    min-height: 100px;\n}<\/p>\n<p>#gfnl-card-element {\n    padding: 12px 14px;\n    border: 1px solid #cbd5e0;\n    border-radius: 6px;\n    background: #fff;\n    transition: all 0.3s ease;\n}<\/p>\n<p>#gfnl-card-errors {\n    color: #e53e3e;\n    font-size: 13px;\n    margin-top: 8px;\n    min-height: 20px;\n    font-weight: 500;\n}<\/p>\n<p>.gfnl-form-divider {\n    margin: 32px 0;\n    border: none;\n    border-top: 1px solid #e2e8f0;\n}<\/p>\n<p>.gfnl-submit-btn {\n    width: 100%;\n    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n    color: white;\n    padding: 14px 20px;\n    border: none;\n    border-radius: 6px;\n    font-size: 15px;\n    font-weight: 600;\n    cursor: pointer;\n    transition: all 0.3s ease;\n    margin-top: 8px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 8px;\n}<\/p>\n<p>.gfnl-submit-btn:hover:not(:disabled) {\n    transform: translateY(-2px);\n    box-shadow: 0 8px 20px rgba(102, 126, 234, 0.3);\n}<\/p>\n<p>.gfnl-submit-btn:disabled {\n    background: #cbd5e0;\n    cursor: not-allowed;\n    transform: none;\n}<\/p>\n<p>#gfnl-form-message {\n    margin-top: 16px;\n    padding: 14px 16px;\n    border-radius: 6px;\n    text-align: center;\n    font-weight: 500;\n    font-size: 14px;\n    display: none;\n    animation: slideIn 0.3s ease;\n}<\/p>\n<p>@keyframes slideIn {\n    from {\n        opacity: 0;\n        transform: translateY(-10px);\n    }\n    to {\n        opacity: 1;\n        transform: translateY(0);\n    }\n}<\/p>\n<p>#gfnl-form-message.success {\n    background: #c6f6d5;\n    color: #22543d;\n    border: 1px solid #9ae6b4;\n    display: block;\n}<\/p>\n<p>#gfnl-form-message.error {\n    background: #fed7d7;\n    color: #742a2a;\n    border: 1px solid #fc8181;\n    display: block;\n}<\/p>\n<p>.gfnl-security-badge {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 6px;\n    margin-top: 16px;\n    color: #718096;\n    font-size: 12px;\n}<\/p>\n<p>.gfnl-payment-logos {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 16px;\n    margin-top: 20px;\n    padding-top: 20px;\n    border-top: 1px solid #e2e8f0;\n}<\/p>\n<p>.gfnl-payment-logos p {\n    font-size: 12px;\n    color: #718096;\n    font-weight: 500;\n    margin-right: 8px;\n}<\/p>\n<p>.gfnl-payment-logos svg {\n    height: 28px;\n    width: auto;\n    opacity: 0.7;\n    transition: opacity 0.3s ease;\n}<\/p>\n<p>.gfnl-payment-logos svg:hover {\n    opacity: 1;\n}<\/p>\n<p>@media (max-width: 1024px) {\n    .gfnl-content-wrapper {\n        grid-template-columns: 1fr;\n        gap: 40px;\n    }<\/p>\n<p>    .gfnl-info-section {\n        position: static;\n    }<\/p>\n<p>    .gfnl-form-section {\n        padding: 40px;\n    }\n}<\/p>\n<p>@media (max-width: 768px) {\n    .gfnl-header {\n        flex-direction: column;\n        gap: 20px;\n        margin-bottom: 30px;\n        align-items: flex-start;\n    }<\/p>\n<p>    .gfnl-home-btn {\n        width: 100%;\n        justify-content: center;\n    }\n}<\/p>\n<p>@media (max-width: 640px) {\n    .gfnl-main-container {\n        padding: 30px 16px;\n    }<\/p>\n<p>    .gfnl-form-section {\n        padding: 30px 20px;\n    }<\/p>\n<p>    .gfnl-info-section {\n        padding: 30px 20px;\n    }<\/p>\n<p>    .gfnl-logo-text h1 {\n        font-size: 20px;\n    }<\/p>\n<p>    .gfnl-logo-text p {\n        font-size: 11px;\n    }<\/p>\n<p>    .gfnl-form-row {\n        grid-template-columns: 1fr;\n    }<\/p>\n<p>    .gfnl-form-header h3 {\n        font-size: 20px;\n    }<\/p>\n<p>    .gfnl-info-section h2 {\n        font-size: 24px;\n    }\n}\n<\/style>\n<p><!-- Header with Logo and Home Button --><\/p>\n<div class=\"gfnl-header\">\n<div class=\"gfnl-logo-section\">\n        <img decoding=\"async\" src=\"https:\/\/gfnl.org\/wp-content\/uploads\/gfnl-logo.jpg\" alt=\"GFNL Logo\" class=\"gfnl-logo\"><\/p>\n<div class=\"gfnl-logo-text\">\n<h1>GFNL<\/h1>\n<p>Global Federation for Nepali Literature<\/p>\n<\/p><\/div>\n<\/p><\/div>\n<p>    <a href=\"https:\/\/gfnl.org\" class=\"gfnl-home-btn\"><br \/>\n        <span>\ud83c\udfe0<\/span><br \/>\n        <span>Home<\/span><br \/>\n    <\/a>\n<\/div>\n<div class=\"gfnl-main-container\">\n<div class=\"gfnl-content-wrapper\">\n        <!-- Left Column - Information --><\/p>\n<div class=\"gfnl-info-section\">\n<h2>Join GFNL Today<\/h2>\n<p>Support the Global Federation for Nepali Literature and become part of a community dedicated to preserving and promoting Nepali literary heritage.<\/p>\n<div class=\"gfnl-membership-cards\">\n                <!-- Life Member --><\/p>\n<div class=\"gfnl-membership-card\">\n<h3>Life Member<\/h3>\n<div class=\"price\">$35 <span class=\"price-period\">one-time<\/span><\/div>\n<ul>\n<li>Lifetime membership<\/li>\n<li>Digital library access<\/li>\n<li>Member directory<\/li>\n<li>Email support<\/li>\n<\/ul><\/div>\n<p>                <!-- Patron Member --><\/p>\n<div class=\"gfnl-membership-card popular\">\n<div class=\"gfnl-popular-badge\">Most Popular<\/div>\n<h3>Patron Member<\/h3>\n<div class=\"price\">$165 <span class=\"price-period\">annual<\/span><\/div>\n<ul>\n<li>All Life Member benefits<\/li>\n<li>Priority support<\/li>\n<li>Exclusive events access<\/li>\n<li>Featured in newsletter<\/li>\n<li>Voting rights<\/li>\n<\/ul><\/div>\n<p>                <!-- Donation --><\/p>\n<div class=\"gfnl-membership-card\">\n<h3>Donation<\/h3>\n<div class=\"price\">Custom <span class=\"price-period\">flexible<\/span><\/div>\n<ul>\n<li>Support our mission<\/li>\n<li>Tax deductible<\/li>\n<li>Recognition<\/li>\n<li>Impact report<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<p>        <!-- Right Column - Form --><\/p>\n<div class=\"gfnl-form-section\">\n<div class=\"gfnl-form-header\">\n<h3>Membership Registration<\/h3>\n<p>Complete the form below to register your membership<\/p>\n<\/p><\/div>\n<form id=\"gfnl-membership-form\">\n                <!-- Membership Type --><\/p>\n<div class=\"gfnl-form-group\">\n                    <label for=\"membership_type\"><br \/>\n                        Membership Type <span class=\"required\">*<\/span><br \/>\n                    <\/label><br \/>\n                    <select id=\"membership_type\" name=\"membership_type\" required><option value=\"\">Select membership type<\/option><option value=\"Life Member\">Life Member &#8211; $35<\/option><option value=\"Patron Member\">Patron Member &#8211; $165<\/option><option value=\"Donation\">Donation &#8211; Custom Amount<\/option><\/select>\n                <\/div>\n<p>                <!-- Name & Email Row --><\/p>\n<div class=\"gfnl-form-row\">\n<div class=\"gfnl-form-group\">\n                        <label for=\"full_name\"><br \/>\n                            Full Name <span class=\"required\">*<\/span><br \/>\n                        <\/label><br \/>\n                        <input type=\"text\" id=\"full_name\" name=\"full_name\" placeholder=\"John Doe\" required>\n                    <\/div>\n<div class=\"gfnl-form-group\">\n                        <label for=\"email\"><br \/>\n                            Email Address <span class=\"required\">*<\/span><br \/>\n                        <\/label><br \/>\n                        <input type=\"email\" id=\"email\" name=\"email\" placeholder=\"john@example.com\" required>\n                    <\/div>\n<\/p><\/div>\n<p>                <!-- Phone & Country Row --><\/p>\n<div class=\"gfnl-form-row\">\n<div class=\"gfnl-form-group\">\n                        <label for=\"phone\"><br \/>\n                            Phone Number <span class=\"required\">*<\/span><br \/>\n                        <\/label><br \/>\n                        <input type=\"tel\" id=\"phone\" name=\"phone\" placeholder=\"+1 (555) 000-0000\" required>\n                    <\/div>\n<div class=\"gfnl-form-group\">\n                        <label for=\"country\"><br \/>\n                            Country <span class=\"required\">*<\/span><br \/>\n                        <\/label><br \/>\n                        <input type=\"text\" id=\"country\" name=\"country\" placeholder=\"Any country resident\" required>\n                    <\/div>\n<\/p><\/div>\n<p>                <!-- City & Address Row --><\/p>\n<div class=\"gfnl-form-row\">\n<div class=\"gfnl-form-group\">\n                        <label for=\"city\">City<\/label><br \/>\n                        <input type=\"text\" id=\"city\" name=\"city\" placeholder=\"City name\">\n                    <\/div>\n<div class=\"gfnl-form-group\">\n                        <label for=\"amount\"><br \/>\n                            Amount (USD) <span class=\"required\">*<\/span><br \/>\n                        <\/label><br \/>\n                        <input type=\"number\" id=\"amount\" name=\"amount\" min=\"0.50\" step=\"0.01\" placeholder=\"0.00\" required>\n                    <\/div>\n<\/p><\/div>\n<p>                <!-- Full Width Address --><\/p>\n<div class=\"gfnl-form-group gfnl-form-row full\">\n                    <label for=\"address\">Address<\/label><br \/>\n                    <textarea id=\"address\" name=\"address\" placeholder=\"Street address, apartment, suite, etc.\"><\/textarea>\n                <\/div>\n<hr class=\"gfnl-form-divider\">\n<p>                <!-- Payment Information --><\/p>\n<div class=\"gfnl-form-group\">\n                    <label><br \/>\n                        Card Details <span class=\"required\">*<\/span><br \/>\n                    <\/label><\/p>\n<div id=\"gfnl-card-element\"><\/div>\n<div id=\"gfnl-card-errors\" role=\"alert\"><\/div>\n<\/p><\/div>\n<p>                <!-- Submit Button --><br \/>\n                <button type=\"submit\" id=\"gfnl-submit-btn\" class=\"gfnl-submit-btn\"><br \/>\n                    <span>\ud83d\udd12<\/span><br \/>\n                    <span>Complete Payment Securely<\/span><br \/>\n                <\/button><\/p>\n<p>                <!-- Security Badge --><\/p>\n<div class=\"gfnl-security-badge\">\n                    \ud83d\udee1\ufe0f Secured by Stripe\n                <\/div>\n<p>                <!-- Payment Methods --><\/p>\n<div class=\"gfnl-payment-logos\">\n<p>We accept:<\/p>\n<p>                    <!-- Visa Logo --><br \/>\n                    <svg viewBox=\"0 0 48 32\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <rect width=\"48\" height=\"32\" rx=\"4\" fill=\"#1434CB\"\/>\n                        <text x=\"24\" y=\"20\" font-size=\"12\" font-weight=\"bold\" fill=\"white\" text-anchor=\"middle\" font-family=\"Arial\">VISA<\/text>\n                    <\/svg><br \/>\n                    <!-- Mastercard Logo --><br \/>\n                    <svg viewBox=\"0 0 48 32\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <rect width=\"48\" height=\"32\" rx=\"4\" fill=\"#EB001B\"\/>\n                        <circle cx=\"20\" cy=\"16\" r=\"8\" fill=\"#FF5F00\"\/>\n                        <circle cx=\"28\" cy=\"16\" r=\"8\" fill=\"#FFB81C\"\/>\n                    <\/svg><br \/>\n                    <!-- Stripe Logo --><br \/>\n                    <svg viewBox=\"0 0 48 32\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                        <rect width=\"48\" height=\"32\" rx=\"4\" fill=\"#635BFF\"\/>\n                        <text x=\"24\" y=\"20\" font-size=\"10\" font-weight=\"bold\" fill=\"white\" text-anchor=\"middle\" font-family=\"Arial\">STRIPE<\/text>\n                    <\/svg>\n                <\/div>\n<p>                <!-- Message --><\/p>\n<div id=\"gfnl-form-message\"><\/div>\n<\/p><\/form>\n<\/p><\/div>\n<\/p><\/div>\n<\/div>\n<p><script src=\"https:\/\/js.stripe.com\/v3\/\"><\/script><br \/>\n<script>\n\/\/ GFNL Membership Form - Stripe Integration\nconst STRIPE_PUBLISHABLE_KEY = 'pk_live_51TQaW4D2HBPVoGtL'; \/\/ REPLACE WITH YOUR KEY\nconst BACKEND_URL = 'https:\/\/gfnl.org\/wp-json\/gfnl\/v1\/membership'; \/\/ REPLACE WITH YOUR BACKEND\nconst GFNL_LOGO_URL = 'https:\/\/gfnl.org\/wp-content\/uploads\/gfnl-logo.jpg'; \/\/ REPLACE WITH YOUR LOGO URL<\/p>\n<p>let stripe = null;\nlet elements = null;\nlet cardElement = null;<\/p>\n<p>document.addEventListener('DOMContentLoaded', function() {\n    initializeStripe();\n    setupFormListeners();\n});<\/p>\n<p>function initializeStripe() {\n    stripe = Stripe(STRIPE_PUBLISHABLE_KEY);\n    elements = stripe.elements();\n    cardElement = elements.create('card');\n    cardElement.mount('#gfnl-card-element');<\/p>\n<p>    cardElement.addEventListener('change', function(event) {\n        const displayError = document.getElementById('gfnl-card-errors');\n        if (event.error) {\n            displayError.textContent = event.error.message;\n        } else {\n            displayError.textContent = '';\n        }\n    });\n}<\/p>\n<p>function setupFormListeners() {\n    const form = document.getElementById('gfnl-membership-form');\n    const membershipTypeSelect = document.getElementById('membership_type');\n    const amountInput = document.getElementById('amount');<\/p>\n<p>    membershipTypeSelect.addEventListener('change', function() {\n        const type = this.value;\n        if (type === 'Life Member') {\n            amountInput.value = '35';\n            amountInput.readOnly = true;\n        } else if (type === 'Patron Member') {\n            amountInput.value = '165';\n            amountInput.readOnly = true;\n        } else if (type === 'Donation') {\n            amountInput.value = '';\n            amountInput.readOnly = false;\n            amountInput.placeholder = 'Enter custom amount';\n        }\n    });<\/p>\n<p>    form.addEventListener('submit', async function(e) {\n        e.preventDefault();\n        await handleFormSubmit();\n    });\n}<\/p>\n<p>async function handleFormSubmit() {\n    const form = document.getElementById('gfnl-membership-form');\n    const submitBtn = document.getElementById('gfnl-submit-btn');\n    const messageDiv = document.getElementById('gfnl-form-message');<\/p>\n<p>    submitBtn.disabled = true;\n    submitBtn.innerHTML = '<span>\u23f3<\/span><span>Processing...<\/span>';\n    messageDiv.className = '';\n    messageDiv.textContent = '';<\/p>\n<p>    try {\n        if (!validateForm()) {\n            throw new Error('Please fill all required fields');\n        }<\/p>\n<p>        const { paymentMethod, error } = await stripe.createPaymentMethod({\n            type: 'card',\n            card: cardElement,\n            billing_details: {\n                name: document.getElementById('full_name').value,\n                email: document.getElementById('email').value,\n            },\n        });<\/p>\n<p>        if (error) {\n            throw new Error(error.message);\n        }<\/p>\n<p>        const formData = {\n            membership_type: document.getElementById('membership_type').value,\n            full_name: document.getElementById('full_name').value,\n            email: document.getElementById('email').value,\n            phone: document.getElementById('phone').value,\n            country: document.getElementById('country').value,\n            city: document.getElementById('city').value,\n            address: document.getElementById('address').value,\n            amount: document.getElementById('amount').value,\n            payment_method_id: paymentMethod.id,\n        };<\/p>\n<p>        const response = await fetch(BACKEND_URL, {\n            method: 'POST',\n            headers: {\n                'Content-Type': 'application\/json',\n            },\n            body: JSON.stringify(formData),\n        });<\/p>\n<p>        const result = await response.json();<\/p>\n<p>        if (result.success) {\n            showSuccess('\u2713 Payment successful! Confirmation email has been sent.');\n            form.reset();\n            cardElement.clear();\n        } else {\n            throw new Error(result.message || 'Payment failed');\n        }\n    } catch (error) {\n        showError('\u2717 ' + error.message);\n    } finally {\n        submitBtn.disabled = false;\n        submitBtn.innerHTML = '<span>\ud83d\udd12<\/span><span>Complete Payment Securely<\/span>';\n    }\n}<\/p>\n<p>function validateForm() {\n    const required = ['membership_type', 'full_name', 'email', 'phone', 'country', 'amount'];\n    for (const fieldId of required) {\n        const field = document.getElementById(fieldId);\n        if (!field || !field.value.trim()) {\n            return false;\n        }\n    }\n    return true;\n}<\/p>\n<p>function showSuccess(message) {\n    const messageDiv = document.getElementById('gfnl-form-message');\n    messageDiv.className = 'success';\n    messageDiv.textContent = message;\n    messageDiv.scrollIntoView({ behavior: 'smooth', block: 'center' });\n}<\/p>\n<p>function showError(message) {\n    const messageDiv = document.getElementById('gfnl-form-message');\n    messageDiv.className = 'error';\n    messageDiv.textContent = message;\n    messageDiv.scrollIntoView({ behavior: 'smooth', block: 'center' });\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>GFNL Global Federation for Nepali Literature \ud83c\udfe0 Home Join GFNL Today Support the Global Federation for Nepali Literature and become part of a community dedicated to preserving and promoting Nepali literary heritage. Life Member $35 one-time Lifetime membership Digital library access Member directory Email support Most Popular Patron Member $165 annual All Life Member benefits<a class=\"more-link\" href=\"https:\/\/gfnl.org\/?page_id=3637\">Continue reading&#8230; <span class=\"screen-reader-text\">Apply Membership<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-3637","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/gfnl.org\/index.php?rest_route=\/wp\/v2\/pages\/3637","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gfnl.org\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gfnl.org\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gfnl.org\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gfnl.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3637"}],"version-history":[{"count":12,"href":"https:\/\/gfnl.org\/index.php?rest_route=\/wp\/v2\/pages\/3637\/revisions"}],"predecessor-version":[{"id":5712,"href":"https:\/\/gfnl.org\/index.php?rest_route=\/wp\/v2\/pages\/3637\/revisions\/5712"}],"wp:attachment":[{"href":"https:\/\/gfnl.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3637"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}