/** * 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; }
/** * 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 }
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); }