*/ function process_ipn_return() { global $mp; } function api_call($url, $fields) { global $mp; $param_list = array(); foreach ($fields as $k => $v) { $param_list[] = "{$k}=" . rawurlencode($v); } $url .= '?' . implode('&', $param_list); //build args $args['user-agent'] = "MarketPress/{$mp->version}: http://premium.wpmudev.org/project/e-commerce | eWay Shared Payments Gateway/{$mp->version}"; $args['sslverify'] = false; $args['timeout'] = 60; //use built in WP http class to work with most server setups $response = wp_remote_get($url, $args); if (is_wp_error($response) || wp_remote_retrieve_response_code($response) != 200) { $mp->cart_checkout_error(__('There was a problem connecting to eWay. Please try again.', 'mp')); return false; } else { return $response['body']; } } } //register gateway only if SimpleXML module installed if (class_exists("SimpleXMLElement")) { mp_register_gateway_plugin('MP_Gateway_eWay_Shared', 'eway', __('eWay Shared Payments', 'mp')); }
//This function will take NVPString and convert it to an Associative Array and it will decode the response. function deformatNVP($nvpstr) { parse_str($nvpstr, $nvpArray); return $nvpArray; } function trim_name($name, $length = 127) { while (strlen(urlencode($name)) > $length) { $name = substr($name, 0, -1); } return urlencode($name); } } //register shipping plugin mp_register_gateway_plugin('MP_Gateway_Paypal_Express', 'paypal-express', __('PayPal Express Checkout', 'mp'), true); if (is_multisite()) { //tie into network settings form add_action('mp_network_gateway_settings', 'pe_network_gateway_settings_box'); } function pe_network_gateway_settings_box($settings) { global $mp; ?> <script type="text/javascript"> jQuery(document).ready(function($) { $("#gbl_gw_paypal-express").change(function() { $("#mp-main-form").submit(); }); }); </script>
$payment_info['total'] = $_POST['amount']; $payment_info['currency'] = $_POST['currency']; if ($mp->get_order($order_id)) { $mp->update_order_payment_status($order_id, $status, $paid); } else { if ($create_order) { //succesful payment, create our order now $cart = get_transient('mp_order_' . $order_id . '_cart'); $shipping_info = get_transient('mp_order_' . $order_id . '_shipping'); $user_id = get_transient('mp_order_' . $order_id . '_userid'); $success = $mp->create_order($order_id, $cart, $shipping_info, $payment_info, $paid, $user_id); //if successful delete transients if ($success) { delete_transient('mp_order_' . $order_id . '_cart'); delete_transient('mp_order_' . $order_id . '_shipping'); delete_transient('mp_order_' . $order_id . '_userid'); } } } //if we get this far return success so ipns don't get resent header('HTTP/1.0 200 OK'); exit('Successfully recieved!'); } else { header('HTTP/1.0 403 Forbidden'); exit('Invalid request'); } } } //register payment gateway plugin mp_register_gateway_plugin('MP_Gateway_Moneybookers', 'moneybookers', __('Skrill (Moneybookers)', 'mp'));
$order = $mp->get_order($orderId); switch ($invoice_status) { case 'paid': $status = sprintf(__('%s - The payment request is under process. Bitpay invoice status - %s', 'mp'), 'pending', $invoice_status); $mp->update_order_payment_status($orderId, $status, false); break; case 'confirmed': $status = sprintf(__('%s - The payment request is under process. Bitpay invoice status - %s', 'mp'), 'pending', $invoice_status); $mp->update_order_payment_status($orderId, $status, false); break; case 'complete': $status = sprintf(__('%s - The payment request has been processed - %s', 'mp'), $invoice_status, $invoice_status); if ($order->post_status != 'order_paid') { $mp->update_order_payment_status($orderId, $status, true); } break; case 'invalid': $status = sprintf(__('%s - The payment not credited in merchants bitpay account, action required. Bitpay invoice status - %s', 'mp'), 'error', $invoice_status); $mp->update_order_payment_status($orderId, $status, false); break; case 'expired': $status = sprintf(__('%s - The payment request expired, - %s', 'mp'), 'cancelled', $invoice_status); $mp->update_order_payment_status($orderId, $status, false); $mp->update_order_status($orderId, 'closed'); break; } } } //register payment gateway plugin mp_register_gateway_plugin('MP_Gateway_Bitpay', 'bitpay', __('Bitpay (alpha)', 'mp'));
if (strtolower($tco_hash) != strtolower($calc_key)) { header('HTTP/1.0 403 Forbidden'); header('Content-type: text/plain; charset=UTF-8'); print 'We were unable to authenticate the request'; exit(0); } if (strtolower($_REQUEST['invoice_status']) != "deposited") { header('HTTP/1.0 200 OK'); header('Content-type: text/plain; charset=UTF-8'); print 'Thank you very much for letting us know. REF: Not success'; exit(0); } if ($this->SandboxFlag != 'sandbox') { if (intval($total) >= $order->mp_order_total) { $payment_info = $order->mp_payment_info; $payment_info['transaction_id'] = $tco_invoice_id; $payment_info['method'] = $payment_method; update_post_meta($order->ID, 'mp_payment_info', $payment_info); $mp->update_order_payment_status($tco_vendor_order_id, "paid", true); header('HTTP/1.0 200 OK'); header('Content-type: text/plain; charset=UTF-8'); print 'Thank you very much for letting us know'; exit(0); } } } } } //register payment gateway plugin mp_register_gateway_plugin('MP_Gateway_2Checkout', '2checkout', __('2Checkout', 'mp'));
<?php /* MarketPress Authorize.net AIM Gateway Plugin Author: S H Mohanjith (Incsub) */ class MP_Gateway_AuthorizeNet_AIM extends MP_Gateway_API { } mp_register_gateway_plugin('MP_Gateway_AuthorizeNet_AIM', 'authorizenet-aim', __('Authorize.net AIM Checkout', 'mp'), false, true);
$payment_info['gateway_public_name'] = $this->public_name; $payment_info['gateway_private_name'] = $this->admin_name; $payment_info['method'] = sprintf(__('%1$s Card ending in %2$s - Expires %3$s', 'mp'), ucfirst($charge['payment']['card_type']), $charge['payment']['last4'], $charge['payment']['expire_month'] . '/' . $charge['payment']['expire_year']); $payment_info['transaction_id'] = $charge['id']; $timestamp = time(); $payment_info['status'][$timestamp] = __('Paid', 'mp'); $payment_info['total'] = $total; $payment_info['currency'] = $this->currency; $order = $mp->create_order($order_id, $cart, $_SESSION['mp_shipping_info'], $payment_info, true); unset($_SESSION['paymillToken']); $mp->set_cart_cookie(array()); } } catch (Exception $e) { unset($_SESSION['paymillToken']); $mp->cart_checkout_error(sprintf(__('There was an error processing your card: "%s". Please <a href="%s">go back and try again</a>.', 'mp'), $e->getMessage(), mp_checkout_step_url('checkout'))); return false; } } } /** * INS and payment return */ function process_ipn_return() { global $mp; $settings = get_option('mp_settings'); } } //register payment gateway plugin mp_register_gateway_plugin('MP_Gateway_Paymill', 'paymill', __('Paymill (beta)', 'mp'));
* Filters posted data from your settings form. Do anything you need to the $settings['gateways']['plugin_name'] * array. Don't forget to return! */ function process_gateway_settings($settings) { if (isset($settings['gateways']['paymill-for-wordpress']) && !is_array($settings['gateways']['paymill-for-wordpress'])) { return $settings; } //strip slashes $settings['gateways']['paymill-for-wordpress'] = array_map('stripslashes', (array) $settings['gateways']['paymill-for-wordpress']); //no html $settings['gateways']['paymill-for-wordpress']['name'] = stripslashes(wp_filter_nohtml_kses($settings['gateways']['paymill-for-wordpress']['name'])); $settings['gateways']['paymill-for-wordpress']['image-url'] = stripslashes(wp_filter_nohtml_kses($settings['gateways']['paymill-for-wordpress']['image-url'])); //filter html if needed if (!current_user_can('unfiltered_html')) { $settings['gateways']['paymill-for-wordpress']['instructions'] = wp_filter_post_kses($settings['gateways']['paymill-for-wordpress']['instructions']); } $settings['gateways']['paymill-for-wordpress']['instructions'] = wpautop($settings['gateways']['paymill-for-wordpress']['instructions']); return $settings; } /** * Use to handle any payment returns from your gateway to the ipn_url. Do not echo anything here. If you encounter errors * return the proper headers to your ipn sender. Exits after. */ function process_ipn_return() { } } //register shipping plugin mp_register_gateway_plugin('MP_Gateway_Paymill_for_Wordpress', 'paymill-for-wordpress', __('Paymill for WordPress', 'paymill'), true);
<?php /* MarketPress Stripe Gateway Plugin Author: Aaron Edwards */ class MP_Gateway_Stripe extends MP_Gateway_API { } //register payment gateway plugin mp_register_gateway_plugin('MP_Gateway_Stripe', 'stripe', __('Stripe', 'mp'), false, true);
<?php /* MarketPress Payflow Pro Gateway Plugin Author: Sue Cline (Cyclonic Consulting) */ class MP_Gateway_Payflow extends MP_Gateway_API { } //register payment gateway plugin mp_register_gateway_plugin('MP_Gateway_Payflow', 'payflow', __('PayPal Payflow Pro (beta)', 'mp'), false, true);
<?php /* MarketPress iDeal Gateway Plugin Author: Remi Schouten */ class MP_Gateway_IDeal extends MP_Gateway_API { } mp_register_gateway_plugin('MP_Gateway_IDeal', 'ideal', __('iDEAL (beta)', 'mp'), false, true);
<?php /* MarketPress PayPal Chained Payments Gateway Plugin Author: Aaron Edwards (Incsub) */ class MP_Gateway_Paypal_Chained_Payments extends MP_Gateway_API { } mp_register_gateway_plugin('MP_Gateway_Paypal_Chained_Payments', 'paypal-chained', __('PayPal Chained Payments', 'mp'), false, true);
$shipping_info['name'] = $response['buyer-shipping-address_contact-name']; $shipping_info['address1'] = $response['buyer-shipping-address_address1']; $shipping_info['address2'] = $response['buyer-shipping-address_address2']; $shipping_info['city'] = $response['buyer-shipping-address_city']; $shipping_info['state'] = $response['buyer-shipping-address_region']; $shipping_info['zip'] = $response['buyer-shipping-address_postal-code']; $shipping_info['country'] = $response['buyer-shipping-address_country-code']; $shipping_info['phone'] = $response['buyer-shipping-address_phone']; */ $success = $mp->create_order($order_id, $cart, $shipping_info, $payment_info, $paid, $user_id); //if successful delete transients if ($success) { delete_transient('mp_order_' . $temp_id . '_cart'); delete_transient('mp_order_' . $temp_id . '_shipping'); delete_transient('mp_order_' . $temp_id . '_userid'); } } } } //if we get this far return success so ipns don't get resent header('HTTP/1.0 200 OK'); die('<notification-acknowledgment xmlns="http://checkout.google.com/schema/2" serial-number="' . $_POST['serial-number'] . '" />'); } else { header('HTTP/1.0 403 Forbidden'); exit('Invalid request'); } } } //register payment gateway plugin mp_register_gateway_plugin('MP_Gateway_GoogleCheckout', 'google-checkout', __('Google Checkout', 'mp'));
if ($charge->paymentStatus == 'APPROVED') { $payment_info = array(); $payment_info['gateway_public_name'] = $this->public_name; $payment_info['gateway_private_name'] = $this->admin_name; $payment_info['method'] = sprintf(__('%1$s Card ending in %2$s - Expires %3$s', 'mp'), $charge->card->type, $charge->card->last4, $charge->card->expMonth . '/' . $charge->card->expYear); $payment_info['transaction_id'] = $charge->id; $timestamp = time(); $payment_info['status'][$timestamp] = __('Paid', 'mp'); $payment_info['total'] = $total; $payment_info['currency'] = $this->currency; $order = $mp->create_order($order_id, $cart, $_SESSION['mp_shipping_info'], $payment_info, true); unset($_SESSION['simplifyToken']); $mp->set_cart_cookie(array()); } } catch (Exception $e) { unset($_SESSION['simplifyToken']); $mp->cart_checkout_error(sprintf(__('There was an error processing your card: "%s". Please <a href="%s">go back and try again</a>.', 'mp'), $e->getMessage(), mp_checkout_step_url('checkout'))); return false; } } /** * INS and payment return */ function process_ipn_return() { global $mp; $settings = get_option('mp_settings'); } } mp_register_gateway_plugin('MP_Gateway_Simplify', 'simplify', __('Simplify Commerce by MasterCard', 'mp'));
<?php /* MarketPress Moneybookers Gateway Plugin Author: Aaron Edwards */ class MP_Gateway_Moneybookers extends MP_Gateway_API { } mp_register_gateway_plugin('MP_Gateway_Moneybookers', 'moneybookers', __('Moneybookers', 'mp'), false, true);
<input value="<?php echo esc_attr($mp->get_setting('gateways->eway30->UserPasswordSandbox')); ?> " size="20" name="mp[gateways][eway30][UserPasswordSandbox]" type="text" /> </label></p> </td> </tr> </table> </div> </div> <?php } /** * Filters posted data from your settings form. Do anything you need to the $settings['gateways']['plugin_name'] * array. Don't forget to return! */ function process_gateway_settings($settings) { return $settings; } /** * Use to handle any payment returns from your gateway to the ipn_url. Do not echo anything here. If you encounter errors * return the proper headers to your ipn sender. Exits after. */ function process_ipn_return() { global $mp; } } mp_register_gateway_plugin('MP_Gateway_eWay30', 'eway30', __('eWay Rapid 3.0 Payments (beta)', 'mp'));
$payment_info = array(); $payment_info['gateway_public_name'] = $this->public_name; $payment_info['gateway_private_name'] = $this->admin_name; $payment_info['method'] = sprintf(__('%1$s', 'mp'), $credit_card_response->credit_card_name); $payment_info['transaction_id'] = $order_id; $timestamp = time(); $payment_info['status'][$timestamp] = __('Paid', 'mp'); $payment_info['total'] = $total; $payment_info['currency'] = $this->currency; $order = $mp->create_order($order_id, $cart, $_SESSION['mp_shipping_info'], $payment_info, true); unset($_SESSION['payment_method_id']); $mp->set_cart_cookie(array()); } } catch (Exception $e) { unset($_SESSION['payment_method_id']); $mp->cart_checkout_error(sprintf(__('There was an error processing your card: "%s". Please <a href="%s">go back and try again</a>.', 'mp'), $e->getMessage(), mp_checkout_step_url('checkout'))); return false; } } /** * INS and payment return */ function process_ipn_return() { global $mp; $settings = get_option('mp_settings'); } } //register payment gateway plugin mp_register_gateway_plugin('MP_Gateway_Wepay', 'wepay', __('WePay', 'mp'));
<?php /* MarketPress CubePoints Plugin Requires the CubePoints plugin: http://wordpress.org/extend/plugins/cubepoints/ Author: David Mallonee (Incsub) */ class MP_Gateway_CubePoints extends MP_Gateway_API { } mp_register_gateway_plugin('MP_Gateway_CubePoints', 'cubepoints', __('CubePoints', 'mp'), false, true);
$settings['gateways']['mycred']['exchange'] = str_replace(',', '.', $settings['gateways']['mycred']['exchange']); } else { $settings['gateways']['mycred']['exchange'] = 1; } $settings['gateways']['mycred']['profit_share_percent'] = stripslashes(trim($settings['gateways']['mycred']['profit_share_percent'])); $settings['gateways']['mycred']['profit_share_log'] = stripslashes(wp_filter_nohtml_kses($settings['gateways']['mycred']['profit_share_log'])); $settings['gateways']['mycred']['lowfunds'] = stripslashes(wp_filter_post_kses($settings['gateways']['mycred']['lowfunds'])); $settings['gateways']['mycred']['visitors'] = stripslashes(wp_filter_post_kses($settings['gateways']['mycred']['visitors'])); $settings['gateways']['mycred']['instructions'] = stripslashes(wp_filter_post_kses($settings['gateways']['mycred']['instructions'])); $settings['gateways']['mycred']['confirmation'] = stripslashes(wp_filter_post_kses($settings['gateways']['mycred']['confirmation'])); // Email (no html) $settings['gateways']['mycred']['email'] = stripslashes(wp_filter_nohtml_kses($settings['gateways']['mycred']['email'])); return $settings; } } mp_register_gateway_plugin('MP_Gateway_myCRED', 'mycred', 'myCRED'); } } /** * Filter the myCRED Log * Parses the %order_id% and %order_link% template tags. * @since 1.1 * @version 1.1 */ if (!function_exists('mycred_marketpress_parse_log')) { add_filter('mycred_parse_log_entry_marketpress_payment', 'mycred_marketpress_parse_log', 90, 2); function mycred_marketpress_parse_log($content, $log_entry) { // Prep global $mp; $mycred = mycred($log_entry->ctype);
$payment_info = array(); $payment_info['gateway_public_name'] = $this->public_name; $payment_info['gateway_private_name'] = $this->admin_name; $payment_info['method'] = sprintf(__('%1$s Card ending in %2$s - Expires %3$s', 'mp'), $charge->card->type, $charge->card->last4, $charge->card->exp_month . '/' . $charge->card->exp_year); $payment_info['transaction_id'] = $charge->id; $timestamp = time(); $payment_info['status'][$timestamp] = __('Paid', 'mp'); $payment_info['total'] = $total; $payment_info['currency'] = $this->currency; $order = $mp->create_order($order_id, $cart, $_SESSION['mp_shipping_info'], $payment_info, true); unset($_SESSION['stripeToken']); $mp->set_cart_cookie(array()); } } catch (Exception $e) { unset($_SESSION['stripeToken']); $mp->cart_checkout_error(sprintf(__('There was an error processing your card: "%s". Please <a href="%s">go back and try again</a>.', 'mp'), $e->getMessage(), mp_checkout_step_url('checkout'))); return false; } } /** * INS and payment return */ function process_ipn_return() { global $mp; $settings = get_option('mp_settings'); } } //register payment gateway plugin mp_register_gateway_plugin('MP_Gateway_Stripe', 'stripe', __('Stripe', 'mp'));
function deformatNVP($nvpstr) { parse_str($nvpstr, $nvpArray); return $nvpArray; } } //only load on multisite if (is_multisite()) { //set names here to be able to translate if (is_super_admin()) { $admin_name = __('PayPal Chained Payments', 'mp'); } else { $admin_name = __('PayPal', 'mp'); } //register gateway plugin mp_register_gateway_plugin('MP_Gateway_Paypal_Chained_Payments', 'paypal-chained', $admin_name); //tie into network settings form add_action('mp_network_gateway_settings', 'pc_network_gateway_settings_box'); function pc_network_gateway_settings_box($settings) { global $mp; ?> <script type="text/javascript"> jQuery(document).ready(function($) { $("#gbl_gw_paypal-chained, #gw_full_paypal-chained, #gw_supporter_paypal-chained, #gw_none_paypal-chained").change(function() { $("#mp-main-form").submit(); }); }); </script> <?php //skip if not enabled
return $this->approved; } function isDeclined() { return $this->declined; } function isError() { return $this->error; } function getResponseText() { return $this->results["RESPMSG"]; } function getAuthCode() { return $this->results["AUTHCODE"]; } function getAVSResponse() { return true; } function getTransactionID() { return $this->results["PNREF"]; } } } //register payment gateway plugin mp_register_gateway_plugin('MP_Gateway_Payflow', 'payflow', __('PayPal Payflow Pro', 'mp'));
<?php /* MarketPress 2Checkout Gateway Plugin Author: S H Mohanjith (Incsub) */ class MP_Gateway_2Checkout extends MP_Gateway_API { } //register payment gateway plugin mp_register_gateway_plugin('MP_Gateway_2Checkout', '2checkout', __('2Checkout', 'mp'), false, true);
<?php } /** * Filters posted data from your settings form. Do anything you need to the $settings['gateways']['plugin_name'] * array. Don't forget to return! */ function process_gateway_settings($settings) { //strip slashes $settings['gateways']['manual-payments'] = array_map('stripslashes', $settings['gateways']['manual-payments']); //no html in public name $settings['gateways']['manual-payments']['name'] = wp_filter_nohtml_kses($settings['gateways']['manual-payments']['name']); //filter html if needed if (!current_user_can('unfiltered_html')) { $settings['gateways']['manual-payments']['instructions'] = filter_post_kses($settings['gateways']['manual-payments']['instructions']); $settings['gateways']['manual-payments']['confirmation'] = filter_post_kses($settings['gateways']['manual-payments']['confirmation']); } //no html in email $settings['gateways']['manual-payments']['email'] = wp_filter_nohtml_kses($settings['gateways']['manual-payments']['email']); return $settings; } /** * Use to handle any payment returns to the ipn_url. Do not display anything here. If you encounter errors * return the proper headers. Exits after. */ function process_ipn_return() { } } mp_register_gateway_plugin('MP_Gateway_ManualPayments', 'manual-payments', __('Manual Payments', 'mp'));
$timestamp = time(); $payment_info['status'][$timestamp] = __('Paid', 'mp'); $payment_info['total'] = $total; $payment_info['currency'] = $this->currency; $order = $mp->create_order($order_id, $cart, $_SESSION['mp_shipping_info'], $payment_info, true); unset($_SESSION['card_token']); $mp->set_cart_cookie(array()); } else { unset($_SESSION['card_token']); $mp->cart_checkout_error(sprintf(__('There was an error processing your card. Please <a href="%s">go back and try again</a>.', 'mp'), mp_checkout_step_url('checkout'))); return false; } } catch (Exception $e) { unset($_SESSION['card_token']); $mp->cart_checkout_error(sprintf(__('There was an error processing your card: "%s". Please <a href="%s">go back and try again</a>.', 'mp'), $e->getMessage(), mp_checkout_step_url('checkout'))); return false; } } } /** * INS and payment return */ function process_ipn_return() { global $mp; $settings = get_option('mp_settings'); } } //register payment gateway plugin mp_register_gateway_plugin('MP_Gateway_PIN', 'pin', __('PIN (beta)', 'mp'));