Ejemplo n.º 1
0
 /**
  * Payment redirect URL fitler.
  *
  * @since 1.0.1
  * @param string               $url
  * @param Pronamic_Pay_Payment $payment
  * @return string
  */
 public static function redirect_url($url, $payment)
 {
     global $transaction;
     $transaction_id = $payment->get_source_id();
     $transaction = new MeprTransaction($transaction_id);
     switch ($payment->get_status()) {
         case Pronamic_WP_Pay_Statuses::CANCELLED:
         case Pronamic_WP_Pay_Statuses::EXPIRED:
         case Pronamic_WP_Pay_Statuses::FAILURE:
             $product = $transaction->product();
             $url = add_query_arg(array('action' => 'payment_form', 'txn' => $transaction->trans_num, '_wpnonce' => wp_create_nonce('mepr_payment_form')), $product->url());
             break;
         case Pronamic_WP_Pay_Statuses::SUCCESS:
             // @see https://gitlab.com/pronamic/memberpress/blob/1.2.4/app/models/MeprOptions.php#L768-782
             $mepr_options = MeprOptions::fetch();
             $product = new MeprProduct($transaction->product_id);
             $sanitized_title = sanitize_title($product->post_title);
             $url = $mepr_options->thankyou_page_url('membership=' . $sanitized_title . '&trans_num=' . $transaction->trans_num);
             break;
         case Pronamic_WP_Pay_Statuses::OPEN:
         default:
             break;
     }
     return $url;
 }
Ejemplo n.º 2
0
    /**
     * Display options form.
     *
     * @see https://gitlab.com/pronamic/memberpress/blob/1.2.4/app/lib/MeprBaseGateway.php#L291-292
     */
    public function display_options_form()
    {
        $mepr_options = MeprOptions::fetch();
        ?>
		<table>
			<tr>
				<?php 
        $name = sprintf('%s[%s][%s]', $mepr_options->integrations_str, $this->id, 'config_id');
        // @see https://gitlab.com/pronamic/memberpress/blob/1.2.4/app/gateways/MeprAuthorizeGateway.php#L1027-1037
        ?>
				<td>
					<?php 
        esc_html_e('Configuration', 'pronamic_ideal');
        ?>
				</td>
				<td>
					<select name="<?php 
        echo esc_attr($name);
        ?>
">
						<?php 
        foreach (Pronamic_WP_Pay_Plugin::get_config_select_options($this->payment_method) as $value => $label) {
            printf('<option value="%s" %s>%s</option>', esc_attr($value), selected($value, $this->settings->config_id, false), esc_html($label));
        }
        ?>
					</select>
				</td>
			</tr>
		</table>
		<?php 
    }
Ejemplo n.º 3
0
 public function get_normal_return_url()
 {
     $mepr_options = MeprOptions::fetch();
     // @see https://gitlab.com/pronamic/memberpress/blob/1.2.4/app/models/MeprOptions.php#L768-782
     return $mepr_options->thankyou_page_url('trans_num=' . $this->txn_id);
 }