{"id":227,"date":"2026-04-26T18:32:44","date_gmt":"2026-04-26T18:32:44","guid":{"rendered":"https:\/\/kusaidiacharityinc.com\/?page_id=227"},"modified":"2026-05-11T03:38:20","modified_gmt":"2026-05-11T03:38:20","slug":"donate","status":"publish","type":"page","link":"https:\/\/kusaidiacharityinc.com\/?page_id=227","title":{"rendered":"Donate"},"content":{"rendered":"\n<style>\n.kusaidia-donate-wrap {\n    max-width: 600px;\n    margin: 0 auto;\n    font-family: inherit;\n}\n.kusaidia-donate-wrap h1 {\n    font-size: 2em;\n    margin-bottom: 10px;\n}\n.kusaidia-donate-wrap .subtitle {\n    color: #555;\n    margin-bottom: 30px;\n}\n.amount-grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 10px;\n    margin-bottom: 15px;\n}\n.amount-btn {\n    padding: 12px;\n    border: 2px solid #2e7d32;\n    background: white;\n    color: #2e7d32;\n    font-size: 16px;\n    font-weight: bold;\n    border-radius: 8px;\n    cursor: pointer;\n    transition: all 0.2s;\n}\n.amount-btn:hover, .amount-btn.selected {\n    background: #2e7d32;\n    color: white;\n}\n.custom-amount-wrap {\n    display: none;\n    margin-bottom: 15px;\n}\n.custom-amount-wrap.show {\n    display: block;\n}\n.custom-amount-wrap input {\n    width: 100%;\n    padding: 12px 15px;\n    font-size: 16px;\n    border: 2px solid #2e7d32;\n    border-radius: 8px;\n    box-sizing: border-box;\n}\n.frequency-wrap {\n    display: grid;\n    grid-template-columns: repeat(4, 1fr);\n    gap: 8px;\n    margin-bottom: 20px;\n}\n.freq-btn {\n    padding: 10px 5px;\n    border: 2px solid #ccc;\n    background: white;\n    color: #333;\n    font-size: 13px;\n    border-radius: 8px;\n    cursor: pointer;\n    transition: all 0.2s;\n}\n.freq-btn:hover, .freq-btn.selected {\n    border-color: #2e7d32;\n    background: #e8f5e9;\n    color: #2e7d32;\n}\n.name-row {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 10px;\n    margin-bottom: 10px;\n}\n.donate-input {\n    width: 100%;\n    padding: 12px 15px;\n    font-size: 15px;\n    border: 2px solid #ddd;\n    border-radius: 8px;\n    box-sizing: border-box;\n    margin-bottom: 10px;\n}\n.donate-input:focus {\n    outline: none;\n    border-color: #2e7d32;\n}\n#sq-card-container {\n    margin: 15px 0;\n    padding: 15px;\n    border: 2px solid #ddd;\n    border-radius: 8px;\n    background: #fafafa;\n    min-height: 60px;\n}\n#sq-payment-status {\n    margin: 10px 0;\n    padding: 12px;\n    border-radius: 8px;\n    display: none;\n    font-weight: bold;\n    text-align: center;\n}\n.donate-submit-btn {\n    width: 100%;\n    padding: 16px;\n    background: #2e7d32;\n    color: white;\n    font-size: 18px;\n    font-weight: bold;\n    border: none;\n    border-radius: 8px;\n    cursor: pointer;\n    margin-top: 10px;\n    transition: background 0.2s;\n}\n.donate-submit-btn:hover {\n    background: #1b5e20;\n}\n.donate-submit-btn:disabled {\n    background: #aaa;\n    cursor: not-allowed;\n}\n.secure-note {\n    text-align: center;\n    color: #777;\n    font-size: 13px;\n    margin-top: 12px;\n}\n.section-label {\n    font-weight: bold;\n    color: #333;\n    margin-bottom: 8px;\n    font-size: 14px;\n    text-transform: uppercase;\n    letter-spacing: 0.5px;\n}\n<\/style>\n\n<div class=\"kusaidia-donate-wrap\">\n\n    <p class=\"subtitle\">Select an amount and frequency. Every gift, no matter the size, creates real change.<\/p>\n\n    <!-- Amount Selection -->\n    <div class=\"section-label\">Select an Amount<\/div>\n    <div class=\"amount-grid\">\n        <button class=\"amount-btn\" data-amount=\"25\">$25<\/button>\n        <button class=\"amount-btn\" data-amount=\"50\">$50<\/button>\n        <button class=\"amount-btn\" data-amount=\"100\">$100<\/button>\n        <button class=\"amount-btn\" data-amount=\"250\">$250<\/button>\n        <button class=\"amount-btn\" data-amount=\"500\">$500<\/button>\n        <button class=\"amount-btn\" data-amount=\"other\">Other<\/button>\n    <\/div>\n\n    <!-- Custom Amount -->\n    <div class=\"custom-amount-wrap\" id=\"custom-amount-wrap\">\n        <input type=\"number\" id=\"custom-amount\" class=\"donate-input\" placeholder=\"$ Enter amount\" min=\"1\" \/>\n    <\/div>\n\n    <!-- Frequency -->\n    <div class=\"section-label\">Frequency<\/div>\n    <div class=\"frequency-wrap\">\n        <button class=\"freq-btn selected\" data-freq=\"One-Time\">One-Time<\/button>\n        <button class=\"freq-btn\" data-freq=\"Monthly\">Monthly<\/button>\n        <button class=\"freq-btn\" data-freq=\"Quarterly\">Quarterly<\/button>\n        <button class=\"freq-btn\" data-freq=\"Annually\">Annually<\/button>\n    <\/div>\n\n    <!-- Donor Info -->\n    <div class=\"name-row\">\n        <input type=\"text\" id=\"donor-first-name\" class=\"donate-input\" placeholder=\"First Name\" \/>\n        <input type=\"text\" id=\"donor-last-name\" class=\"donate-input\" placeholder=\"Last Name\" \/>\n    <\/div>\n    <input type=\"email\" id=\"donor-email\" class=\"donate-input\" placeholder=\"Email Address\" \/>\n\n    <!-- Square Card Field -->\n    <div class=\"section-label\">Card Details<\/div>\n    <div id=\"sq-card-container\"><\/div>\n\n    <!-- Status Message -->\n    <div id=\"sq-payment-status\"><\/div>\n\n    <!-- Submit Button -->\n    <button class=\"donate-submit-btn\" id=\"complete-donation-btn\">Complete Donation \u2192<\/button>\n\n    <p class=\"secure-note\">\ud83d\udd12 Secure &amp; encrypted \u00b7 Tax-deductible donation<\/p>\n    <p class=\"secure-note\">Questions? Call <a href=\"tel:9144509518\">914-450-9518<\/a><\/p>\n\n<\/div>\n\n<!-- Square Web Payments SDK \u2014 PRODUCTION -->\n<script src=\"https:\/\/web.squarecdn.com\/v1\/square.js\"><\/script>\n\n<script>\n\/\/ ============================================================\n\/\/ SQUARE PRODUCTION CREDENTIALS\n\/\/ ============================================================\nconst appId      = 'sq0idp-V4HJXSXyKY3hGGrBTRpSNw';   \/\/ Production App ID (fixed \u2014 removed extra w)\nconst locationId = 'L7G10Y95VN76S';                     \/\/ Production Location ID\n\nconst paymentHandlerUrl = 'https:\/\/kusaidiacharityinc.com\/donate-handler.php';  \/\/ Fixed \u2014 was process-donation.php\n\n\/\/ ============================================================\n\/\/ AMOUNT BUTTON LOGIC\n\/\/ ============================================================\nlet selectedAmount = null;\nlet selectedFrequency = 'One-Time';\n\ndocument.querySelectorAll('.amount-btn').forEach(btn => {\n    btn.addEventListener('click', () => {\n        document.querySelectorAll('.amount-btn').forEach(b => b.classList.remove('selected'));\n        btn.classList.add('selected');\n        const val = btn.dataset.amount;\n        if (val === 'other') {\n            selectedAmount = null;\n            document.getElementById('custom-amount-wrap').classList.add('show');\n            document.getElementById('custom-amount').focus();\n        } else {\n            selectedAmount = val;\n            document.getElementById('custom-amount-wrap').classList.remove('show');\n        }\n    });\n});\n\ndocument.getElementById('custom-amount').addEventListener('input', (e) => {\n    selectedAmount = e.target.value;\n});\n\ndocument.querySelectorAll('.freq-btn').forEach(btn => {\n    btn.addEventListener('click', () => {\n        document.querySelectorAll('.freq-btn').forEach(b => b.classList.remove('selected'));\n        btn.classList.add('selected');\n        selectedFrequency = btn.dataset.freq;\n    });\n});\n\n\/\/ ============================================================\n\/\/ INITIALIZE SQUARE\n\/\/ ============================================================\nasync function initializeSquare() {\n    if (!window.Square) {\n        showStatus('Square payment could not be loaded. Please refresh the page.', false);\n        return;\n    }\n\n    const payments = Square.payments(appId, locationId);\n    const card = await payments.card({\n        style: {\n            input: { color: '#333333', fontSize: '16px' },\n            '.input-container': { borderColor: '#cccccc', borderRadius: '6px' },\n            '.input-container.is-focus': { borderColor: '#2e7d32' }\n        }\n    });\n\n    await card.attach('#sq-card-container');\n\n    document.getElementById('complete-donation-btn').addEventListener('click', async () => {\n\n        const customVal = document.getElementById('custom-amount').value;\n        const amount = selectedAmount || customVal;\n\n        if (!amount || isNaN(amount) || parseFloat(amount) <= 0) {\n            showStatus('Please select or enter a donation amount.', false);\n            return;\n        }\n\n        const firstName = document.getElementById('donor-first-name').value.trim();\n        const lastName  = document.getElementById('donor-last-name').value.trim();\n        const email     = document.getElementById('donor-email').value.trim();\n\n        if (!email) {\n            showStatus('Please enter your email address.', false);\n            return;\n        }\n\n        const btn = document.getElementById('complete-donation-btn');\n        btn.disabled = true;\n        btn.textContent = 'Processing...';\n        showStatus('Processing your donation...', null);\n\n        const tokenResult = await card.tokenize();\n\n        if (tokenResult.status !== 'OK') {\n            showStatus('Card error: ' + (tokenResult.errors?.[0]?.message || 'Please check your card details.'), false);\n            btn.disabled = false;\n            btn.textContent = 'Complete Donation \u2192';\n            return;\n        }\n\n        try {\n            const response = await fetch(paymentHandlerUrl, {\n                method: 'POST',\n                headers: { 'Content-Type': 'application\/json' },\n                body: JSON.stringify({\n                    token:     tokenResult.token,\n                    amount:    parseFloat(amount),\n                    email:     email,\n                    firstName: firstName,\n                    lastName:  lastName,\n                    frequency: selectedFrequency\n                })\n            });\n\n            const result = await response.json();\n\n            if (result.success) {\n                showStatus('\u2705 ' + result.message, true);\n                btn.textContent = '\u2705 Donation Complete';\n            } else {\n                showStatus('\u274c ' + result.message, false);\n                btn.disabled = false;\n                btn.textContent = 'Complete Donation \u2192';\n            }\n\n        } catch (err) {\n            showStatus('Network error. Please try again.', false);\n            btn.disabled = false;\n            btn.textContent = 'Complete Donation \u2192';\n        }\n    });\n}\n\nfunction showStatus(message, success) {\n    const el = document.getElementById('sq-payment-status');\n    el.style.display = 'block';\n    el.textContent = message;\n    if (success === true) {\n        el.style.background = '#e8f5e9';\n        el.style.color = '#2e7d32';\n        el.style.border = '1px solid #a5d6a7';\n    } else if (success === false) {\n        el.style.background = '#ffebee';\n        el.style.color = '#c62828';\n        el.style.border = '1px solid #ef9a9a';\n    } else {\n        el.style.background = '#fff8e1';\n        el.style.color = '#f57f17';\n        el.style.border = '1px solid #ffe082';\n    }\n}\n\ninitializeSquare();\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\">What Your Gift <em>Provides<\/em><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>$25 \u2014 Feeds a child for one month<\/strong><br>Provides nutritious meals through our meal drive program, ensuring consistent nourishment for one child.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>$50 \u2014 Complete school supply kit<\/strong><br>A full set of school supplies \u2014 notebooks, pens, pencils, and a backpack \u2014 for one child for the entire school year.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>$100 \u2014 Clothing for a family<\/strong><br>A complete set of clothing for a family of four through our community clothing drive.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>$250 \u2014 Livelihood starter kit<\/strong><br>Provides a family with the assets to begin a sustainable livelihood \u2014 generating food and income long-term.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>$500+ \u2014 Land acquisition fund<\/strong><br>Contributes to acquiring land to build schools, housing, and medical clinics for communities worldwide.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Have Questions?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Our team is happy to answer any questions about how your donations are used.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"tel:9144509518\">\ud83d\udcde 914-450-9518<\/a> \u00b7 <a href=\"\/contact\/\">Send a Message<\/a><\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>Select an amount and frequency. Every gift, no matter the size, creates real change. Select an Amount $25 $50 $100 $250 $500 Other Frequency One-Time Monthly Quarterly Annually Card Details Complete Donation \u2192 \ud83d\udd12 Secure &amp; encrypted \u00b7 Tax-deductible donation Questions? Call 914-450-9518 What Your Gift Provides $25 \u2014 Feeds a child for one monthProvides [&hellip;]<\/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-227","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/kusaidiacharityinc.com\/index.php?rest_route=\/wp\/v2\/pages\/227","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kusaidiacharityinc.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kusaidiacharityinc.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kusaidiacharityinc.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kusaidiacharityinc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=227"}],"version-history":[{"count":4,"href":"https:\/\/kusaidiacharityinc.com\/index.php?rest_route=\/wp\/v2\/pages\/227\/revisions"}],"predecessor-version":[{"id":300,"href":"https:\/\/kusaidiacharityinc.com\/index.php?rest_route=\/wp\/v2\/pages\/227\/revisions\/300"}],"wp:attachment":[{"href":"https:\/\/kusaidiacharityinc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}