{"id":760,"date":"2025-09-06T13:16:45","date_gmt":"2025-09-06T13:16:45","guid":{"rendered":"https:\/\/sos.org.la\/?page_id=760"},"modified":"2025-09-07T06:16:10","modified_gmt":"2025-09-07T06:16:10","slug":"donation-test-4","status":"publish","type":"page","link":"https:\/\/sos.org.la\/lo\/donation-test-4\/","title":{"rendered":"Donation Test 4"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<!-- Add this CSS to your WordPress theme's Custom CSS or at the top of your page -->\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Noto+Sans+Lao:wght@400;600;700&display=swap');\n\n.donation-container { max-width: 1200px; margin: 0 auto; padding: 30px 15px; }\n.donation-section { background: white; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); overflow: hidden; }\n.page-title { background: transparent; color: #48c8f5; padding: 15px 0; text-align: center; font-size: 1.8em; font-weight: bold; }\n.donation-content { padding: 40px; }\n.donation-form { max-width: 800px; margin: 0 auto; }\n.form-group { margin-bottom: 20px; }\n.form-row { display: flex; gap: 15px; margin-bottom: 20px; }\n.form-row .form-group { flex: 1; margin-bottom: 0; }\n.donation-form label { display: block; margin-bottom: 5px; font-weight: 600; color: #555; }\n.donation-form input, .donation-form select, .donation-form textarea {\n    width: 100%; padding: 12px; border: 2px solid #e0e0e0; border-radius: 6px;\n    font-size: 16px; transition: border-color 0.3s;\n}\n.donation-form input:focus, .donation-form select:focus, .donation-form textarea:focus {\n    outline: none; border-color: #48c8f5;\n}\n.donation-form textarea { resize: vertical; min-height: 80px; }\n.amount-input { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; }\n.amount-input input { width: 200px; text-align: center; font-weight: bold; font-size: 20px; }\n.currency-label { background: #48c8f5; color: white; padding: 15px 20px; border-radius: 6px; font-weight: bold; white-space: nowrap; }\n.donate-button {\n    width: 100%; padding: 18px; background: linear-gradient(135deg, #ea536b, #d73e57);\n    color: white; border: none; border-radius: 8px; font-size: 18px; font-weight: bold;\n    cursor: pointer; text-transform: uppercase; letter-spacing: 1px;\n    transition: all 0.3s;\n}\n.donate-button:hover {\n    background: linear-gradient(135deg, #d73e57, #c32944);\n    transform: translateY(-2px);\n    box-shadow: 0 4px 15px rgba(234, 83, 107, 0.3);\n}\n.donate-button:disabled { background: #95a5a6; cursor: not-allowed; box-shadow: none; }\n\n.organization-toggle {\n    background: #e8f4f8;\n    padding: 15px;\n    border-radius: 8px;\n    margin-bottom: 20px;\n}\n\n.organization-toggle label {\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    cursor: pointer;\n    font-weight: normal;\n    justify-content: flex-start;\n    text-align: left;\n}\n\n.address-type-selection {\n    background: #f8f9fa;\n    padding: 15px;\n    border-radius: 8px;\n    margin-bottom: 15px;\n    display: flex;\n    gap: 20px;\n    align-items: center;\n}\n\n.address-type-selection label {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    cursor: pointer;\n    font-weight: normal;\n    margin-bottom: 0;\n    white-space: nowrap;\n}\n\n.address-type-selection input[type=\"radio\"] {\n    width: auto;\n    margin: 0;\n    padding: 0;\n}\n\n.address-fields {\n    display: none;\n    margin-top: 15px;\n}\n\n.address-fields.active {\n    display: block;\n}\n\n.error-message {\n    background: #ff4757;\n    color: white;\n    padding: 10px;\n    border-radius: 6px;\n    margin-bottom: 20px;\n    display: none;\n}\n\n.success-message {\n    background: #2ed573;\n    color: white;\n    padding: 10px;\n    border-radius: 6px;\n    margin-bottom: 20px;\n    display: none;\n}\n\n\/* FX START - USD conversion styling *\/\n.usd-conversion-container {\n    background: #f8f9fa;\n    border: 1px solid #e9ecef;\n    border-radius: 8px;\n    padding: 15px;\n    margin-top: 15px;\n}\n\n.usd-quick-buttons {\n    display: flex;\n    gap: 10px;\n    justify-content: center;\n    margin-bottom: 15px;\n    flex-wrap: wrap;\n}\n\n.usd-button {\n    background: linear-gradient(135deg, #48c8f5, #3aa8d1);\n    color: white;\n    border: none;\n    border-radius: 6px;\n    padding: 8px 16px;\n    font-size: 14px;\n    font-weight: 600;\n    cursor: pointer;\n    transition: all 0.3s;\n    min-width: 60px;\n}\n\n.usd-button:hover {\n    background: linear-gradient(135deg, #3aa8d1, #2b8fb5);\n    transform: translateY(-1px);\n    box-shadow: 0 2px 8px rgba(72, 200, 245, 0.3);\n}\n\n.exchange-rate-info {\n    font-size: 12px;\n    color: #666;\n    text-align: center;\n    margin-bottom: 10px;\n    line-height: 1.4;\n}\n\n.usd-equivalent-display {\n    font-size: 14px;\n    color: #48c8f5;\n    text-align: center;\n    font-weight: 600;\n}\n\n.rate-error {\n    color: #e74c3c;\n    font-size: 12px;\n    text-align: center;\n    margin-bottom: 10px;\n}\n\/* FX END *\/\n\n@media (max-width: 768px) {\n    .form-row { flex-direction: column; gap: 0; }\n    .amount-input { flex-direction: column; }\n    .usd-quick-buttons { justify-content: center; }\n    .usd-button { min-width: 50px; padding: 6px 12px; font-size: 13px; }\n}\n<\/style>\n\n<!-- HTML Content for WordPress Page -->\n<div class=\"donation-container\">\n    <div class=\"donation-section\">\n        <div class=\"page-title\">\n            \u0e82\u0ec9\u0eb2\u0e9e\u0eb0\u0ec0\u0e88\u0ebb\u0ec9\u0eb2\u0ea2\u0eb2\u0e81\u0ea1\u0eb5\u0eaa\u0ec8\u0ea7\u0e99\u0eae\u0ec8\u0ea7\u0ea1\u0ec3\u0e99\u0e81\u0eb2\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81\n        <\/div>\n        <div class=\"donation-content\">\n            <div id=\"errorMessage\" class=\"error-message\"><\/div>\n            <div id=\"successMessage\" class=\"success-message\"><\/div>\n            \n            <form id=\"donationForm\" class=\"donation-form\">\n                <div class=\"amount-input\">\n                    <div class=\"currency-label\">\u0e88\u0eb3\u0e99\u0ea7\u0e99\u0ec0\u0e87\u0eb4\u0e99 (\u0e81\u0eb5\u0e9a)<\/div>\n                    <input type=\"number\" id=\"donationAmount\" value=\"0\" min=\"5000\" required> \u0e82\u0eb1\u0ec9\u0e99\u0e95\u0ec8\u0eb3 50,000 \u0e81\u0eb5\u0e9a\n                <\/div>\n\n                <!-- FX START - USD conversion section -->\n                <div class=\"usd-conversion-container\">\n                    <div class=\"usd-quick-buttons\">\n                        <button type=\"button\" class=\"usd-button\" data-usd=\"10\">$10<\/button>\n                        <button type=\"button\" class=\"usd-button\" data-usd=\"50\">$50<\/button>\n                        <button type=\"button\" class=\"usd-button\" data-usd=\"100\">$100<\/button>\n                        <button type=\"button\" class=\"usd-button\" data-usd=\"150\">$150<\/button>\n                        <button type=\"button\" class=\"usd-button\" data-usd=\"200\">$200<\/button>\n                    <\/div>\n                    <div id=\"exchangeRateInfo\" class=\"exchange-rate-info\">Loading exchange rate&#8230;<\/div>\n                    <div id=\"usdEquivalentDisplay\" class=\"usd-equivalent-display\"><\/div>\n                <\/div>\n                <!-- FX END -->\n\n                <div class=\"form-row\">\n                    <div class=\"form-group\">\n                        <label for=\"firstName\">\u0e8a\u0eb7\u0ec8\u0ec1\u0e97\u0ec9* \u0e95\u0ec9\u0ead\u0e87\u0ec0\u0e9b\u0eb1\u0e99\u0e9e\u0eb2\u0eaa\u0eb2\u0ead\u0eb1\u0e87\u0e81\u0eb4\u0e94<\/label>\n                        <input type=\"text\" id=\"firstName\" required>\n                    <\/div>\n                    <div class=\"form-group\">\n                        <label for=\"lastName\">\u0e99\u0eb2\u0ea1\u0eaa\u0eb0\u0e81\u0eb8\u0e99* \u0e95\u0ec9\u0ead\u0e87\u0ec0\u0e9b\u0eb1\u0e99\u0e9e\u0eb2\u0eaa\u0eb2\u0ead\u0eb1\u0e87\u0e81\u0eb4\u0e94<\/label>\n                        <input type=\"text\" id=\"lastName\" required>\n                    <\/div>\n                <\/div>\n\n                <div class=\"form-row\">\n                    <div class=\"form-group\">\n                        <label for=\"title\">\u0e84\u0eb3\u0e99\u0eb3\u0eab\u0e99\u0ec9\u0eb2\u0e8a\u0eb7\u0ec8*<\/label>\n                        <select id=\"title\" required>\n                            <option value=\"\">\u0ec0\u0ea5\u0eb7\u0ead\u0e81\u0e84\u0eb3\u0e99\u0eb3\u0eab\u0e99\u0ec9\u0eb2\u0e8a\u0eb7\u0ec8<\/option>\n                            <option value=\"mr\">Mr.<\/option>\n                            <option value=\"ms\">Ms.<\/option>\n                            <option value=\"mrs\">Mrs.<\/option>\n                            <option value=\"dr\">Dr.<\/option>\n                        <\/select>\n                    <\/div>\n                    <div class=\"form-group\">\n                        <label for=\"dateOfBirth\">\u0ea7\u0eb1\u0e99\u0e97\u0eb5\u0ec8\u0ec0\u0e81\u0eb5\u0e94*<\/label>\n                        <input type=\"date\" id=\"dateOfBirth\" required max=\"2023-12-31\" min=\"1900-01-01\">\n                    <\/div>\n                <\/div>\n\n                <div class=\"form-group\">\n                    <label for=\"phone\">\u0ec0\u0e9a\u0eb5\u0ec2\u0e97*<\/label>\n                    <input type=\"tel\" id=\"phone\" required>\n                <\/div>\n\n                <div class=\"form-group\">\n                    <label for=\"email\">\u0ead\u0eb5\u0ec0\u0ea1\u0ea7*<\/label>\n                    <input type=\"email\" id=\"email\" required>\n                <\/div>\n\n                <div class=\"form-group\">\n                    <label>\u0e97\u0eb5\u0ec8\u0ea2\u0eb9\u0ec8<\/label>\n                    <div class=\"address-type-selection\">\n                        <label>\n                            <input type=\"radio\" name=\"addressType\" value=\"lao\" checked>\n                            \u0ea5\u0eb2\u0ea7\n                        <\/label>\n                        <label>\n                            <input type=\"radio\" name=\"addressType\" value=\"foreigner\">\n                            \u0e95\u0ec8\u0eb2\u0e87\u0e8a\u0eb2\u0e94\n                        <\/label>\n                    <\/div>\n                    \n                    <div id=\"laoAddressFields\" class=\"address-fields active\">\n                        <div class=\"form-row\">\n                            <div class=\"form-group\">\n                                <label for=\"province\">\u0ec1\u0e82\u0ea7\u0e87<\/label>\n                                <select id=\"province\">\n                                    <option value=\"\">\u0ec0\u0ea5\u0eb7\u0ead\u0e81\u0ec1\u0e82\u0ea7\u0e87<\/option>\n                                <\/select>\n                            <\/div>\n                            <div class=\"form-group\">\n                                <label for=\"district\">\u0ec0\u0ea1\u0eb7\u0ead\u0e87<\/label>\n                                <select id=\"district\" disabled>\n                                    <option value=\"\">\u0ec0\u0ea5\u0eb7\u0ead\u0e81\u0ec0\u0ea1\u0eb7\u0ead\u0e87<\/option>\n                                <\/select>\n                            <\/div>\n                        <\/div>\n                        <div class=\"form-group\">\n                            <label for=\"village\">\u0e9a\u0ec9\u0eb2\u0e99<\/label>\n                            <input type=\"text\" id=\"village\" placeholder=\"\u0e9b\u0ec9\u0ead\u0e99\u0e8a\u0eb7\u0ec8\u0e9a\u0ec9\u0eb2\u0e99\">\n                        <\/div>\n                    <\/div>\n                    \n                    <div id=\"foreignerAddressFields\" class=\"address-fields\">\n                        <div class=\"form-group\">\n                            <label for=\"country\">\u0e9b\u0eb0\u0ec0\u0e97\u0e94<\/label>\n                            <!-- COUNTRY DROPDOWN START - Replace text input with select dropdown -->\n                            <select id=\"country\">\n                                <option value=\"\">Select country<\/option>\n                            <\/select>\n                            <!-- COUNTRY DROPDOWN END -->\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <div class=\"form-group\">\n                    <label for=\"hearAbout\">\u0e97\u0ec8\u0eb2\u0e99\u0eae\u0eb9\u0ec9\u0e88\u0eb1\u0e81\u0e9e\u0ea7\u0e81\u0ec0\u0eae\u0ebb\u0eb2\u0ec4\u0e94\u0ec9\u0ec1\u0e99\u0ea7\u0ec3\u0e94?<\/label>\n                    <select id=\"hearAbout\">\n                        <option value=\"\">\u0e81\u0eb0\u0ea5\u0eb8\u0e99\u0eb2\u0ec0\u0ea5\u0eb7\u0ead\u0e81<\/option>\n                        <option value=\"Google\">Google<\/option>\n                        <option value=\"Email\">Email<\/option>\n                        <option value=\"Facebook\">Facebook<\/option>\n                        <option value=\"Instagram\">Instagram<\/option>\n                        <option value=\"Line\">Line<\/option>\n                        <option value=\"Tiktok\">Tiktok<\/option>\n                        <option value=\"other\">\u0ead\u0eb7\u0ec8\u0e99\u0ec6<\/option>\n                    <\/select>\n                <\/div>\n\n                <button type=\"submit\" class=\"donate-button\">\u2665 Donate<\/button>\n            <\/form>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- JavaScript - PRODUCTION READY VERSION -->\n<script>\n\/\/ Province and district data\nconst provincesData = `\"PROVINCE_ID\",\"PROVINCE_NAME\",\"PROVINCE_NAME_E\"\n\"01\",\"\u0e99\u0eb0\u0e84\u0ead\u0e99\u0eab\u0ebc\u0ea7\u0e87\u0ea7\u0ebd\u0e87\u0e88\u0eb1\u0e99\",\"Vientiane Capital\"\n\"02\",\"\u0e9c\u0ebb\u0ec9\u0e87\u0eaa\u0eb2\u0ea5\u0eb5\",\"Phongsaly\"\n\"03\",\"\u0eab\u0ebc\u0ea7\u0e87\u0e99\u0ec9\u0eb3\u0e97\u0eb2\",\"Luangnamtha\"\n\"04\",\"\u0ead\u0eb8\u0e94\u0ebb\u0ea1\u0ec4\u0e8a\",\"Oudomxay\"\n\"05\",\"\u0e9a\u0ecd\u0ec8\u0ec1\u0e81\u0ec9\u0ea7\",\"Bokeo\"\n\"06\",\"\u0eab\u0ebc\u0ea7\u0e87\u0e9e\u0eb0\u0e9a\u0eb2\u0e87\",\"Luangprabang\"\n\"07\",\"\u0eab\u0ebb\u0ea7\u0e9e\u0eb1\u0e99\",\"Huaphan\"\n\"08\",\"\u0ec4\u0e8a\u0e8d\u0eb0\u0e9a\u0eb9\u0ea5\u0eb5\",\"Xaiyabouly\"\n\"09\",\"\u0e8a\u0ebd\u0e87\u0e82\u0ea7\u0eb2\u0e87\",\"Xiengkhuang\"\n\"10\",\"\u0ea7\u0ebd\u0e87\u0e88\u0eb1\u0e99\",\"Vientiane\"\n\"11\",\"\u0e9a\u0ecd\u0ea5\u0eb4\u0e84\u0eb3\u0ec4\u0e8a\",\"Bolikhamxai\"\n\"12\",\"\u0e84\u0eb3\u0ea1\u0ec8\u0ea7\u0e99\",\"Khammuane\"\n\"13\",\"\u0eaa\u0eb0\u0eab\u0ea7\u0eb1\u0e99\u0e99\u0eb0\u0ec0\u0e82\u0e94\",\"Savannakhet\"\n\"14\",\"\u0eaa\u0eb2\u0ea5\u0eb0\u0ea7\u0eb1\u0e99\",\"Salavan\"\n\"15\",\"\u0ec0\u0e8a\u0e81\u0ead\u0e87\",\"Sekong\"\n\"16\",\"\u0e88\u0eb3\u0e9b\u0eb2\u0eaa\u0eb1\u0e81\",\"Champasak\"\n\"17\",\"\u0ead\u0eb1\u0e94\u0e95\u0eb0\u0e9b\u0eb7\",\"Attapeu\"\n\"18\",\"\u0ec4\u0e8a\u0eaa\u0ebb\u0ea1\u0e9a\u0eb9\u0e99\",\"Xaisomboun\"`;\n\nconst districtsData = `\"DISTRICT_ID\",\"DISTRICT_NAME\",\"DISTRICT_NAME_E\",\"PROVINCE_ID\",\"DISTRICT_TYPE_ID\"\n\"101\",\"\u0e88\u0eb1\u0e99\u0e97\u0eb0\u0e9a\u0eb9\u0ea5\u0eb5\",\"Chanthabuly\",\"01\",\"2\"\n\"102\",\"\u0eaa\u0eb5\u0ec2\u0e84\u0e94\u0e95\u0eb0\u0e9a\u0ead\u0e87\",\"Sikhottabong\",\"01\",\"2\"\n\"103\",\"\u0ec4\u0e8a\u0ec0\u0eaa\u0e94\u0e96\u0eb2\",\"Xaysettha\",\"01\",\"2\"\n\"104\",\"\u0eaa\u0eb5\u0eaa\u0eb1\u0e94\u0e95\u0eb0\u0e99\u0eb2\u0e81\",\"Sisattanak\",\"01\",\"2\"\n\"105\",\"\u0e99\u0eb2\u0e8a\u0eb2\u0e8d\u0e97\u0ead\u0e87\",\"Naxaythong\",\"01\",\"2\"\n\"106\",\"\u0ec4\u0e8a\u0e97\u0eb2\u0e99\u0eb5\",\"Xaythany\",\"01\",\"2\"\n\"107\",\"\u0eab\u0eb2\u0e94\u0e8a\u0eb2\u0e8d\u0e9f\u0ead\u0e87\",\"Hadxayfong\",\"01\",\"2\"\n\"108\",\"\u0eaa\u0eb1\u0e87\u0e97\u0ead\u0e87\",\"Sangthong\",\"01\",\"1\"\n\"109\",\"\u0e9b\u0eb2\u0e81\u0e87\u0eb7\u0ec8\u0ea1\",\"Pakngeum\",\"01\",\"2\"\n\"201\",\"\u0e9c\u0ebb\u0ec9\u0e87\u0eaa\u0eb2\u0ea5\u0eb5\",\"Phongsaly\",\"02\",\"3\"\n\"202\",\"\u0ec4\u0ea1\",\"Mai\",\"02\",\"3\"\n\"203\",\"\u0e82\u0ea7\u0eb2\",\"Khoua\",\"02\",\"3\"\n\"204\",\"\u0eaa\u0eb3\u0e9e\u0eb1\u0e99\",\"Samphan\",\"02\",\"3\"\n\"205\",\"\u0e9a\u0eb8\u0e99\u0ec0\u0edc\u0eb7\u0ead\",\"Boun Neua\",\"02\",\"3\"\n\"206\",\"\u0e8d\u0ead\u0e94\u0ead\u0eb9\",\"Yot Ou\",\"02\",\"3\"\n\"207\",\"\u0e9a\u0eb8\u0e99\u0ec4\u0e95\u0ec9\",\"Bountay\",\"02\",\"3\"\n\"301\",\"\u0e99\u0ec9\u0eb3\u0e97\u0eb2\",\"Louangnamtha\",\"03\",\"2\"\n\"302\",\"\u0eaa\u0eb4\u0e87\",\"Sing\",\"03\",\"2\"\n\"303\",\"\u0ea5\u0ead\u0e87\",\"Long\",\"03\",\"3\"\n\"304\",\"\u0ea7\u0ebd\u0e87\u0e9e\u0eb9\u0e84\u0eb2\",\"Viengphoukha\",\"03\",\"3\"\n\"305\",\"\u0e99\u0eb2\u0ec1\u0ea5\",\"Na Le\",\"03\",\"3\"\n\"401\",\"\u0ec4\u0e8a\",\"Xay\",\"04\",\"3\"\n\"402\",\"\u0eab\u0ebc\u0eb2\",\"La\",\"04\",\"3\"\n\"403\",\"\u0e99\u0eb2\u0ea1\u0ecd\u0ec9\",\"Namor\",\"04\",\"3\"\n\"404\",\"\u0e87\u0eb2\",\"Nga\",\"04\",\"3\"\n\"405\",\"\u0ec1\u0e9a\u0e87\",\"Beng\",\"04\",\"3\"\n\"406\",\"\u0eae\u0eb8\u0e99\",\"Houn\",\"04\",\"3\"\n\"407\",\"\u0e9b\u0eb2\u0e81\u0ec1\u0e9a\u0e87\",\"Pakbeng\",\"04\",\"3\"\n\"501\",\"\u0eab\u0ec9\u0ea7\u0e8d\u0e8a\u0eb2\u0e8d\",\"Houayxay\",\"05\",\"2\"\n\"502\",\"\u0e95\u0ebb\u0ec9\u0e99\u0ec0\u0e9c\u0eb4\u0ec9\u0e87\",\"Tonpheung\",\"05\",\"2\"\n\"503\",\"\u0ec0\u0ea1\u0eb4\u0e87\",\"Meung\",\"05\",\"3\"\n\"504\",\"\u0e9c\u0eb2\u0ead\u0eb8\u0e94\u0ebb\u0ea1\",\"Pha Oudom\",\"05\",\"3\"\n\"505\",\"\u0e9b\u0eb2\u0e81\u0e97\u0eb2\",\"Paktha\",\"05\",\"3\"\n\"601\",\"\u0eab\u0ebc\u0ea7\u0e87\u0e9e\u0eb0\u0e9a\u0eb2\u0e87\",\"Louangprabang\",\"06\",\"2\"\n\"602\",\"\u0e8a\u0ebd\u0e87\u0ec0\u0e87\u0eb4\u0e99\",\"Xiengngeun\",\"06\",\"2\"\n\"603\",\"\u0e99\u0eb2\u0e99\",\"Nan\",\"06\",\"2\"\n\"604\",\"\u0e9b\u0eb2\u0e81\u0ead\u0eb9\",\"PakOu\",\"06\",\"2\"\n\"605\",\"\u0e99\u0ec9\u0eb3\u0e9a\u0eb2\u0e81\",\"Nambak\",\"06\",\"2\"\n\"701\",\"\u0e8a\u0eb3\u0ec0\u0edc\u0eb7\u0ead\",\"Xamneua\",\"07\",\"3\"\n\"702\",\"\u0e8a\u0ebd\u0e87\u0e84\u0ecd\u0ec9\",\"Xiengkhor\",\"07\",\"3\"\n\"703\",\"\u0eae\u0ebd\u0ea1 (\u0ea7\u0ebd\u0e87\u0e97\u0ead\u0e87)\",\"Hiam (Viengthong)\",\"07\",\"3\"\n\"704\",\"\u0ea7\u0ebd\u0e87\u0ec4\u0e8a\",\"Viengxay\",\"07\",\"3\"\n\"705\",\"\u0eab\u0ebb\u0ea7\u0ec0\u0ea1\u0eb7\u0ead\u0e87\",\"Huameuang\",\"07\",\"3\"\n\"801\",\"\u0ec4\u0e8a\u0e8d\u0eb0\u0e9a\u0eb9\u0ea5\u0eb5\",\"Xaiyaboury\",\"08\",\"2\"\n\"802\",\"\u0e84\u0ead\u0e9a\",\"Khop\",\"08\",\"1\"\n\"803\",\"\u0eab\u0ebb\u0e87\u0eaa\u0eb2\",\"Hongsa\",\"08\",\"1\"\n\"804\",\"\u0ec0\u0e87\u0eb4\u0e99\",\"Ngeun\",\"08\",\"1\"\n\"805\",\"\u0e8a\u0ebd\u0e87\u0eae\u0ec8\u0ead\u0e99\",\"Xienghone\",\"08\",\"1\"\n\"901\",\"\u0ec1\u0e9b\u0e81\",\"Pek\",\"09\",\"1\"\n\"902\",\"\u0e84\u0eb3\",\"Kham\",\"09\",\"1\"\n\"903\",\"\u0edc\u0ead\u0e87\u0ec1\u0eae\u0e94\",\"Nonghet\",\"09\",\"3\"\n\"904\",\"\u0e84\u0eb9\u0e99\",\"Khoun\",\"09\",\"1\"\n\"905\",\"\u0edd\u0ead\u0e81\u0ec4\u0ea1\u0ec9\",\"Morkmai\",\"09\",\"2\"\n\"1001\",\"\u0ec2\u0e9e\u0e99\u0ec2\u0eae\u0e87\",\"Phonhong\",\"10\",\"2\"\n\"1002\",\"\u0e97\u0eb8\u0ea5\u0eb0\u0e84\u0ebb\u0ea1\",\"Thoulakhom\",\"10\",\"2\"\n\"1003\",\"\u0ec1\u0e81\u0ec9\u0ea7\u0ead\u0eb8\u0e94\u0ebb\u0ea1\",\"Keo Oudom\",\"10\",\"2\"\n\"1004\",\"\u0e81\u0eb2\u0eaa\u0eb5\",\"Kasy\",\"10\",\"2\"\n\"1005\",\"\u0ea7\u0eb1\u0e87\u0ea7\u0ebd\u0e87\",\"Vangvieng\",\"10\",\"2\"\n\"1101\",\"\u0e9b\u0eb2\u0e81\u0e8a\u0eb1\u0e99\",\"Pakxan\",\"11\",\"2\"\n\"1102\",\"\u0e97\u0ec8\u0eb2\u0e9e\u0eb0\u0e9a\u0eb2\u0e94\",\"Thaphabath\",\"11\",\"2\"\n\"1103\",\"\u0e9b\u0eb2\u0e81\u0e81\u0eb0\u0e94\u0eb4\u0e87\",\"Pakkading\",\"11\",\"2\"\n\"1104\",\"\u0e9a\u0ecd\u0ea5\u0eb4\u0e84\u0eb1\u0e99\",\"Bolikhan\",\"11\",\"1\"\n\"1105\",\"\u0e84\u0eb3\u0ec0\u0e81\u0eb5\u0e94\",\"Khamkeuth\",\"11\",\"1\"\n\"1201\",\"\u0e97\u0ec8\u0eb2\u0ec1\u0e82\u0e81\",\"Thakhek\",\"12\",\"2\"\n\"1202\",\"\u0ea1\u0eb0\u0eab\u0eb2\u0ec4\u0e8a\",\"Mahaxay\",\"12\",\"1\"\n\"1203\",\"\u0edc\u0ead\u0e87\u0e9a\u0ebb\u0e81\",\"Nongbok\",\"12\",\"2\"\n\"1204\",\"\u0eab\u0eb5\u0e99\u0e9a\u0eb9\u0e99\",\"Hinboon\",\"12\",\"2\"\n\"1205\",\"\u0e8d\u0ebb\u0ea1\u0ea1\u0eb0\u0ea5\u0eb2\u0e94\",\"Yommalath\",\"12\",\"1\"\n\"1301\",\"\u0ec4\u0e81\u0eaa\u0ead\u0e99\u0e9e\u0ebb\u0ea1\u0ea7\u0eb4\u0eab\u0eb2\u0e99\",\"Kaisonephomvihane\",\"13\",\"0\"\n\"1302\",\"\u0ead\u0eb8\u0e97\u0eb8\u0ea1\u0e9e\u0ead\u0e99\",\"Outhoumphone\",\"13\",\"0\"\n\"1303\",\"\u0ead\u0eb2\u0e94\u0eaa\u0eb0\u0e9e\u0eb1\u0e87\u0e97\u0ead\u0e87\",\"Adsaphangthong\",\"13\",\"0\"\n\"1304\",\"\u0e9e\u0eb5\u0e99\",\"Phin\",\"13\",\"0\"\n\"1305\",\"\u0ec0\u0e8a\u0ec2\u0e9b\u0e99\",\"Sepone\",\"13\",\"0\"\n\"1401\",\"\u0eaa\u0eb2\u0ea5\u0eb0\u0ea7\u0eb1\u0e99\",\"Salavan\",\"14\",\"0\"\n\"1402\",\"\u0e95\u0eb0\u0ec2\u0ead\u0ec9\",\"Ta Oy\",\"14\",\"0\"\n\"1403\",\"\u0e95\u0eb8\u0ec9\u0ea1\u0ea5\u0eb2\u0e99\",\"Toumlan\",\"14\",\"0\"\n\"1404\",\"\u0ea5\u0eb0\u0e84\u0ead\u0e99\u0ec0\u0e9e\u0eb1\u0e87\",\"Lakhonepheng\",\"14\",\"0\"\n\"1501\",\"\u0ea5\u0eb0\u0ea1\u0eb2\u0ea1\",\"La Mam\",\"15\",\"0\"\n\"1502\",\"\u0e81\u0eb0\u0ea5\u0eb6\u0ea1\",\"Kaleum\",\"15\",\"0\"\n\"1503\",\"\u0e94\u0eb2\u0e81\u0e88\u0eb6\u0e87\",\"Dakcheung\",\"15\",\"0\"\n\"1504\",\"\u0e97\u0ec8\u0eb2\u0ec1\u0e95\u0e87\",\"Thateng\",\"15\",\"0\"\n\"1601\",\"\u0e9b\u0eb2\u0e81\u0ec0\u0e8a\",\"Pakse\",\"16\",\"0\"\n\"1602\",\"\u0e8a\u0eb0\u0e99\u0eb0\u0eaa\u0ebb\u0ea1\u0e9a\u0eb9\u0e99\",\"Xanasomboun\",\"16\",\"0\"\n\"1603\",\"\u0e9a\u0eb2\u0e88\u0ebd\u0e87\u0e88\u0eb0\u0ec0\u0ea5\u0eb5\u0e99\u0eaa\u0eb8\u0e81\",\"Bachiengchaleunsouk\",\"16\",\"0\"\n\"1604\",\"\u0e9b\u0eb2\u0e81\u0e8a\u0ec8\u0ead\u0e87\",\"Paksong\",\"16\",\"0\"\n\"1605\",\"\u0e9b\u0eb0\u0e97\u0eb8\u0ea1\u0e9e\u0ead\u0e99\",\"Pathoumphone\",\"16\",\"0\"\n\"1701\",\"\u0ec4\u0e8a\u0ec0\u0eaa\u0e94\u0e96\u0eb2\",\"Xaysettha\",\"17\",\"0\"\n\"1702\",\"\u0eaa\u0eb2\u0ea1\u0eb1\u0e81\u0e84\u0eb5\u0ec4\u0e8a\",\"Samakhixay\",\"17\",\"0\"\n\"1703\",\"\u0eaa\u0eb0\u0e99\u0eb2\u0ea1\u0ec4\u0e8a\",\"Sanamxay\",\"17\",\"0\"\n\"1704\",\"\u0e8a\u0eb2\u0e99\u0ec4\u0e8a\",\"Sanxay\",\"17\",\"1\"\n\"1705\",\"\u0e9e\u0eb9\u0ea7\u0ebb\u0e87\",\"Phouvong\",\"17\",\"0\"\n\"1801\",\"\u0ead\u0eb0\u0e99\u0eb8\u0ea7\u0ebb\u0e87\",\"Anouvong\",\"18\",\"3\"\n\"1802\",\"\u0e97\u0ec8\u0eb2\u0ec2\u0e97\u0ea1\",\"Tha Thome\",\"18\",\"3\"\n\"1803\",\"\u0ea5\u0ec9\u0ead\u0e87\u0ec1\u0e88\u0ec9\u0e87\",\"Longchang\",\"18\",\"3\"\n\"1804\",\"\u0eae\u0ebb\u0ec8\u0ea1\",\"Hom\",\"18\",\"3\"\n\"1805\",\"\u0ea5\u0ec9\u0ead\u0e87\u0e8a\u0eb2\u0e99\",\"Longsan\",\"18\",\"3\"`;\n\n\/\/ COUNTRY DROPDOWN START - ISO-3166 countries list\nconst countriesList = [\n    \"Afghanistan\", \"Albania\", \"Algeria\", \"Andorra\", \"Angola\", \"Antigua and Barbuda\", \"Argentina\", \"Armenia\", \"Australia\", \"Austria\",\n    \"Azerbaijan\", \"Bahamas\", \"Bahrain\", \"Bangladesh\", \"Barbados\", \"Belarus\", \"Belgium\", \"Belize\", \"Benin\", \"Bhutan\",\n    \"Bolivia\", \"Bosnia and Herzegovina\", \"Botswana\", \"Brazil\", \"Brunei\", \"Bulgaria\", \"Burkina Faso\", \"Burundi\", \"Cabo Verde\", \"Cambodia\",\n    \"Cameroon\", \"Canada\", \"Central African Republic\", \"Chad\", \"Chile\", \"China\", \"Colombia\", \"Comoros\", \"Congo\", \"Costa Rica\",\n    \"Croatia\", \"Cuba\", \"Cyprus\", \"Czech Republic\", \"Democratic Republic of the Congo\", \"Denmark\", \"Djibouti\", \"Dominica\", \"Dominican Republic\", \"Ecuador\",\n    \"Egypt\", \"El Salvador\", \"Equatorial Guinea\", \"Eritrea\", \"Estonia\", \"Eswatini\", \"Ethiopia\", \"Fiji\", \"Finland\", \"France\",\n    \"Gabon\", \"Gambia\", \"Georgia\", \"Germany\", \"Ghana\", \"Greece\", \"Grenada\", \"Guatemala\", \"Guinea\", \"Guinea-Bissau\",\n    \"Guyana\", \"Haiti\", \"Honduras\", \"Hungary\", \"Iceland\", \"India\", \"Indonesia\", \"Iran\", \"Iraq\", \"Ireland\",\n    \"Israel\", \"Italy\", \"Jamaica\", \"Japan\", \"Jordan\", \"Kazakhstan\", \"Kenya\", \"Kiribati\", \"Kuwait\", \"Kyrgyzstan\",\n    \"Laos\", \"Latvia\", \"Lebanon\", \"Lesotho\", \"Liberia\", \"Libya\", \"Liechtenstein\", \"Lithuania\", \"Luxembourg\", \"Madagascar\",\n    \"Malawi\", \"Malaysia\", \"Maldives\", \"Mali\", \"Malta\", \"Marshall Islands\", \"Mauritania\", \"Mauritius\", \"Mexico\", \"Micronesia\",\n    \"Moldova\", \"Monaco\", \"Mongolia\", \"Montenegro\", \"Morocco\", \"Mozambique\", \"Myanmar\", \"Namibia\", \"Nauru\", \"Nepal\",\n    \"Netherlands\", \"New Zealand\", \"Nicaragua\", \"Niger\", \"Nigeria\", \"North Korea\", \"North Macedonia\", \"Norway\", \"Oman\", \"Pakistan\",\n    \"Palau\", \"Palestine\", \"Panama\", \"Papua New Guinea\", \"Paraguay\", \"Peru\", \"Philippines\", \"Poland\", \"Portugal\", \"Qatar\",\n    \"Romania\", \"Russia\", \"Rwanda\", \"Saint Kitts and Nevis\", \"Saint Lucia\", \"Saint Vincent and the Grenadines\", \"Samoa\", \"San Marino\", \"Sao Tome and Principe\", \"Saudi Arabia\",\n    \"Senegal\", \"Serbia\", \"Seychelles\", \"Sierra Leone\", \"Singapore\", \"Slovakia\", \"Slovenia\", \"Solomon Islands\", \"Somalia\", \"South Africa\",\n    \"South Korea\", \"South Sudan\", \"Spain\", \"Sri Lanka\", \"Sudan\", \"Suriname\", \"Sweden\", \"Switzerland\", \"Syria\", \"Taiwan\",\n    \"Tajikistan\", \"Tanzania\", \"Thailand\", \"Timor-Leste\", \"Togo\", \"Tonga\", \"Trinidad and Tobago\", \"Tunisia\", \"Turkey\", \"Turkmenistan\",\n    \"Tuvalu\", \"Uganda\", \"Ukraine\", \"United Arab Emirates\", \"United Kingdom\", \"United States\", \"Uruguay\", \"Uzbekistan\", \"Vanuatu\", \"Vatican City\",\n    \"Venezuela\", \"Vietnam\", \"Yemen\", \"Zambia\", \"Zimbabwe\"\n];\n\/\/ COUNTRY DROPDOWN END\n\n\/\/ FX START - Exchange rate variables and functions\nlet cachedExchangeRate = 22000; \/\/ Default fallback rate\nlet effectiveExchangeRate = cachedExchangeRate + 80;\nlet lastUpdateTime = null;\nlet debounceTimer = null;\n\n\/\/ Fetch exchange rate from APIs with fallback\nasync function fetchExchangeRate() {\n    const rateInfoElement = document.getElementById('exchangeRateInfo');\n    \n    try {\n        \/\/ Try primary API first\n        let response = await fetch('https:\/\/api.exchangerate.host\/latest?base=USD&symbols=LAK');\n        let data = await response.json();\n        \n        if (!data.rates || !data.rates.LAK) {\n            throw new Error('Primary API failed');\n        }\n        \n        cachedExchangeRate = Math.round(data.rates.LAK);\n    } catch (error) {\n        try {\n            \/\/ Fallback to secondary API\n            let response = await fetch('https:\/\/open.er-api.com\/v6\/latest\/USD');\n            let data = await response.json();\n            \n            if (!data.rates || !data.rates.LAK) {\n                throw new Error('Secondary API failed');\n            }\n            \n            cachedExchangeRate = Math.round(data.rates.LAK);\n        } catch (fallbackError) {\n            \/\/ Both APIs failed, show error message but keep form functional\n            rateInfoElement.innerHTML = '<span class=\"rate-error\">Rate unavailable; enter amount manually<\/span>';\n            return;\n        }\n    }\n    \n    \/\/ Calculate effective rate (fetched rate + 80)\n    effectiveExchangeRate = cachedExchangeRate + 80;\n    lastUpdateTime = new Date();\n    \n    \/\/ Update rate display\n    const timeString = lastUpdateTime.toLocaleTimeString('en-US', {\n        hour12: false, \n        hour: '2-digit', \n        minute: '2-digit'\n    });\n    rateInfoElement.textContent = `Rate used: 1 USD = ${effectiveExchangeRate.toLocaleString()} LAK updated time ${timeString}`;\n    \n    \/\/ Update USD equivalent if there's already an amount\n    updateUSDEquivalentFromKip();\n}\n\n\/\/ Update Kip amount and USD display when USD button is clicked\nfunction updateAmountsFromUSD(usdAmount) {\n    const kipAmount = Math.round(usdAmount * effectiveExchangeRate);\n    const donationInput = document.getElementById('donationAmount');\n    const usdDisplay = document.getElementById('usdEquivalentDisplay');\n    \n    donationInput.value = kipAmount;\n    usdDisplay.textContent = `\u2248 $${usdAmount.toFixed(2)}`;\n}\n\n\/\/ Update USD equivalent when Kip amount is manually entered\nfunction updateUSDEquivalentFromKip() {\n    const donationInput = document.getElementById('donationAmount');\n    const usdDisplay = document.getElementById('usdEquivalentDisplay');\n    \n    const kipAmount = parseInt(donationInput.value) || 0;\n    if (kipAmount > 0) {\n        const usdEquivalent = kipAmount \/ effectiveExchangeRate;\n        usdDisplay.textContent = `\u2248 $${usdEquivalent.toFixed(2)}`;\n    } else {\n        usdDisplay.textContent = '';\n    }\n}\n\n\/\/ Debounced input handler for manual Kip entry\nfunction handleKipInputChange() {\n    clearTimeout(debounceTimer);\n    debounceTimer = setTimeout(updateUSDEquivalentFromKip, 250);\n}\n\/\/ FX END\n\n\/\/ Parse CSV data\nfunction parseCSV(csvText) {\n    const lines = csvText.trim().split('\\n');\n    const headers = lines[0].split(',').map(h => h.replace(\/\"\/g, ''));\n    const data = [];\n    \n    for (let i = 1; i < lines.length; i++) {\n        const values = lines[i].split(',').map(v => v.replace(\/\"\/g, ''));\n        const row = {};\n        headers.forEach((header, index) => {\n            row[header] = values[index];\n        });\n        data.push(row);\n    }\n    \n    return data;\n}\n\nconst provinces = parseCSV(provincesData);\nconst districts = parseCSV(districtsData);\n\n\/\/ Generate unique transaction code\nfunction generateTransactionCode() {\n    const timestamp = new Date().getTime();\n    const random = Math.floor(Math.random() * 10000);\n    return 'SOS_' + timestamp + '_' + random;\n}\n\n\/\/ Show error message\nfunction showError(message) {\n    const errorDiv = document.getElementById('errorMessage');\n    if (errorDiv) {\n        errorDiv.textContent = message;\n        errorDiv.style.display = 'block';\n        setTimeout(() => errorDiv.style.display = 'none', 5000);\n    }\n}\n\n\/\/ Show success message\nfunction showSuccess(message) {\n    const successDiv = document.getElementById('successMessage');\n    if (successDiv) {\n        successDiv.textContent = message;\n        successDiv.style.display = 'block';\n        setTimeout(() => successDiv.style.display = 'none', 3000);\n    }\n}\n\n\/\/ COUNTRY DROPDOWN START - Initialize country dropdown\nfunction initializeCountryDropdown() {\n    const countrySelect = document.getElementById('country');\n    if (!countrySelect) return;\n    \n    \/\/ Populate countries dropdown\n    countriesList.forEach(country => {\n        const option = document.createElement('option');\n        option.value = country;\n        option.textContent = country;\n        countrySelect.appendChild(option);\n    });\n}\n\/\/ COUNTRY DROPDOWN END\n\n\/\/ Initialize address fields (provinces and districts)\nfunction initializeAddressFields() {\n    const provinceSelect = document.getElementById('province');\n    const districtSelect = document.getElementById('district');\n    \n    if (!provinceSelect || !districtSelect) {\n        console.error('Province or District select not found!');\n        return;\n    }\n    \n    \/\/ Populate provinces\n    provinces.forEach(province => {\n        const option = document.createElement('option');\n        option.value = province.PROVINCE_ID;\n        option.textContent = province.PROVINCE_NAME;\n        provinceSelect.appendChild(option);\n    });\n    \n    \/\/ Handle province change\n    provinceSelect.addEventListener('change', function() {\n        const selectedProvinceId = this.value;\n        districtSelect.innerHTML = '<option value=\"\">\u0ec0\u0ea5\u0eb7\u0ead\u0e81\u0ec0\u0ea1\u0eb7\u0ead\u0e87<\/option>';\n        \n        if (selectedProvinceId) {\n            \/\/ Filter districts by province\n            const provinceDistricts = districts.filter(district => \n                district.PROVINCE_ID === selectedProvinceId\n            );\n            \n            provinceDistricts.forEach(district => {\n                const option = document.createElement('option');\n                option.value = district.DISTRICT_ID;\n                option.textContent = district.DISTRICT_NAME;\n                districtSelect.appendChild(option);\n            });\n            \n            districtSelect.disabled = false;\n        } else {\n            districtSelect.disabled = true;\n        }\n    });\n}\n\n\/\/ Handle address type selection\nfunction initializeAddressTypeHandlers() {\n    const addressTypeRadios = document.querySelectorAll('input[name=\"addressType\"]');\n    const laoFields = document.getElementById('laoAddressFields');\n    const foreignerFields = document.getElementById('foreignerAddressFields');\n    \n    addressTypeRadios.forEach(radio => {\n        radio.addEventListener('change', function() {\n            if (this.value === 'lao') {\n                laoFields.classList.add('active');\n                foreignerFields.classList.remove('active');\n            } else {\n                laoFields.classList.remove('active');\n                foreignerFields.classList.add('active');\n            }\n        });\n    });\n}\n\n\/\/ FX START - Initialize USD conversion functionality\nfunction initializeUSDConversion() {\n    \/\/ Add event listeners to USD quick-select buttons\n    const usdButtons = document.querySelectorAll('.usd-button');\n    usdButtons.forEach(button => {\n        button.addEventListener('click', function() {\n            const usdAmount = parseFloat(this.dataset.usd);\n            updateAmountsFromUSD(usdAmount);\n        });\n    });\n    \n    \/\/ Add debounced input listener to Kip amount field\n    const donationInput = document.getElementById('donationAmount');\n    if (donationInput) {\n        donationInput.addEventListener('input', handleKipInputChange);\n    }\n    \n    \/\/ Fetch initial exchange rate\n    fetchExchangeRate();\n    \n    \/\/ Refresh exchange rate every 30 minutes\n    setInterval(fetchExchangeRate, 30 * 60 * 1000);\n}\n\/\/ FX END\n\n\/\/ Initialize when page loads\ndocument.addEventListener('DOMContentLoaded', function() {\n    setTimeout(function() {\n        initializeAddressFields();\n        initializeAddressTypeHandlers();\n        initializeCountryDropdown(); \/\/ COUNTRY DROPDOWN START\/END\n        initializeUSDConversion(); \/\/ FX START\/END\n    }, 100);\n});\n\n\/\/ PRODUCTION FORM SUBMISSION HANDLER\ndocument.addEventListener('DOMContentLoaded', function() {\n    const donationForm = document.getElementById('donationForm');\n    \n    if (donationForm) {\n        donationForm.addEventListener('submit', function(e) {\n            e.preventDefault();\n\n            const submitBtn = document.querySelector('.donate-button');\n            submitBtn.innerText = '\ud83d\udd04 \u0e81\u0eb3\u0ea5\u0eb1\u0e87\u0e94\u0eb3\u0ec0\u0e99\u0eb5\u0e99\u0e81\u0eb2\u0e99...';\n            submitBtn.disabled = true;\n\n            \/\/ Collect form data\n            const amount = parseInt(document.getElementById('donationAmount').value);\n            const firstName = document.getElementById('firstName').value.trim();\n            const lastName = document.getElementById('lastName').value.trim();\n            const phone = document.getElementById('phone').value.trim();\n            const email = document.getElementById('email').value.trim();\n            const title = document.getElementById('title').value;\n            const dateOfBirth = document.getElementById('dateOfBirth').value;\n            const hearAbout = document.getElementById('hearAbout').value;\n\n            \/\/ Get address based on selection\n            const addressType = document.querySelector('input[name=\"addressType\"]:checked').value;\n            const isLao = addressType === 'lao';\n            \n            let provinceId = null, provinceName = null, districtId = null, districtName = null, village = null, country = null;\n            \n            if (isLao) {\n                provinceId = document.getElementById('province').value;\n                districtId = document.getElementById('district').value;\n                village = document.getElementById('village').value.trim();\n                \n                \/\/ Get province and district names\n                const selectedProvince = provinces.find(p => p.PROVINCE_ID === provinceId);\n                const selectedDistrict = districts.find(d => d.DISTRICT_ID === districtId);\n                \n                provinceName = selectedProvince ? selectedProvince.PROVINCE_NAME : null;\n                districtName = selectedDistrict ? selectedDistrict.DISTRICT_NAME : null;\n            } else {\n                country = document.getElementById('country').value.trim();\n            }\n\n            \/\/ Basic validation\n            if (!amount || amount < 5000 || !firstName || !lastName || !phone || !email || !title || !dateOfBirth) {\n                showError('\u0e81\u0eb0\u0ea5\u0eb8\u0e99\u0eb2\u0e9b\u0ec9\u0ead\u0e99\u0e82\u0ecd\u0ec9\u0ea1\u0eb9\u0e99\u0ec3\u0eab\u0ec9\u0e84\u0ebb\u0e9a');\n                submitBtn.innerText = '\u2665 Donate';\n                submitBtn.disabled = false;\n                return;\n            }\n\n            \/\/ Generate transaction code\n            const transactionCode = generateTransactionCode();\n\n            \/\/ Prepare data for database\n            const formData = {\n                donation_amount: amount,\n                title: title,\n                first_name: firstName,\n                last_name: lastName,\n                date_of_birth: dateOfBirth,\n                phone: phone,\n                email: email,\n                address_type: addressType,\n                province_id: provinceId,\n                province_name: provinceName,\n                district_id: districtId,\n                district_name: districtName,\n                village: village,\n                country: country,\n                hear_about: hearAbout,\n                transaction_code: transactionCode,\n                description: 'SOS Children Villages Laos'\n            };\n\n            \/\/ Step 1: Save to database first (connects to your save_donation.php)\n            submitBtn.innerText = '\ud83d\udcbe \u0e81\u0eb3\u0ea5\u0eb1\u0e87\u0e9a\u0eb1\u0e99\u0e97\u0eb6\u0e81\u0e82\u0ecd\u0ec9\u0ea1\u0eb9\u0e99...';\n            \n            \/\/ Use fetch API to save data\n            fetch('\/api\/save_donation.php', {\n                method: 'POST',\n                headers: {\n                    'Content-Type': 'application\/x-www-form-urlencoded',\n                },\n                body: new URLSearchParams(formData)\n            })\n            .then(response => response.json())\n            .then(dbResponse => {\n                if (dbResponse.success) {\n                    \/\/ Step 2: Create secure payment link \n                    submitBtn.innerText = '\ud83d\udcb3 \u0e81\u0eb3\u0ea5\u0eb1\u0e87\u0eaa\u0ec9\u0eb2\u0e87\u0ea5\u0eb5\u0ec9\u0e87\u0e8a\u0eb3\u0ea5\u0eb0...';\n                    \n                    const titleText = title === 'mr' ? 'Mr.' : title === 'ms' ? 'Ms.' : title === 'mrs' ? 'Mrs.' : title === 'dr' ? 'Dr.' : title;\n                    const fullName = titleText + ' ' + firstName + ' ' + lastName;\n                    const address = isLao ? \n                        (provinceName + (districtName ? ', ' + districtName : '') + (village ? ', ' + village : '')) :\n                        country;\n\n                    const paymentData = {\n                        action: 'create_payment',\n                        amount: amount,\n                        description: formData.description,\n                        tag1: fullName,\n                        tag2: email,\n                        tag3: phone,\n                        tag4: dateOfBirth,\n                        tag5: address,\n                        tag6: hearAbout || '',\n                        tag7: transactionCode\n                    };\n\n                    \/\/ Call secure payment creation endpoint\n                    return fetch('\/api\/create_payment.php', {\n                        method: 'POST',\n                        headers: {\n                            'Content-Type': 'application\/x-www-form-urlencoded',\n                        },\n                        body: new URLSearchParams(paymentData)\n                    });\n                } else {\n                    throw new Error(dbResponse.message || '\u0e81\u0eb2\u0e99\u0e9a\u0eb1\u0e99\u0e97\u0eb6\u0e81\u0e82\u0ecd\u0ec9\u0ea1\u0eb9\u0e99\u0ea5\u0ebb\u0ec9\u0ea1\u0ec0\u0eab\u0ea5\u0ea7');\n                }\n            })\n            .then(response => response.json())\n            .then(paymentResponse => {\n                if (paymentResponse.success && paymentResponse.redirectURL) {\n                    \/\/ Extract linkCode and update database\n                    const linkCode = extractLinkCode(paymentResponse.redirectURL);\n                    if (linkCode) {\n                        updateLinkCode(transactionCode, linkCode);\n                    }\n                    \n                    submitBtn.innerText = '\u2705 \u0e81\u0eb3\u0ea5\u0eb1\u0e87\u0e99\u0eb3\u0ec4\u0e9b\u0e8a\u0eb3\u0ea5\u0eb0...';\n                    showSuccess('\u0e9a\u0eb1\u0e99\u0e97\u0eb6\u0e81\u0e82\u0ecd\u0ec9\u0ea1\u0eb9\u0e99\u0eaa\u0eb3\u0ec0\u0ea5\u0eb1\u0e94! \u0e81\u0eb3\u0ea5\u0eb1\u0e87\u0e99\u0eb3\u0ec4\u0e9b\u0eab\u0eb2\u0edc\u0ec9\u0eb2\u0e8a\u0eb3\u0ea5\u0eb0\u0ec0\u0e87\u0eb4\u0e99...');\n                    setTimeout(() => {\n                        window.location.href = paymentResponse.redirectURL;\n                    }, 1500);\n                } else {\n                    throw new Error('\u0e9a\u0ecd\u0ec8\u0eaa\u0eb2\u0ea1\u0eb2\u0e94\u0eaa\u0ec9\u0eb2\u0e87\u0ea5\u0eb5\u0ec9\u0e87\u0e8a\u0eb3\u0ea5\u0eb0\u0ec4\u0e94\u0ec9');\n                }\n            })\n            .catch(error => {\n                console.error('Error:', error);\n                showError(error.message || '\u0ec0\u0e81\u0eb5\u0e94\u0e84\u0ea7\u0eb2\u0ea1\u0e9c\u0eb4\u0e94\u0e9e\u0eb2\u0e94');\n                submitBtn.innerText = '\u2665 Donate';\n                submitBtn.disabled = false;\n            });\n        });\n    }\n});\n\n\/\/ Extract linkCode from Phapay URL\nfunction extractLinkCode(url) {\n    try {\n        const urlObj = new URL(url);\n        return urlObj.searchParams.get('linkCode');\n    } catch (e) {\n        console.error('Error parsing Phapay URL:', e);\n        return null;\n    }\n}\n\n\/\/ Update database with Phapay linkCode (connects to your save_donation.php)\nfunction updateLinkCode(transactionCode, linkCode) {\n    fetch('\/api\/save_donation.php', {\n        method: 'POST',\n        headers: {\n            'Content-Type': 'application\/x-www-form-urlencoded',\n        },\n        body: new URLSearchParams({\n            action: 'update_linkcode',\n            transaction_code: transactionCode,\n            phapay_link_code: linkCode\n        })\n    })\n    .then(response => response.json())\n    .then(result => {\n        console.log('LinkCode updated:', result);\n    })\n    .catch(error => {\n        console.warn('LinkCode update failed:', error);\n    });\n}\n\n<\/script>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"2048\" height=\"1365\" loading=\"lazy\" src=\"https:\/\/i0.wp.com\/sos.org.la\/wp-content\/uploads\/2025\/07\/Untitled-design-2.png?fit=2048%2C1365&amp;ssl=1\" alt=\"\" class=\"wp-image-376\" srcset=\"https:\/\/i0.wp.com\/sos.org.la\/wp-content\/uploads\/2025\/07\/Untitled-design-2.png?w=2048&amp;ssl=1 2048w, https:\/\/i0.wp.com\/sos.org.la\/wp-content\/uploads\/2025\/07\/Untitled-design-2.png?resize=300%2C200&amp;ssl=1 300w, https:\/\/i0.wp.com\/sos.org.la\/wp-content\/uploads\/2025\/07\/Untitled-design-2.png?resize=1024%2C683&amp;ssl=1 1024w, https:\/\/i0.wp.com\/sos.org.la\/wp-content\/uploads\/2025\/07\/Untitled-design-2.png?resize=768%2C512&amp;ssl=1 768w, https:\/\/i0.wp.com\/sos.org.la\/wp-content\/uploads\/2025\/07\/Untitled-design-2.png?resize=1536%2C1024&amp;ssl=1 1536w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading has-text-align-center\">      \u0e82\u0ead\u0e9a\u0ec3\u0e88 \u0eaa\u0eb3\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81<\/h4>\n\n\n\n<p class=\"\">\u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81\u0ec3\u0e99\u0e99\u0eb2\u0ea1\u0ead\u0ebb\u0e87\u0e81\u0ead\u0e99 \u0eab\u0ebc\u0eb7 \u0e9a\u0ecd\u0ea5\u0eb4\u0eaa\u0eb1\u0e94.<\/p>\n\n\n\n<p class=\"\">\u0eab\u0ebc\u0eb1\u0e87\u0e88\u0eb2\u0e81\u0e81\u0eb2\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99, \u0e9e\u0ea7\u0e81\u0ec0\u0eae\u0ebb\u0eb2\u0e88\u0eb0\u0e95\u0eb4\u0e94\u0e95\u0ecd\u0ec8\u0e81\u0eb1\u0e9a\u0eab\u0eb2\u0e97\u0ec8\u0eb2\u0e99 \u0e9e\u0eb2\u0e8d\u0ec3\u0e99 3 \u0ea7\u0eb1\u0e99\u0e97\u0eb3\u0e81\u0eb2\u0e99, \u0e96\u0ec9\u0eb2\u0eab\u0eb2\u0e81\u0e97\u0ec8\u0eb2\u0e99\u0e9a\u0ecd\u0ec8\u0ec4\u0e94\u0ec9\u0eae\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0e95\u0eb4\u0e94\u0e95\u0ecd\u0ec8\u0e81\u0eb1\u0e9a, \u0e81\u0eb0\u0ea5\u0eb8\u0e99\u0eb2\u0ec1\u0e88\u0ec9\u0e87 \u0eaa\u0eb9\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e81\u0eb2\u0e99 \u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81 \u0e82\u0ead\u0e87\u0e9e\u0ea7\u0e81\u0ec0\u0eae\u0ebb\u0eb2\u0ec4\u0e94\u0ec9\u0e97\u0eb5\u0ec8<br>&#8220;Donor Service Center&#8221;<br>\u0ec0\u0e9a\u0eb5\u0ec2\u0e97: +856 20 54 183 716<br>\u0ead\u0eb5\u0ec0\u0ea1\u0ea7:&nbsp;<a href=\"mailto:info@soscvlaos.org\">info@soscvlaos.org<\/a><\/p>\n<\/div>\n<\/div>\n\n\n\n<p class=\"\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0e82\u0ec9\u0eb2\u0e9e\u0eb0\u0ec0\u0e88\u0ebb\u0ec9\u0eb2\u0ea2\u0eb2\u0e81\u0ea1\u0eb5\u0eaa\u0ec8\u0ea7\u0e99\u0eae\u0ec8\u0ea7\u0ea1\u0ec3\u0e99\u0e81\u0eb2\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81 \u0e88\u0eb3\u0e99\u0ea7\u0e99\u0ec0\u0e87\u0eb4\u0e99 (\u0e81\u0eb5\u0e9a) \u0e82\u0eb1\u0ec9\u0e99\u0e95\u0ec8\u0eb3 50,000 \u0e81\u0eb5\u0e9a $10 $50 $100 $150 $200 Loading exchange rate&#8230; \u0e8a\u0eb7\u0ec8\u0ec1\u0e97\u0ec9* \u0e95\u0ec9\u0ead\u0e87\u0ec0\u0e9b\u0eb1\u0e99\u0e9e\u0eb2\u0eaa\u0eb2\u0ead\u0eb1\u0e87\u0e81\u0eb4\u0e94 \u0e99\u0eb2\u0ea1\u0eaa\u0eb0\u0e81\u0eb8\u0e99* \u0e95\u0ec9\u0ead\u0e87\u0ec0\u0e9b\u0eb1\u0e99\u0e9e\u0eb2\u0eaa\u0eb2\u0ead\u0eb1\u0e87\u0e81\u0eb4\u0e94 \u0e84\u0eb3\u0e99\u0eb3\u0eab\u0e99\u0ec9\u0eb2\u0e8a\u0eb7\u0ec8* \u0ec0\u0ea5\u0eb7\u0ead\u0e81\u0e84\u0eb3\u0e99\u0eb3\u0eab\u0e99\u0ec9\u0eb2\u0e8a\u0eb7\u0ec8Mr.Ms.Mrs.Dr. \u0ea7\u0eb1\u0e99\u0e97\u0eb5\u0ec8\u0ec0\u0e81\u0eb5\u0e94* \u0ec0\u0e9a\u0eb5\u0ec2\u0e97* \u0ead\u0eb5\u0ec0\u0ea1\u0ea7* \u0e97\u0eb5\u0ec8\u0ea2\u0eb9\u0ec8 \u0ea5\u0eb2\u0ea7 \u0e95\u0ec8\u0eb2\u0e87\u0e8a\u0eb2\u0e94 \u0ec1\u0e82\u0ea7\u0e87 \u0ec0\u0ea5\u0eb7\u0ead\u0e81\u0ec1\u0e82\u0ea7\u0e87 \u0ec0\u0ea1\u0eb7\u0ead\u0e87 \u0ec0\u0ea5\u0eb7\u0ead\u0e81\u0ec0\u0ea1\u0eb7\u0ead\u0e87 \u0e9a\u0ec9\u0eb2\u0e99 \u0e9b\u0eb0\u0ec0\u0e97\u0e94 Select country \u0e97\u0ec8\u0eb2\u0e99\u0eae\u0eb9\u0ec9\u0e88\u0eb1\u0e81\u0e9e\u0ea7\u0e81\u0ec0\u0eae\u0ebb\u0eb2\u0ec4\u0e94\u0ec9\u0ec1\u0e99\u0ea7\u0ec3\u0e94? \u0e81\u0eb0\u0ea5\u0eb8\u0e99\u0eb2\u0ec0\u0ea5\u0eb7\u0ead\u0e81GoogleEmailFacebookInstagramLineTiktok\u0ead\u0eb7\u0ec8\u0e99\u0ec6 \u2665 Donate \u0e82\u0ead\u0e9a\u0ec3\u0e88 \u0eaa\u0eb3\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81 \u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81\u0ec3\u0e99\u0e99\u0eb2\u0ea1\u0ead\u0ebb\u0e87\u0e81\u0ead\u0e99 \u0eab\u0ebc\u0eb7 \u0e9a\u0ecd\u0ea5\u0eb4\u0eaa\u0eb1\u0e94. \u0eab\u0ebc\u0eb1\u0e87\u0e88\u0eb2\u0e81\u0e81\u0eb2\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99, \u0e9e\u0ea7\u0e81\u0ec0\u0eae\u0ebb\u0eb2\u0e88\u0eb0\u0e95\u0eb4\u0e94\u0e95\u0ecd\u0ec8\u0e81\u0eb1\u0e9a\u0eab\u0eb2\u0e97\u0ec8\u0eb2\u0e99 \u0e9e\u0eb2\u0e8d\u0ec3\u0e99 3 \u0ea7\u0eb1\u0e99\u0e97\u0eb3\u0e81\u0eb2\u0e99, \u0e96\u0ec9\u0eb2\u0eab\u0eb2\u0e81\u0e97\u0ec8\u0eb2\u0e99\u0e9a\u0ecd\u0ec8\u0ec4\u0e94\u0ec9\u0eae\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0e95\u0eb4\u0e94\u0e95\u0ecd\u0ec8\u0e81\u0eb1\u0e9a, \u0e81\u0eb0\u0ea5\u0eb8\u0e99\u0eb2\u0ec1\u0e88\u0ec9\u0e87 \u0eaa\u0eb9\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e81\u0eb2\u0e99 \u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81 \u0e82\u0ead\u0e87\u0e9e\u0ea7\u0e81\u0ec0\u0eae\u0ebb\u0eb2\u0ec4\u0e94\u0ec9\u0e97\u0eb5\u0ec8&#8220;Donor Service Center&#8221;\u0ec0\u0e9a\u0eb5\u0ec2\u0e97: [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"nf_dc_page":"","om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-760","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Donation Test 4 - \u0e9a\u0ec9\u0eb2\u0e99\u0e8a\u0ec8\u0ea7\u0e8d\u0ec0\u0eab\u0ebc\u0eb7\u0ead\u0ec0\u0e94\u0eb1\u0e81\u0e99\u0ec9\u0ead\u0e8d\u0ec0\u0ead\u0eb1\u0eaa\u0ec2\u0ead\u0ec0\u0ead\u0eb1\u0eaa\u0ea5\u0eb2\u0ea7<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/sos.org.la\/lo\/donation-test-4\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Donation Test 4 - \u0e9a\u0ec9\u0eb2\u0e99\u0e8a\u0ec8\u0ea7\u0e8d\u0ec0\u0eab\u0ebc\u0eb7\u0ead\u0ec0\u0e94\u0eb1\u0e81\u0e99\u0ec9\u0ead\u0e8d\u0ec0\u0ead\u0eb1\u0eaa\u0ec2\u0ead\u0ec0\u0ead\u0eb1\u0eaa\u0ea5\u0eb2\u0ea7\" \/>\n<meta property=\"og:description\" content=\"\u0e82\u0ec9\u0eb2\u0e9e\u0eb0\u0ec0\u0e88\u0ebb\u0ec9\u0eb2\u0ea2\u0eb2\u0e81\u0ea1\u0eb5\u0eaa\u0ec8\u0ea7\u0e99\u0eae\u0ec8\u0ea7\u0ea1\u0ec3\u0e99\u0e81\u0eb2\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81 \u0e88\u0eb3\u0e99\u0ea7\u0e99\u0ec0\u0e87\u0eb4\u0e99 (\u0e81\u0eb5\u0e9a) \u0e82\u0eb1\u0ec9\u0e99\u0e95\u0ec8\u0eb3 50,000 \u0e81\u0eb5\u0e9a $10 $50 $100 $150 $200 Loading exchange rate&#8230; \u0e8a\u0eb7\u0ec8\u0ec1\u0e97\u0ec9* \u0e95\u0ec9\u0ead\u0e87\u0ec0\u0e9b\u0eb1\u0e99\u0e9e\u0eb2\u0eaa\u0eb2\u0ead\u0eb1\u0e87\u0e81\u0eb4\u0e94 \u0e99\u0eb2\u0ea1\u0eaa\u0eb0\u0e81\u0eb8\u0e99* \u0e95\u0ec9\u0ead\u0e87\u0ec0\u0e9b\u0eb1\u0e99\u0e9e\u0eb2\u0eaa\u0eb2\u0ead\u0eb1\u0e87\u0e81\u0eb4\u0e94 \u0e84\u0eb3\u0e99\u0eb3\u0eab\u0e99\u0ec9\u0eb2\u0e8a\u0eb7\u0ec8* \u0ec0\u0ea5\u0eb7\u0ead\u0e81\u0e84\u0eb3\u0e99\u0eb3\u0eab\u0e99\u0ec9\u0eb2\u0e8a\u0eb7\u0ec8Mr.Ms.Mrs.Dr. \u0ea7\u0eb1\u0e99\u0e97\u0eb5\u0ec8\u0ec0\u0e81\u0eb5\u0e94* \u0ec0\u0e9a\u0eb5\u0ec2\u0e97* \u0ead\u0eb5\u0ec0\u0ea1\u0ea7* \u0e97\u0eb5\u0ec8\u0ea2\u0eb9\u0ec8 \u0ea5\u0eb2\u0ea7 \u0e95\u0ec8\u0eb2\u0e87\u0e8a\u0eb2\u0e94 \u0ec1\u0e82\u0ea7\u0e87 \u0ec0\u0ea5\u0eb7\u0ead\u0e81\u0ec1\u0e82\u0ea7\u0e87 \u0ec0\u0ea1\u0eb7\u0ead\u0e87 \u0ec0\u0ea5\u0eb7\u0ead\u0e81\u0ec0\u0ea1\u0eb7\u0ead\u0e87 \u0e9a\u0ec9\u0eb2\u0e99 \u0e9b\u0eb0\u0ec0\u0e97\u0e94 Select country \u0e97\u0ec8\u0eb2\u0e99\u0eae\u0eb9\u0ec9\u0e88\u0eb1\u0e81\u0e9e\u0ea7\u0e81\u0ec0\u0eae\u0ebb\u0eb2\u0ec4\u0e94\u0ec9\u0ec1\u0e99\u0ea7\u0ec3\u0e94? \u0e81\u0eb0\u0ea5\u0eb8\u0e99\u0eb2\u0ec0\u0ea5\u0eb7\u0ead\u0e81GoogleEmailFacebookInstagramLineTiktok\u0ead\u0eb7\u0ec8\u0e99\u0ec6 \u2665 Donate \u0e82\u0ead\u0e9a\u0ec3\u0e88 \u0eaa\u0eb3\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81 \u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81\u0ec3\u0e99\u0e99\u0eb2\u0ea1\u0ead\u0ebb\u0e87\u0e81\u0ead\u0e99 \u0eab\u0ebc\u0eb7 \u0e9a\u0ecd\u0ea5\u0eb4\u0eaa\u0eb1\u0e94. \u0eab\u0ebc\u0eb1\u0e87\u0e88\u0eb2\u0e81\u0e81\u0eb2\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99, \u0e9e\u0ea7\u0e81\u0ec0\u0eae\u0ebb\u0eb2\u0e88\u0eb0\u0e95\u0eb4\u0e94\u0e95\u0ecd\u0ec8\u0e81\u0eb1\u0e9a\u0eab\u0eb2\u0e97\u0ec8\u0eb2\u0e99 \u0e9e\u0eb2\u0e8d\u0ec3\u0e99 3 \u0ea7\u0eb1\u0e99\u0e97\u0eb3\u0e81\u0eb2\u0e99, \u0e96\u0ec9\u0eb2\u0eab\u0eb2\u0e81\u0e97\u0ec8\u0eb2\u0e99\u0e9a\u0ecd\u0ec8\u0ec4\u0e94\u0ec9\u0eae\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0e95\u0eb4\u0e94\u0e95\u0ecd\u0ec8\u0e81\u0eb1\u0e9a, \u0e81\u0eb0\u0ea5\u0eb8\u0e99\u0eb2\u0ec1\u0e88\u0ec9\u0e87 \u0eaa\u0eb9\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e81\u0eb2\u0e99 \u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81 \u0e82\u0ead\u0e87\u0e9e\u0ea7\u0e81\u0ec0\u0eae\u0ebb\u0eb2\u0ec4\u0e94\u0ec9\u0e97\u0eb5\u0ec8&#8220;Donor Service Center&#8221;\u0ec0\u0e9a\u0eb5\u0ec2\u0e97: [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/sos.org.la\/lo\/donation-test-4\/\" \/>\n<meta property=\"og:site_name\" content=\"\u0e9a\u0ec9\u0eb2\u0e99\u0e8a\u0ec8\u0ea7\u0e8d\u0ec0\u0eab\u0ebc\u0eb7\u0ead\u0ec0\u0e94\u0eb1\u0e81\u0e99\u0ec9\u0ead\u0e8d\u0ec0\u0ead\u0eb1\u0eaa\u0ec2\u0ead\u0ec0\u0ead\u0eb1\u0eaa\u0ea5\u0eb2\u0ea7\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-07T06:16:10+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/sos.org.la\/wp-content\/uploads\/2025\/07\/Untitled-design-2-1024x683.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"683\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0ec0\u0ea7\u0ea5\u0eb2\u0ead\u0ec8\u0eb2\u0e99\u0ec2\u0e94\u0e8d\u0e9b\u0eb0\u0ea1\u0eb2\u0e99\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 \u0e99\u0eb2\u0e97\u0eb5\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/sos.org.la\\\/donation-test-4\\\/\",\"url\":\"https:\\\/\\\/sos.org.la\\\/donation-test-4\\\/\",\"name\":\"Donation Test 4 - \u0e9a\u0ec9\u0eb2\u0e99\u0e8a\u0ec8\u0ea7\u0e8d\u0ec0\u0eab\u0ebc\u0eb7\u0ead\u0ec0\u0e94\u0eb1\u0e81\u0e99\u0ec9\u0ead\u0e8d\u0ec0\u0ead\u0eb1\u0eaa\u0ec2\u0ead\u0ec0\u0ead\u0eb1\u0eaa\u0ea5\u0eb2\u0ea7\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/sos.org.la\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/sos.org.la\\\/donation-test-4\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/sos.org.la\\\/donation-test-4\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/sos.org.la\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/Untitled-design-2.png?fit=2048%2C1365&amp;ssl=1\",\"datePublished\":\"2025-09-06T13:16:45+00:00\",\"dateModified\":\"2025-09-07T06:16:10+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/sos.org.la\\\/donation-test-4\\\/#breadcrumb\"},\"inLanguage\":\"lo\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/sos.org.la\\\/donation-test-4\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"lo\",\"@id\":\"https:\\\/\\\/sos.org.la\\\/donation-test-4\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/sos.org.la\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/Untitled-design-2.png?fit=2048%2C1365&amp;ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/sos.org.la\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/Untitled-design-2.png?fit=2048%2C1365&amp;ssl=1\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/sos.org.la\\\/donation-test-4\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/sos.org.la\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Donation Test 4\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/sos.org.la\\\/#website\",\"url\":\"https:\\\/\\\/sos.org.la\\\/\",\"name\":\"\u0e9a\u0ec9\u0eb2\u0e99\u0e8a\u0ec8\u0ea7\u0e8d\u0ec0\u0eab\u0ebc\u0eb7\u0ead\u0ec0\u0e94\u0eb1\u0e81\u0e99\u0ec9\u0ead\u0e8d\u0ec0\u0ead\u0eb1\u0eaa\u0ec2\u0ead\u0ec0\u0ead\u0eb1\u0eaa\u0ea5\u0eb2\u0ea7\",\"description\":\"SOS Children\u2019s Villages Laos\",\"publisher\":{\"@id\":\"https:\\\/\\\/sos.org.la\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/sos.org.la\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"lo\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/sos.org.la\\\/#organization\",\"name\":\"\u0e9a\u0ec9\u0eb2\u0e99\u0e8a\u0ec8\u0ea7\u0e8d\u0ec0\u0eab\u0ebc\u0eb7\u0ead\u0ec0\u0e94\u0eb1\u0e81\u0e99\u0ec9\u0ead\u0e8d\u0ec0\u0ead\u0eb1\u0eaa\u0ec2\u0ead\u0ec0\u0ead\u0eb1\u0eaa\u0ea5\u0eb2\u0ea7\",\"url\":\"https:\\\/\\\/sos.org.la\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"lo\",\"@id\":\"https:\\\/\\\/sos.org.la\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/sos.org.la\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/bluesos.png?fit=394%2C122&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/sos.org.la\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/bluesos.png?fit=394%2C122&ssl=1\",\"width\":394,\"height\":122,\"caption\":\"\u0e9a\u0ec9\u0eb2\u0e99\u0e8a\u0ec8\u0ea7\u0e8d\u0ec0\u0eab\u0ebc\u0eb7\u0ead\u0ec0\u0e94\u0eb1\u0e81\u0e99\u0ec9\u0ead\u0e8d\u0ec0\u0ead\u0eb1\u0eaa\u0ec2\u0ead\u0ec0\u0ead\u0eb1\u0eaa\u0ea5\u0eb2\u0ea7\"},\"image\":{\"@id\":\"https:\\\/\\\/sos.org.la\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Donation Test 4 - \u0e9a\u0ec9\u0eb2\u0e99\u0e8a\u0ec8\u0ea7\u0e8d\u0ec0\u0eab\u0ebc\u0eb7\u0ead\u0ec0\u0e94\u0eb1\u0e81\u0e99\u0ec9\u0ead\u0e8d\u0ec0\u0ead\u0eb1\u0eaa\u0ec2\u0ead\u0ec0\u0ead\u0eb1\u0eaa\u0ea5\u0eb2\u0ea7","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/sos.org.la\/lo\/donation-test-4\/","og_locale":"en_US","og_type":"article","og_title":"Donation Test 4 - \u0e9a\u0ec9\u0eb2\u0e99\u0e8a\u0ec8\u0ea7\u0e8d\u0ec0\u0eab\u0ebc\u0eb7\u0ead\u0ec0\u0e94\u0eb1\u0e81\u0e99\u0ec9\u0ead\u0e8d\u0ec0\u0ead\u0eb1\u0eaa\u0ec2\u0ead\u0ec0\u0ead\u0eb1\u0eaa\u0ea5\u0eb2\u0ea7","og_description":"\u0e82\u0ec9\u0eb2\u0e9e\u0eb0\u0ec0\u0e88\u0ebb\u0ec9\u0eb2\u0ea2\u0eb2\u0e81\u0ea1\u0eb5\u0eaa\u0ec8\u0ea7\u0e99\u0eae\u0ec8\u0ea7\u0ea1\u0ec3\u0e99\u0e81\u0eb2\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81 \u0e88\u0eb3\u0e99\u0ea7\u0e99\u0ec0\u0e87\u0eb4\u0e99 (\u0e81\u0eb5\u0e9a) \u0e82\u0eb1\u0ec9\u0e99\u0e95\u0ec8\u0eb3 50,000 \u0e81\u0eb5\u0e9a $10 $50 $100 $150 $200 Loading exchange rate&#8230; \u0e8a\u0eb7\u0ec8\u0ec1\u0e97\u0ec9* \u0e95\u0ec9\u0ead\u0e87\u0ec0\u0e9b\u0eb1\u0e99\u0e9e\u0eb2\u0eaa\u0eb2\u0ead\u0eb1\u0e87\u0e81\u0eb4\u0e94 \u0e99\u0eb2\u0ea1\u0eaa\u0eb0\u0e81\u0eb8\u0e99* \u0e95\u0ec9\u0ead\u0e87\u0ec0\u0e9b\u0eb1\u0e99\u0e9e\u0eb2\u0eaa\u0eb2\u0ead\u0eb1\u0e87\u0e81\u0eb4\u0e94 \u0e84\u0eb3\u0e99\u0eb3\u0eab\u0e99\u0ec9\u0eb2\u0e8a\u0eb7\u0ec8* \u0ec0\u0ea5\u0eb7\u0ead\u0e81\u0e84\u0eb3\u0e99\u0eb3\u0eab\u0e99\u0ec9\u0eb2\u0e8a\u0eb7\u0ec8Mr.Ms.Mrs.Dr. \u0ea7\u0eb1\u0e99\u0e97\u0eb5\u0ec8\u0ec0\u0e81\u0eb5\u0e94* \u0ec0\u0e9a\u0eb5\u0ec2\u0e97* \u0ead\u0eb5\u0ec0\u0ea1\u0ea7* \u0e97\u0eb5\u0ec8\u0ea2\u0eb9\u0ec8 \u0ea5\u0eb2\u0ea7 \u0e95\u0ec8\u0eb2\u0e87\u0e8a\u0eb2\u0e94 \u0ec1\u0e82\u0ea7\u0e87 \u0ec0\u0ea5\u0eb7\u0ead\u0e81\u0ec1\u0e82\u0ea7\u0e87 \u0ec0\u0ea1\u0eb7\u0ead\u0e87 \u0ec0\u0ea5\u0eb7\u0ead\u0e81\u0ec0\u0ea1\u0eb7\u0ead\u0e87 \u0e9a\u0ec9\u0eb2\u0e99 \u0e9b\u0eb0\u0ec0\u0e97\u0e94 Select country \u0e97\u0ec8\u0eb2\u0e99\u0eae\u0eb9\u0ec9\u0e88\u0eb1\u0e81\u0e9e\u0ea7\u0e81\u0ec0\u0eae\u0ebb\u0eb2\u0ec4\u0e94\u0ec9\u0ec1\u0e99\u0ea7\u0ec3\u0e94? \u0e81\u0eb0\u0ea5\u0eb8\u0e99\u0eb2\u0ec0\u0ea5\u0eb7\u0ead\u0e81GoogleEmailFacebookInstagramLineTiktok\u0ead\u0eb7\u0ec8\u0e99\u0ec6 \u2665 Donate \u0e82\u0ead\u0e9a\u0ec3\u0e88 \u0eaa\u0eb3\u0ea5\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81 \u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81\u0ec3\u0e99\u0e99\u0eb2\u0ea1\u0ead\u0ebb\u0e87\u0e81\u0ead\u0e99 \u0eab\u0ebc\u0eb7 \u0e9a\u0ecd\u0ea5\u0eb4\u0eaa\u0eb1\u0e94. \u0eab\u0ebc\u0eb1\u0e87\u0e88\u0eb2\u0e81\u0e81\u0eb2\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81\u0e82\u0ead\u0e87\u0e97\u0ec8\u0eb2\u0e99, \u0e9e\u0ea7\u0e81\u0ec0\u0eae\u0ebb\u0eb2\u0e88\u0eb0\u0e95\u0eb4\u0e94\u0e95\u0ecd\u0ec8\u0e81\u0eb1\u0e9a\u0eab\u0eb2\u0e97\u0ec8\u0eb2\u0e99 \u0e9e\u0eb2\u0e8d\u0ec3\u0e99 3 \u0ea7\u0eb1\u0e99\u0e97\u0eb3\u0e81\u0eb2\u0e99, \u0e96\u0ec9\u0eb2\u0eab\u0eb2\u0e81\u0e97\u0ec8\u0eb2\u0e99\u0e9a\u0ecd\u0ec8\u0ec4\u0e94\u0ec9\u0eae\u0eb1\u0e9a\u0e81\u0eb2\u0e99\u0e95\u0eb4\u0e94\u0e95\u0ecd\u0ec8\u0e81\u0eb1\u0e9a, \u0e81\u0eb0\u0ea5\u0eb8\u0e99\u0eb2\u0ec1\u0e88\u0ec9\u0e87 \u0eaa\u0eb9\u0e99\u0e9a\u0ecd\u0ea5\u0eb4\u0e81\u0eb2\u0e99 \u0e9a\u0ecd\u0ea5\u0eb4\u0e88\u0eb2\u0e81 \u0e82\u0ead\u0e87\u0e9e\u0ea7\u0e81\u0ec0\u0eae\u0ebb\u0eb2\u0ec4\u0e94\u0ec9\u0e97\u0eb5\u0ec8&#8220;Donor Service Center&#8221;\u0ec0\u0e9a\u0eb5\u0ec2\u0e97: [&hellip;]","og_url":"https:\/\/sos.org.la\/lo\/donation-test-4\/","og_site_name":"\u0e9a\u0ec9\u0eb2\u0e99\u0e8a\u0ec8\u0ea7\u0e8d\u0ec0\u0eab\u0ebc\u0eb7\u0ead\u0ec0\u0e94\u0eb1\u0e81\u0e99\u0ec9\u0ead\u0e8d\u0ec0\u0ead\u0eb1\u0eaa\u0ec2\u0ead\u0ec0\u0ead\u0eb1\u0eaa\u0ea5\u0eb2\u0ea7","article_modified_time":"2025-09-07T06:16:10+00:00","og_image":[{"width":1024,"height":683,"url":"https:\/\/sos.org.la\/wp-content\/uploads\/2025\/07\/Untitled-design-2-1024x683.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"\u0ec0\u0ea7\u0ea5\u0eb2\u0ead\u0ec8\u0eb2\u0e99\u0ec2\u0e94\u0e8d\u0e9b\u0eb0\u0ea1\u0eb2\u0e99":"1 \u0e99\u0eb2\u0e97\u0eb5"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/sos.org.la\/donation-test-4\/","url":"https:\/\/sos.org.la\/donation-test-4\/","name":"Donation Test 4 - \u0e9a\u0ec9\u0eb2\u0e99\u0e8a\u0ec8\u0ea7\u0e8d\u0ec0\u0eab\u0ebc\u0eb7\u0ead\u0ec0\u0e94\u0eb1\u0e81\u0e99\u0ec9\u0ead\u0e8d\u0ec0\u0ead\u0eb1\u0eaa\u0ec2\u0ead\u0ec0\u0ead\u0eb1\u0eaa\u0ea5\u0eb2\u0ea7","isPartOf":{"@id":"https:\/\/sos.org.la\/#website"},"primaryImageOfPage":{"@id":"https:\/\/sos.org.la\/donation-test-4\/#primaryimage"},"image":{"@id":"https:\/\/sos.org.la\/donation-test-4\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/sos.org.la\/wp-content\/uploads\/2025\/07\/Untitled-design-2.png?fit=2048%2C1365&amp;ssl=1","datePublished":"2025-09-06T13:16:45+00:00","dateModified":"2025-09-07T06:16:10+00:00","breadcrumb":{"@id":"https:\/\/sos.org.la\/donation-test-4\/#breadcrumb"},"inLanguage":"lo","potentialAction":[{"@type":"ReadAction","target":["https:\/\/sos.org.la\/donation-test-4\/"]}]},{"@type":"ImageObject","inLanguage":"lo","@id":"https:\/\/sos.org.la\/donation-test-4\/#primaryimage","url":"https:\/\/i0.wp.com\/sos.org.la\/wp-content\/uploads\/2025\/07\/Untitled-design-2.png?fit=2048%2C1365&amp;ssl=1","contentUrl":"https:\/\/i0.wp.com\/sos.org.la\/wp-content\/uploads\/2025\/07\/Untitled-design-2.png?fit=2048%2C1365&amp;ssl=1"},{"@type":"BreadcrumbList","@id":"https:\/\/sos.org.la\/donation-test-4\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/sos.org.la\/"},{"@type":"ListItem","position":2,"name":"Donation Test 4"}]},{"@type":"WebSite","@id":"https:\/\/sos.org.la\/#website","url":"https:\/\/sos.org.la\/","name":"\u0e9a\u0ec9\u0eb2\u0e99\u0e8a\u0ec8\u0ea7\u0e8d\u0ec0\u0eab\u0ebc\u0eb7\u0ead\u0ec0\u0e94\u0eb1\u0e81\u0e99\u0ec9\u0ead\u0e8d\u0ec0\u0ead\u0eb1\u0eaa\u0ec2\u0ead\u0ec0\u0ead\u0eb1\u0eaa\u0ea5\u0eb2\u0ea7","description":"SOS Children\u2019s Villages Laos","publisher":{"@id":"https:\/\/sos.org.la\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/sos.org.la\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"lo"},{"@type":"Organization","@id":"https:\/\/sos.org.la\/#organization","name":"\u0e9a\u0ec9\u0eb2\u0e99\u0e8a\u0ec8\u0ea7\u0e8d\u0ec0\u0eab\u0ebc\u0eb7\u0ead\u0ec0\u0e94\u0eb1\u0e81\u0e99\u0ec9\u0ead\u0e8d\u0ec0\u0ead\u0eb1\u0eaa\u0ec2\u0ead\u0ec0\u0ead\u0eb1\u0eaa\u0ea5\u0eb2\u0ea7","url":"https:\/\/sos.org.la\/","logo":{"@type":"ImageObject","inLanguage":"lo","@id":"https:\/\/sos.org.la\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/sos.org.la\/wp-content\/uploads\/2025\/06\/bluesos.png?fit=394%2C122&ssl=1","contentUrl":"https:\/\/i0.wp.com\/sos.org.la\/wp-content\/uploads\/2025\/06\/bluesos.png?fit=394%2C122&ssl=1","width":394,"height":122,"caption":"\u0e9a\u0ec9\u0eb2\u0e99\u0e8a\u0ec8\u0ea7\u0e8d\u0ec0\u0eab\u0ebc\u0eb7\u0ead\u0ec0\u0e94\u0eb1\u0e81\u0e99\u0ec9\u0ead\u0e8d\u0ec0\u0ead\u0eb1\u0eaa\u0ec2\u0ead\u0ec0\u0ead\u0eb1\u0eaa\u0ea5\u0eb2\u0ea7"},"image":{"@id":"https:\/\/sos.org.la\/#\/schema\/logo\/image\/"}}]}},"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sos.org.la\/lo\/wp-json\/wp\/v2\/pages\/760","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sos.org.la\/lo\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sos.org.la\/lo\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sos.org.la\/lo\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sos.org.la\/lo\/wp-json\/wp\/v2\/comments?post=760"}],"version-history":[{"count":5,"href":"https:\/\/sos.org.la\/lo\/wp-json\/wp\/v2\/pages\/760\/revisions"}],"predecessor-version":[{"id":765,"href":"https:\/\/sos.org.la\/lo\/wp-json\/wp\/v2\/pages\/760\/revisions\/765"}],"wp:attachment":[{"href":"https:\/\/sos.org.la\/lo\/wp-json\/wp\/v2\/media?parent=760"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}