Post by Nayar » Wed Aug 18, 2010 1:46 am

May peace be upon you.
I don't know why in this screeny, alertpay doesn't pick the product infos.
alertpayerror.JPG

alertpayerror.JPG (57.66 KiB) Viewed 3131 times

Code: Select all

demo: http://nayarweb.com/shop/index.php?route=product/product&product_id=50
Regards

User avatar
Newbie

Posts

Joined
Mon Aug 16, 2010 10:30 am


Post by HTMLCSSNoob » Tue Aug 24, 2010 7:26 pm

I'm having the same issue.

Does anyone have a solution to this problem? I assume it's a problem with the code? I'm posting the alertpay module's code below in case anyone wants to take a dive into it.

Code: Select all

<?php
class ControllerPaymentAlertPay extends Controller {
	private $error = array(); 

	public function index() {
		$this->load->language('payment/alertpay');

		$this->document->title = $this->language->get('heading_title');
		
		$this->load->model('setting/setting');
			
		if (($this->request->server['REQUEST_METHOD'] == 'POST') && ($this->validate())) {
			$this->load->model('setting/setting');
			
			$this->model_setting_setting->editSetting('alertpay', $this->request->post);				
			
			$this->session->data['success'] = $this->language->get('text_success');

			$this->redirect(HTTPS_SERVER . 'index.php?route=extension/payment&token=' . $this->session->data['token']);
		}

		$this->data['heading_title'] = $this->language->get('heading_title');

		$this->data['text_enabled'] = $this->language->get('text_enabled');
		$this->data['text_disabled'] = $this->language->get('text_disabled');
		$this->data['text_all_zones'] = $this->language->get('text_all_zones');
		
		$this->data['entry_merchant'] = $this->language->get('entry_merchant');
		$this->data['entry_security'] = $this->language->get('entry_security');
		$this->data['entry_callback'] = $this->language->get('entry_callback');
		$this->data['entry_order_status'] = $this->language->get('entry_order_status');		
		$this->data['entry_geo_zone'] = $this->language->get('entry_geo_zone');
		$this->data['entry_status'] = $this->language->get('entry_status');
		$this->data['entry_sort_order'] = $this->language->get('entry_sort_order');

		$this->data['button_save'] = $this->language->get('button_save');
		$this->data['button_cancel'] = $this->language->get('button_cancel');

		$this->data['tab_general'] = $this->language->get('tab_general');

  		if (isset($this->error['warning'])) {
			$this->data['error_warning'] = $this->error['warning'];
		} else {
			$this->data['error_warning'] = '';
		}

 		if (isset($this->error['merchant'])) {
			$this->data['error_merchant'] = $this->error['merchant'];
		} else {
			$this->data['error_merchant'] = '';
		}

 		if (isset($this->error['security'])) {
			$this->data['error_security'] = $this->error['security'];
		} else {
			$this->data['error_security'] = '';
		}
		
  		$this->document->breadcrumbs = array();

   		$this->document->breadcrumbs[] = array(
       		'href'      => HTTPS_SERVER . 'index.php?route=common/home&token=' . $this->session->data['token'],
       		'text'      => $this->language->get('text_home'),
      		'separator' => FALSE
   		);

   		$this->document->breadcrumbs[] = array(
       		'href'      => HTTPS_SERVER . 'index.php?route=extension/payment&token=' . $this->session->data['token'],
       		'text'      => $this->language->get('text_payment'),
      		'separator' => ' :: '
   		);

   		$this->document->breadcrumbs[] = array(
       		'href'      => HTTPS_SERVER . 'index.php?route=payment/alertpay&token=' . $this->session->data['token'],
       		'text'      => $this->language->get('heading_title'),
      		'separator' => ' :: '
   		);
				
		$this->data['action'] = HTTPS_SERVER . 'index.php?route=payment/alertpay&token=' . $this->session->data['token'];
		
		$this->data['cancel'] = HTTPS_SERVER . 'index.php?route=extension/payment&token=' . $this->session->data['token'];
		
		if (isset($this->request->post['alertpay_merchant'])) {
			$this->data['alertpay_merchant'] = $this->request->post['alertpay_merchant'];
		} else {
			$this->data['alertpay_merchant'] = $this->config->get('alertpay_merchant');
		}

		if (isset($this->request->post['alertpay_security'])) {
			$this->data['alertpay_security'] = $this->request->post['alertpay_security'];
		} else {
			$this->data['alertpay_security'] = $this->config->get('alertpay_security');
		}
		
		$this->data['callback'] = HTTP_CATALOG . 'index.php?route=payment/alertpay/callback';
		
		if (isset($this->request->post['alertpay_order_status_id'])) {
			$this->data['alertpay_order_status_id'] = $this->request->post['alertpay_order_status_id'];
		} else {
			$this->data['alertpay_order_status_id'] = $this->config->get('alertpay_order_status_id'); 
		} 
		
		$this->load->model('localisation/order_status');
		
		$this->data['order_statuses'] = $this->model_localisation_order_status->getOrderStatuses();
		
		if (isset($this->request->post['alertpay_geo_zone_id'])) {
			$this->data['alertpay_geo_zone_id'] = $this->request->post['alertpay_geo_zone_id'];
		} else {
			$this->data['alertpay_geo_zone_id'] = $this->config->get('alertpay_geo_zone_id'); 
		} 

		$this->load->model('localisation/geo_zone');
										
		$this->data['geo_zones'] = $this->model_localisation_geo_zone->getGeoZones();
		
		if (isset($this->request->post['alertpay_status'])) {
			$this->data['alertpay_status'] = $this->request->post['alertpay_status'];
		} else {
			$this->data['alertpay_status'] = $this->config->get('alertpay_status');
		}
		
		if (isset($this->request->post['alertpay_sort_order'])) {
			$this->data['alertpay_sort_order'] = $this->request->post['alertpay_sort_order'];
		} else {
			$this->data['alertpay_sort_order'] = $this->config->get('alertpay_sort_order');
		}
		
		$this->template = 'payment/alertpay.tpl';
		$this->children = array(
			'common/header',	
			'common/footer'	
		);
		
		$this->response->setOutput($this->render(TRUE), $this->config->get('config_compression'));
	}

