{"id":8,"date":"2026-05-18T13:39:52","date_gmt":"2026-05-18T13:39:52","guid":{"rendered":"https:\/\/payformyfee.com\/?page_id=8"},"modified":"2026-05-18T13:39:52","modified_gmt":"2026-05-18T13:39:52","slug":"reset-password","status":"publish","type":"page","link":"https:\/\/payformyfee.com\/?page_id=8","title":{"rendered":"Reset Password"},"content":{"rendered":"<div class=\"app-page\">\r\n    <header class=\"app-topbar\">\r\n        <a href=\"https:\/\/payformyfee.com\/\" class=\"app-logo\">\r\n            <span class=\"app-logo-icon\">\ud83d\udcec<\/span> AffPro PLUS\r\n        <\/a>\r\n    <\/header>\r\n\r\n    <main style=\"display:flex;align-items:center;justify-content:center;min-height:60vh;padding:40px 20px;\">\r\n        <div class=\"app-form-card\" style=\"max-width:480px;width:100%;padding:32px;\">\r\n            <div class=\"app-form-card__header\" style=\"margin-bottom:18px;\">\r\n                <h2>Reset Your Password<\/h2>\r\n                <p>Choose a new password for your account.<\/p>\r\n            <\/div>\r\n\r\n            <form id=\"app-reset-password-form\" class=\"app-form\" novalidate>\r\n                <input type=\"hidden\" name=\"token\" value=\"\">\r\n\r\n                <div class=\"app-field\">\r\n                    <input type=\"password\" name=\"new_password\" placeholder=\"New password (min. 6 characters)\" required minlength=\"6\" autocomplete=\"new-password\">\r\n                <\/div>\r\n                <div class=\"app-field\">\r\n                    <input type=\"password\" name=\"new_password_confirm\" placeholder=\"Confirm new password\" required minlength=\"6\" autocomplete=\"new-password\">\r\n                <\/div>\r\n\r\n                <div class=\"app-form__error\" id=\"app-reset-error\" style=\"display:none;\"><\/div>\r\n                <div class=\"app-form__success\" id=\"app-reset-success\" style=\"display:none;color:var(--app-green);font-weight:600;margin:8px 0;\"><\/div>\r\n\r\n                <button type=\"submit\" class=\"app-btn app-btn--full\">Update Password<\/button>\r\n\r\n                <p class=\"app-form__toggle\" style=\"margin-top:14px;\">\r\n                    <a href=\"https:\/\/payformyfee.com\/\">\u2190 Back to sign in<\/a>\r\n                <\/p>\r\n            <\/form>\r\n        <\/div>\r\n    <\/main>\r\n\r\n    <footer class=\"app-footer\">\r\n        <div class=\"app-container\">\r\n            <div class=\"app-footer__brand\">\r\n                <span class=\"app-logo-icon\">\ud83d\udcec<\/span> AffPro PLUS\r\n            <\/div>\r\n            <p class=\"app-footer__copy\">\u00a9 2026 AffPro PLUS. All rights reserved.<\/p>\r\n            <div class=\"app-footer__links\">\r\n                <a href=\"https:\/\/payformyfee.com\/terms\/\">Terms of Service<\/a>\r\n                <a href=\"https:\/\/payformyfee.com\/privacy\/\">Privacy Policy<\/a>\r\n            <\/div>\r\n        <\/div>\r\n    <\/footer>\r\n<\/div>\r\n\r\n<script>\r\n(function($){\r\n    $('#app-reset-password-form').on('submit', function(e) {\r\n        e.preventDefault();\r\n        var $form    = $(this);\r\n        var $err     = $('#app-reset-error').hide().text('');\r\n        var $success = $('#app-reset-success').hide().text('');\r\n        var $btn     = $form.find('button[type=submit]');\r\n\r\n        var token   = $form.find('input[name=token]').val();\r\n        var pw1     = $form.find('input[name=new_password]').val();\r\n        var pw2     = $form.find('input[name=new_password_confirm]').val();\r\n\r\n        if ( pw1.length < 6 ) {\r\n            $err.text('Password must be at least 6 characters.').show();\r\n            return;\r\n        }\r\n        if ( pw1 !== pw2 ) {\r\n            $err.text('Passwords do not match.').show();\r\n            return;\r\n        }\r\n\r\n        $btn.prop('disabled', true).text('Updating\u2026');\r\n        $.post(APP.ajax_url, {\r\n            action:       'app_reset_password',\r\n            nonce:        APP.nonce,\r\n            token:        token,\r\n            new_password: pw1,\r\n        }, function(res) {\r\n            if ( res.success ) {\r\n                $success.text(res.data.message).show();\r\n                $form.find('input[type=password]').prop('disabled', true);\r\n                setTimeout(function() {\r\n                    window.location.href = res.data.redirect;\r\n                }, 1500);\r\n            } else {\r\n                $err.text(res.data || 'Could not update password.').show();\r\n                $btn.prop('disabled', false).text('Update Password');\r\n            }\r\n        }).fail(function() {\r\n            $err.text('Network error \u2014 please try again.').show();\r\n            $btn.prop('disabled', false).text('Update Password');\r\n        });\r\n    });\r\n}(jQuery));\r\n<\/script>\r\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"affpro-plus-fullscreen.php","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-8","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/payformyfee.com\/index.php?rest_route=\/wp\/v2\/pages\/8","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/payformyfee.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/payformyfee.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/payformyfee.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/payformyfee.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=8"}],"version-history":[{"count":0,"href":"https:\/\/payformyfee.com\/index.php?rest_route=\/wp\/v2\/pages\/8\/revisions"}],"wp:attachment":[{"href":"https:\/\/payformyfee.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=8"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}