add_action('init', function() { register_post_type('bonyan_insurance_request', [ 'label' => 'درخواست‌های بیمه', 'public' => false, 'show_ui' => true, 'supports' => ['title'], 'menu_icon' => 'dashicons-heart', ]); }); add_action('admin_post_submit_insurance_form', 'bonyan_handle_insurance_form'); add_action('admin_post_nopriv_submit_insurance_form', 'bonyan_handle_insurance_form'); function bonyan_handle_insurance_form() { if (!isset($_POST['bonyan_nonce']) || !wp_verify_nonce($_POST['bonyan_nonce'], 'bonyan_insurance_nonce')) { wp_die('دسترسی غیرمجاز.'); } $fullname = sanitize_text_field($_POST['fullname']); $phone = sanitize_text_field($_POST['phone']); $email = sanitize_email($_POST['email']); $plan = sanitize_text_field($_POST['plan']); $note = sanitize_textarea_field($_POST['note']); $amount = intval($_POST['amount']); $post_id = wp_insert_post([ 'post_type' => 'bonyan_insurance_request', 'post_status' => 'publish', 'post_title' => $fullname . ' - ' . $plan, 'meta_input' => compact('phone', 'email', 'plan', 'note', 'amount'), ]); $merchant_id = 'YOUR_MERCHANT_ID'; $callback_url = home_url('/insurance-payment-callback'); $data = [ 'merchant' => $merchant_id, 'amount' => $amount, 'return_url' => $callback_url, 'order_id' => $post_id, 'description' => "خرید طرح بیمه $plan توسط $fullname", 'name' => $fullname, 'phone' => $phone, 'email' => $email ]; $response = wp_remote_post('https://api.parspal.com/v1/payment/request', [ 'body' => json_encode($data), 'headers' => ['Content-Type' => 'application/json'] ]); $body = json_decode(wp_remote_retrieve_body($response)); if (isset($body->status) && $body->status == 1) { wp_redirect($body->payment_url); exit; } else { wp_die('خطا در اتصال به درگاه پارس پال.'); } } // هندلر بازگشت از درگاه add_action('init', function() { if (isset($_GET['insurance-payment-callback'])) { $status = $_GET['status'] ?? ''; $order_id = $_GET['order_id'] ?? ''; if ($status == '1') { update_post_meta($order_id, 'payment_status', 'paid'); wp_redirect(home_url('/thank-you')); } else { wp_die('پرداخت ناموفق بود.'); } } }); https://bonyancard.com/post-sitemap.xml 2025-08-20T20:47:50+00:00 https://bonyancard.com/page-sitemap.xml 2025-08-20T21:32:30+00:00 https://bonyancard.com/gd_place-sitemap.xml 2025-08-20T21:14:46+00:00 https://bonyancard.com/category-sitemap.xml 2025-08-20T20:47:50+00:00 https://bonyancard.com/gd_place_tags-sitemap1.xml 2025-08-20T21:14:46+00:00 https://bonyancard.com/gd_place_tags-sitemap2.xml 2025-08-20T21:14:46+00:00 https://bonyancard.com/gd_place_tags-sitemap3.xml 2025-08-20T21:14:46+00:00 https://bonyancard.com/gd_place_tags-sitemap4.xml 2025-08-20T21:14:46+00:00 https://bonyancard.com/gd_place_tags-sitemap5.xml 2025-08-20T21:14:46+00:00 https://bonyancard.com/gd_place_tags-sitemap6.xml 2025-08-20T21:14:46+00:00 https://bonyancard.com/gd_place_tags-sitemap7.xml 2025-08-20T21:14:46+00:00 https://bonyancard.com/gd_place_tags-sitemap8.xml 2025-08-20T21:14:46+00:00 https://bonyancard.com/gd_place_tags-sitemap9.xml 2025-08-20T21:14:46+00:00 https://bonyancard.com/gd_place_tags-sitemap10.xml 2025-08-20T21:14:46+00:00 https://bonyancard.com/gd_placecategory-sitemap.xml 2025-08-20T21:14:46+00:00 https://bonyancard.com/local-sitemap.xml 2025-07-21T11:09:15+00:00