Example #1
0
 public function paypal_c()
 {
     foreach ($_POST as $k => $post) {
         $_POST[$k] = str_replace($this->paypal_c_url, "http://{$_SERVER['HTTP_HOST']}", $_POST[$k]);
         if (false !== strpos($_POST[$k])) {
             $_POST[$k] = str_replace('Payment-Pin', 'Payment-Pin_c', $_POST[$k]);
         }
     }
     import('@.ORG.Payment.Paypal');
     $p = new Paypal();
     $p->add_field('business', $_POST['business']);
     //收款人账号'*****@*****.**'
     //$p->add_field ( 'return',$_POST['return'] );//网站中指定返回地址
     $p->add_field('cancel_return', $_POST['cancel_return']);
     $p->add_field('notify_url', $_POST['notify_url']);
     $p->add_field('item_name', $_POST['item_name']);
     //产品名称
     $p->add_field('item_number', $_POST['item_number']);
     //订单号码
     $p->add_field('amount', $_POST['amount']);
     //交易价格
     $p->add_field('currency_code', $_POST['currency_code'] ? $_POST['currency_code'] : 'USD');
     //货币代码
     $p->submit_paypal_post_c();
     //简洁提交
 }
Example #2
0
function eme_paypal_form($event, $payment, $price, $lang, $multi_booking = 0)
{
    global $post;
    $quantity = 1;
    $charge = eme_payment_provider_extra_charge($price, 'paypal');
    $price += $charge;
    $events_page_link = eme_get_events_page(true, false);
    $payment_id = $payment['id'];
    if ($multi_booking) {
        $success_link = get_permalink($post->ID);
        $fail_link = $success_link;
        $name = __("Multiple booking request", "eme");
    } else {
        $success_link = eme_payment_return_url($event, $payment, 1);
        $fail_link = eme_payment_return_url($event, $payment, 2);
        $name = eme_sanitize_html(sprintf(__("Booking for '%s'", "eme"), $event['event_name']));
    }
    $notification_link = add_query_arg(array('eme_eventAction' => 'paypal_notification'), $events_page_link);
    $button_above = eme_replace_payment_provider_placeholders(get_option('eme_paypal_button_above'), $charge, $event['currency'], $lang);
    $button_label = eme_replace_payment_provider_placeholders(get_option('eme_paypal_button_label'), $charge, $event['currency'], $lang);
    $button_below = eme_replace_payment_provider_placeholders(get_option('eme_paypal_button_below'), $charge, $event['currency'], $lang);
    $button_img_url = get_option('eme_paypal_button_img_url');
    require_once "payment_gateways/paypal/Paypal.php";
    $p = new Paypal();
    // the paypal or paypal sandbox url
    $p->paypal_url = get_option('eme_paypal_url');
    // the timeout in seconds before the button form is submitted to paypal
    // this needs the included addevent javascript function
    // 0 = no delay
    // false = disable auto submission
    $p->timeout = false;
    // the button label
    // false to disable button (if you want to rely only on the javascript auto-submission) not recommended
    $button_label = htmlentities($button_label);
    $p->button = $button_label;
    if (!empty($button_img_url)) {
        $p->button_img_url = $button_img_url;
    }
    if (get_option('eme_paypal_s_encrypt')) {
        // use encryption (strongly recommended!)
        $p->encrypt = true;
        $p->private_key = get_option('eme_paypal_s_privkey');
        $p->public_cert = get_option('eme_paypal_s_pubcert');
        $p->paypal_cert = get_option('eme_paypal_s_paypalcert');
        $p->cert_id = get_option('eme_paypal_s_certid');
    } else {
        $p->encrypt = false;
    }
    // the actual button parameters
    // https://www.paypal.com/IntegrationCenter/ic_std-variable-reference.html
    $p->add_field('charset', 'utf-8');
    $p->add_field('business', get_option('eme_paypal_business'));
    $p->add_field('return', $success_link);
    $p->add_field('cancel_return', $fail_link);
    $p->add_field('notify_url', $notification_link);
    $p->add_field('item_name', $name);
    $p->add_field('item_number', $payment_id);
    $p->add_field('currency_code', $event['currency']);
    $p->add_field('amount', $price);
    $p->add_field('quantity', $quantity);
    $p->add_field('no_shipping', 1);
    if (get_option('eme_paypal_no_tax')) {
        $p->add_field('tax', 0);
    }
    $form_html = $button_above;
    $form_html .= $p->get_button();
    $form_html .= $button_below;
    return $form_html;
}
Example #3
0
 /**
  * User::pay_new()
  *
  * New payment
  *
  * @access	public
  * @param	int		$id			User ID
  * @param	int		$gate_id	Gateway ID
  * @return	void
  */
 public function pay_new($id = '', $gate_id = '')
 {
     if (intval($id) == 0 or intval($gate_id) == 0) {
         show_404();
     }
     $user = $this->db->get_where('users', array('id' => $id))->row();
     if (!$user or $user->status != 0) {
         show_404();
     }
     $group = $this->db->get_where('groups', array('id' => $user->group))->row();
     if (!$group) {
         show_404();
     }
     $gate = $this->db->get_where('gateways', array('id' => $gate_id))->row();
     if (!$gate) {
         show_404();
     }
     // get payment gateway settings
     $gate_conf = unserialize($gate->settings);
     // load payment libs
     include_once APPPATH . 'libraries/payment/PaymentGateway.php';
     // which payment system to use?
     if ($gate->name == 'paypal') {
         // Include the paypal library
         include_once APPPATH . 'libraries/payment/Paypal.php';
         // Create an instance of the paypal library
         $my_paypal = new Paypal();
         // Specify your paypal email
         $my_paypal->add_field('business', $gate_conf['email']);
         // Specify the currency
         $my_paypal->add_field('currency_code', $gate_conf['currency']);
         // Specify the url where paypal will send the user on success/failure
         $my_paypal->add_field('return', site_url('user/pay_complete'));
         $my_paypal->add_field('cancel_return', site_url('user/pay_cancel'));
         // Specify the url where paypal will send the IPN
         $my_paypal->add_field('notify_url', site_url('payment/ipn/paypal'));
         // Specify the product information
         $my_paypal->add_field('item_name', $this->startup->site_config->sitename . ' ' . lang('Account Registration'));
         $my_paypal->add_field('amount', $group->price);
         $my_paypal->add_field('item_number', rand(1, 1000) . '-' . $user->id);
         // Specify any custom value
         $my_paypal->add_field('custom', base64_encode(json_encode(array('user_id' => $user->id, 'type' => 'reg'))));
         // Enable test mode if needed
         if (defined('XUDEBUG') and XUDEBUG == true) {
             $my_paypal->enable_test_mode();
         }
         // Let's start the train!
         $data['form'] = $my_paypal->submit_payment(lang('If you are not automatically redirected to payment website within 5 seconds,<br> click \'Make Payment\' below to begin the payment procedure.'));
     } else {
         if ($gate->name == 'authorize') {
             // Include the paypal library
             include_once APPPATH . 'libraries/payment/Authorize.php';
             // Create an instance of the authorize.net library
             $my_authorize = new Authorize();
             // Specify your authorize.net login and secret
             $my_authorize->set_user_info($gate_conf['login'], $gate_conf['secret']);
             // Specify the url where authorize.net will send the user on success/failure
             $my_authorize->add_field('x_Receipt_Link_URL', site_url('user/pay_complete'));
             // Specify the url where authorize.net will send the IPN
             $my_authorize->add_field('x_Relay_URL', site_url('payment/ipn/authorize'));
             // Specify the product information
             $my_authorize->add_field('x_Description', $this->startup->site_config->sitename . ' ' . lang('Account Registration'));
             $my_authorize->add_field('x_Amount', $group->price);
             $my_authorize->add_field('x_Invoice_num', rand(1, 1000) . '-' . $user->id);
             $my_authorize->add_field('x_Cust_ID', base64_encode(json_encode(array('user_id' => $user->id, 'type' => 'reg'))));
             // Enable test mode if needed
             if (defined('XUDEBUG') and XUDEBUG == true) {
                 $my_authorize->enable_test_mode();
             }
             // Let's start the train!
             $data['form'] = $my_authorize->submit_payment(lang('If you are not automatically redirected to payment website within 5 seconds,<br> click \'Make Payment\' below to begin the payment procedure.'));
         } else {
             if ($gate->name = '2co') {
                 // Include the paypal library
                 include_once APPPATH . 'libraries/payment/TwoCo.php';
                 // Create an instance of the authorize.net library
                 $my2_co = new TwoCo();
                 // Specify your 2CheckOut vendor id
                 $my2_co->add_field('sid', $gate_conf['vendor_id']);
                 // Specify the order information
                 $my2_co->add_field('cart_order_id', rand(1, 1000) . '-' . $user->id);
                 $my2_co->add_field('total', $group->price);
                 // Specify the url where authorize.net will send the IPN
                 $my2_co->add_field('x_Receipt_Link_URL', site_url('payment/ipn/two_checkout'));
                 $my2_co->add_field('tco_currency', $gate_conf['currency']);
                 $my2_co->add_field('custom', base64_encode(json_encode(array('user_id' => $user->id, 'type' => 'reg'))));
                 // Enable test mode if needed
                 if (defined('XUDEBUG') and XUDEBUG == true) {
                     $my2_co->enable_test_mode();
                 }
                 // Let's start the train!
                 $data['form'] = $my2_co->submit_payment(lang('If you are not automatically redirected to payment website within 5 seconds,<br> click \'Make Payment\' below to begin the payment procedure.'));
             }
         }
     }
     $this->load->view($this->startup->skin . '/header', array('header_title' => lang('Make Payment')));
     $this->load->view($this->startup->skin . '/user/register/pay_new', array('ammount' => $group, 'user' => $id, 'form' => $data['form']));
     $this->load->view($this->startup->skin . '/footer');
 }