	private function validate() {
		if (!$this->user->hasPermission('modify', 'payment/alertpay')) {
			$this->error['warning'] = $this->language->get('error_permission');
		}
		
		if (!$this->request->post['alertpay_merchant']) {
			$this->error['merchant'] = $this->language->get('error_merchant');
		}

		if (!$this->request->post['alertpay_security']) {
			$this->error['security'] = $this->language->get('error_security');
		}
		
		if (!$this->error) {
			return TRUE;
		} else {
			return FALSE;
		}	
	}
}
?>

Active Member

Posts

Joined
Fri Aug 20, 2010 7:53 am

Post by HTMLCSSNoob » Tue Aug 24, 2010 9:19 pm

I'm attaching a picture of what my checkout screen looks like too.

I would like to think that since the alertpay payment option comes built into OpenCart already, shouldn't this be something the developers take a look at?

Thanks!

Attachments

Alertpay Screen Shot.png

Alertpay Screen Shot.png (23.03 KiB) Viewed 3108 times


Active Member

Posts

Joined
Fri Aug 20, 2010 7:53 am

Post by HTMLCSSNoob » Thu Aug 26, 2010 11:26 am

Can anyone help with this???

I assume the code needs to be changed somewhere just a bit, but I'm not skilled at php yet so I have no idea where to change it.

Any help would be greatly appreciated!

Active Member

Posts

Joined
Fri Aug 20, 2010 7:53 am

Post by HTMLCSSNoob » Wed Oct 27, 2010 3:22 pm

I'm so close to figuring this out, but I just can't get it....I've found the files where the AlertPay Payment Module should send over the item name, description, etc. etc., I just can't figure out what to change the code to to make it send that information. Can someone pleaseeeeeeee take a look at it?

catalog/controller/payment/alertpay.php

Code: Select all

$this->data['action'] = 'https://www.alertpay.com/PayProcess.aspx';

        $this->data['ap_merchant'] = $this->config->get('alertpay_merchant');
        $this->data['ap_amount'] = $this->currency->format($order_info['total'], $order_info['currency'], $order_info['value'], FALSE);
        $this->data['ap_currency'] = $order_info['currency'];
        $this->data['ap_purchasetype'] = 'Item';
        $this->data['ap_itemname'] = $this->config->get('config_name') . ' - #' . $this->session->data['order_id'];
        $this->data['ap_itemcode'] = $this->session->data['order_id'];
        $this->data['ap_returnurl'] = HTTPS_SERVER . 'index.php?route=checkout/success'; 
catalog/view/theme/default/template/payment/alertpay.tpl

Code: Select all

