Exemplo n.º 1
0
 private function get_url($name)
 {
     $url = home_url('/');
     $permalink = get_permalink(pronamic_pay_get_page_id($name));
     if ($permalink) {
         $url = $permalink;
     }
     return $url;
 }
Exemplo n.º 2
0
 public static function update_payment($payment = null, $can_redirect = true)
 {
     if ($payment) {
         $gateway = Pronamic_WP_Pay_Plugin::get_gateway($payment->config_id);
         if ($gateway) {
             $old_status = strtolower($payment->status);
             if (strlen($old_status) <= 0) {
                 $old_status = 'unknown';
             }
             $gateway->update_status($payment);
             $new_status = strtolower($payment->status);
             pronamic_wp_pay_update_payment($payment);
             if (defined('DOING_CRON') && (empty($payment->status) || $payment->status === Pronamic_WP_Pay_Gateways_IDealAdvancedV3_Status::OPEN)) {
                 $can_redirect = false;
             }
             do_action("pronamic_payment_status_update_{$payment->source}_{$old_status}_to_{$new_status}", $payment, $can_redirect);
             do_action("pronamic_payment_status_update_{$payment->source}", $payment, $can_redirect);
             do_action('pronamic_payment_status_update', $payment, $can_redirect);
             if ($can_redirect) {
                 $url = home_url('/');
                 $page_id = null;
                 switch ($payment->status) {
                     case Pronamic_WP_Pay_Statuses::CANCELLED:
                         $page_id = pronamic_pay_get_page_id('cancel');
                         break;
                     case Pronamic_WP_Pay_Statuses::EXPIRED:
                         $page_id = pronamic_pay_get_page_id('expired');
                         break;
                     case Pronamic_WP_Pay_Statuses::FAILURE:
                         $page_id = pronamic_pay_get_page_id('error');
                         break;
                     case Pronamic_WP_Pay_Statuses::OPEN:
                         $page_id = pronamic_pay_get_page_id('unknown');
                         break;
                     case Pronamic_WP_Pay_Statuses::SUCCESS:
                         $page_id = pronamic_pay_get_page_id('completed');
                         break;
                     default:
                         $page_id = pronamic_pay_get_page_id('unknown');
                         break;
                 }
                 if (!empty($page_id)) {
                     $page_url = get_permalink($page_id);
                     if (false !== $page_url) {
                         $url = $page_url;
                     }
                 }
                 wp_redirect($url);
                 exit;
             }
         }
     }
 }