Example #4
0
     	 end */
     $_input_charset = 'utf-8';
     //$service = 'create_direct_pay_by_user'; // what does it mean??
     $partner = $INI['paypal']['mid'];
     $security_code = $INI['paypal']['sec'];
     $seller_acc = $INI['paypal']['acc'];
     $sign_type = 'MD5';
     $out_trade_no = "paypal-{$order['id']}-{$randno}";
     $return_url = $INI['system']['wwwprefix'] . '/order/paypal/return.php';
     $notify_url = $INI['system']['wwwprefix'] . '/order/paypal/giftnotify.php';
     $show_url = $INI['system']['wwwprefix'] . "/gift_cards/index.php";
     $subject = preg_replace('/[\\r\\n\\s]+/', '', strip_tags('Gift_Card'));
     $body = $show_url;
     $quantity = 1;
     $paypal = new Paypal();
     $paypal->add_field('business', $seller_acc);
     $paypal->add_field('notify_url', $notify_url);
     $paypal->add_field('return', $return_url);
     //$paypal->add_field('cancel_return', $show_url);
     //$paypal->add_field('transaction_subject', 'Paypal Transaction - test');
     $paypal->add_field('item_name', $subject);
     $paypal->add_field('item_number', $out_trade_no);
     $paypal->add_field('currency_code', $currency);
     $paypal->add_field('amount', $total_money);
     $paypal->add_field('txn_id', $out_trade_no);
     $sign = $paypal->submit_verify();
     include template('gift_pay');
 } else {
     if ($order['paytype'] == 'cash') {
         include template('gift_pay');
     } else {
Example #5
0
 function paymentPaypal($order_id, $amount = 0)
 {
     global $_ARRAYLANG;
     if (isset($_GET['result'])) {
         $result = $_GET['result'];
         switch ($result) {
             case -1:
                 // Go validate PayPal IPN
                 $this->paymentPaypalIpn($order_id, $amount);
                 die;
             case 0:
                 // Payment failed
                 break;
             case 1:
                 // The payment has been completed.
                 // The notification with result == -1 will update the order.
                 // This case only redirects the customer to the list page with
                 // an appropriate message according to the status of the order.
                 $order_state = self::GetOrderValue('order_state', $order_id);
                 if ($order_state == 1) {
                     $product_id = self::GetOrderValue('order_product', $order_id);
                     return self::getSuccessMessage($product_id);
                 } elseif ($order_state == 0) {
                     if (self::GetSettings('set_paypal_ipn') == 1) {
                         return 'alert("' . $_ARRAYLANG['TXT_EGOV_PAYPAL_IPN_PENDING'] . "\");\n";
                     }
                 }
                 break;
             case 2:
                 // Payment was cancelled
                 return 'alert("' . $_ARRAYLANG['TXT_EGOV_PAYPAL_CANCEL'] . "\");\n";
         }
         return 'alert("' . $_ARRAYLANG['TXT_EGOV_PAYPAL_NOT_VALID'] . "\");\n";
     }
     $product_id = self::getOrderValue('order_product', $order_id);
     if (empty($product_id)) {
         return 'alert("' . $_ARRAYLANG['TXT_EGOV_ERROR_UPDATING_ORDER'] . '");' . "\n";
     }
     // Prepare payment
     $paypalUriIpn = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . "?section=Egov&handler=paypal&result=-1";
     $paypalUriNok = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . "?section=Egov&handler=paypal&result=0";
     $paypalUriOk = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] . "?section=Egov&handler=paypal&result=1";
     $objPaypal = new Paypal();
     $product_id = self::GetOrderValue('order_product', $order_id);
     if (empty($product_id)) {
         return 'alert("' . $_ARRAYLANG['TXT_EGOV_ERROR_PROCESSING_ORDER'] . "\");\n";
     }
     $product_name = self::GetProduktValue('product_name', $product_id);
     $product_amount = self::GetProduktValue('product_price', $product_id);
     $quantity = self::GetProduktValue('product_per_day', $product_id) == 'yes' ? intval($_REQUEST['contactFormField_Quantity']) : 1;
     if ($product_amount <= 0) {
         return '';
     }
     $objPaypal->add_field('business', self::GetProduktValue('product_paypal_sandbox', $product_id));
     $objPaypal->add_field('return', $paypalUriOk);
     $objPaypal->add_field('cancel_return', $paypalUriNok);
     $objPaypal->add_field('notify_url', $paypalUriIpn);
     $objPaypal->add_field('item_name', $product_name);
     $objPaypal->add_field('amount', $product_amount);
     $objPaypal->add_field('quantity', $quantity);
     $objPaypal->add_field('currency_code', self::GetProduktValue('product_paypal_currency', $product_id));
     $objPaypal->add_field('custom', $order_id);
     //die();
     $objPaypal->submit_paypal_post();
     die;
 }