<form action="<?php echo str_replace('&', '&', $action); ?>" method="post" id="checkout">
  <input type="hidden" name="ap_merchant" value="<?php echo $ap_merchant; ?>" />
  <input type="hidden" name="ap_amount" value="<?php echo $ap_amount; ?>" />
  <input type="hidden" name="ap_currency" value="<?php echo $ap_currency; ?>" />
  <input type="hidden" name="ap_purchasetype" value="<?php echo $ap_purchasetype; ?>" />
  <input type="hidden" name="ap_itemname" value="<?php echo $ap_itemname; ?>" />
  <input type="hidden" name="ap_itemcode" value="<?php echo $ap_itemcode; ?>" />
  <input type="hidden" name="ap_returnurl" value="<?php echo $ap_returnurl; ?>" />
  <input type="hidden" name="ap_cancelurl" value="<?php echo $ap_cancelurl; ?>" />
</form>

I looked on the Alertpay developers website, and they list that the advanced button parameters should look like this (if you were creating a stand alone button, not if you were trying to pull information from a cart)

Code: Select all

<form method="post" action="https://www.alertpay.com/PayProcess.aspx" >
    <input type="hidden" name="ap_merchant" value="apdevforum@gmail.com"/>
    <input type="hidden" name="ap_purchasetype" value="item-goods"/>
    <input type="hidden" name="ap_itemname" value="MP3 Player"/>
    <input type="hidden" name="ap_amount" value="50"/>
    <input type="hidden" name="ap_currency" value="USD"/>
    
    <input type="hidden" name="ap_quantity" value="2"/>
    <input type="hidden" name="ap_itemcode" value="XYZ123"/>
    <input type="hidden" name="ap_description" value="Lorem ipsum dolor sit amet. Proin eleifend congue congue."/>
    <input type="hidden" name="ap_returnurl" value="http://www.example.com/thankyou.html"/>
    <input type="hidden" name="ap_cancelurl" value="http://www.example.com/cancel.html"/>
    
    <input type="hidden" name="ap_taxamount" value="2.49"/>
    <input type="hidden" name="ap_additionalcharges" value="1.19"/>
    <input type="hidden" name="ap_shippingcharges" value="7.99"/> 
        
    <input type="hidden" name="ap_discountamount" value="4.99"/> 
    <input type="hidden" name="apc_1" value="Blue"/>
    
    <input type="image" src="https://www.alertpay.com//PayNow/4F59239578EA46C1AD168BA6E9BD2067g.gif"/>
</form>  
The above code they say will make the payment page look like the picture I am attaching.

So can someone please tell me how to make OpenCart send over the more detailed information to the AlertPay payment page? This is like the last thing I need to make my cart function the way I want it to.

Attachments

advanced_button_checkout_002.png

advanced_button_checkout_002.png (27.37 KiB) Viewed 2973 times


Active Member

Posts

Joined
Fri Aug 20, 2010 7:53 am

Post by al3xandr1a » Sat Jul 23, 2011 9:45 pm

I am experiencing this exact issue with AlertPay module. :(

Has any good troubleshooters up for the challenge of solving this one yet? Please!!! :'(

~al3xandr1a
Newbie / Student


User avatar
New member

Posts

Joined
Fri Jul 02, 2010 7:27 pm

Post by Qphoria » Sun Jul 24, 2011 3:09 am

There is no issue. The extension in the core just uses the "Simple Integration" for AlertPay. If you want individual items you need the "Advanced integration" option

Image
Donate!|OpenCart Basics|GeoZones
Image


User avatar
Administrator

Posts

Joined
Tue Jul 22, 2008 3:02 am

Post by al3xandr1a » Sun Jul 24, 2011 10:35 am

Qphoria wrote:There is no issue. The extension in the core just uses the "Simple Integration" for AlertPay. If you want individual items you need the "Advanced integration" option
Thank you for the response. I just wonder why the Advanced Integration was not used in the core?
In the Paypal core extension, individual items are shown so why can't we have it the same way with AlertPay...

If we are to try the Advanced Integration right now, can we have some step by step guide that we can follow, please. Thank you...

~al3xandr1a
Newbie / Student


User avatar
New member

Posts

Joined
Fri Jul 02, 2010 7:27 pm

Post by RHTDM » Sat Sep 03, 2011 1:10 am

Hi,

Can anyone have this module? Please tell me how to download it.

Thanks
Vilas

New member

Posts

Joined
Thu Oct 21, 2010 2:28 am
Who is online

Users browsing this forum: No registered users and 5 guests