News:

Looking for documentation? Take a look on our wiki

Main Menu

BidPay Direct Payments

Started by John, November 03, 2007, 18:53:52 PM

Previous topic - Next topic

John

I need help setting up a payment module for Bidpay

Highlands Ranch, Colo. – September 27, 2007 – Online payment service provider BidPay.com, Inc., a wholly owned subsidiary of CyberSource Corporation (NASDAQ: CYBS), today announced that online sellers and third party developers can now integrate BidPay as a payment option on their checkout pages.  Sellers can realize the benefits of BidPay as an alternative payment service across all online marketplaces from auctions to traditional Web stores.

https://www.bidpay.com/DirectPayments_PressRelease.aspx

https://api.bidpay.com/Documentation.aspx

https://api.bidpay.com/Documentation/dp_php.zip

https://api.bidpay.com/Documentation/tpp_php.zip

If anybody is interested let me know.

Thank you


John

There is already an oscommerce bidpay module:



<?php
/*
  $Id: $

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2007 osCommerce

  Released under the GNU General Public License
*/

  
class bidpay {
    var 
$code$title$description$enabled;

// class constructor
    
function bidpay() {
      global 
$HTTP_SERVER_VARS$order$customer_id;
      
$this->code 'bidpay';
      
$this->title MODULE_PAYMENT_BIDPAY_TEXT_TITLE;
      
$this->description MODULE_PAYMENT_BIDPAY_TEXT_DESCRIPTION;
      
$this->sort_order MODULE_PAYMENT_BIDPAY_SORT_ORDER;
      
$this->enabled = ((MODULE_PAYMENT_BIDPAY_STATUS == 'True') ? true false);

      if ((int)
MODULE_PAYMENT_BIDPAY_ORDER_STATUS_ID 0) {
        
$this->order_status MODULE_PAYMENT_BIDPAY_ORDER_STATUS_ID;
      }

      if (
is_object($order)) $this->update_status();

      if (
MODULE_PAYMENT_BIDPAY_TRANSACTION_SERVER == 'Live') {
        
$this->form_action_url 'https://www.bidpay.com/DirectPayment/Process.aspx';
      } else {
        
$this->form_action_url 'https://sandbox.bidpay.com/DirectPayment/Process.aspx';
      }
    }

// class methods
    
function update_status() {
      global 
$order;

      if ( (
$this->enabled == true) && ((int)MODULE_PAYMENT_BIDPAY_ZONE 0) ) {
        
$check_flag false;
        
$check_query tep_db_query("select zone_id from " TABLE_ZONES_TO_GEO_ZONES " where geo_zone_id = '" MODULE_PAYMENT_BIDPAY_ZONE "' and zone_country_id = '" $order->billing['country']['id'] . "' order by zone_id");
        while (
$check tep_db_fetch_array($check_query)) {
          if (
$check['zone_id'] < 1) {
            
$check_flag true;
            break;
          } elseif (
$check['zone_id'] == $order->billing['zone_id']) {
            
$check_flag true;
            break;
          }
        }

        if (
$check_flag == false) {
          
$this->enabled false;
        }
      }
    }

    function 
javascript_validation() {
      return 
false;
    }

    function 
selection() {
      return array(
'id' => $this->code,
                   
'module' => $this->title);
    }

    function 
pre_confirmation_check() {
      return 
false;
    }

    function 
confirmation() {
      return 
false;
    }

    function 
process_button() {
      global 
$HTTP_SERVER_VARS$order$customer_id,$currencies,$currency;

$my_currency='USD';

$process_button_string '';
$process_button_string .= tep_draw_hidden_field('cmd''_xclick');
$process_button_string .= tep_draw_hidden_field('sellerToken'MODULE_PAYMENT_BIDPAY_ID);
$process_button_string .= tep_draw_hidden_field('referenceNumber','');

for (
$i=0$n=sizeof($order->products); $i<$n$i++) {
$process_button_string .= tep_draw_hidden_field('item_'.$i.'_ItemNumber'$order->products[$i]['model']);
$process_button_string .= tep_draw_hidden_field('item_'.$i.'_ItemDescription'$order->products[$i]['qty'].' x '$order->products[$i]['name']);
$process_button_string .= tep_draw_hidden_field('item_'.$i.'_Site',HTTP_SERVER);
$process_button_string .= tep_draw_hidden_field('item_'.$i.'_ItemType','WebsitePurchase');
$process_button_string .= tep_draw_hidden_field('item_'.$i.'_Amount',$order->products[$i]['qty']*$order->products[$i]['final_price']);


if (
$i == 0){

$process_button_string .= tep_draw_hidden_field('item_0_ShippingAmount'number_format(($order->info['shipping_cost'] + $order->info['tax'])* $currencies->get_value($my_currency),$currencies->get_decimal_places($my_currency)));
#print $i;
}
else
{

$process_button_string .= tep_draw_hidden_field('item_'.$i.'_ShippingAmount','0');
#print $i;
}








}
$process_button_string .= tep_draw_hidden_field('returnUrl'tep_href_link(FILENAME_CHECKOUT_PROCESS'''SSL'));


#print MODULE_PAYMENT_BIDPAY_ID."<br/>";
#print STORE_NAME."<br/>";
#print $customer_id ."<br/>";
#print number_format(($order->info['total'] - $order->info['shipping_cost']) * $currencies->get_value($my_currency), 
#$currencies->get_decimal_places($my_currency))."<br/>";
#print number_format($order->info['shipping_cost'] * $currencies->get_value($my_currency),$currencies->get_decimal_places($my_currency))."<br/>";
#print HTTP_SERVER;
#print tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL');
      
return $process_button_string;
    }

    function 
before_process() {
      return 
false;
    }

    function 
after_process() {
      return 
false;
    }

    function 
output_error() {
      return 
false;
    }

    function 
check() {
      if (!isset(
$this->_check)) {
        
$check_query tep_db_query("select configuration_value from " TABLE_CONFIGURATION " where configuration_key = 'MODULE_PAYMENT_BIDPAY_STATUS'");
        
$this->_check tep_db_num_rows($check_query);
      }
      return 
$this->_check;
    }

    function 
install() {
      
tep_db_query("insert into " TABLE_CONFIGURATION " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Bidpay Module', 'MODULE_PAYMENT_BIDPAY_STATUS', 'True', 'Do you want to accept Bidpay payments?', '6', '3', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");
      
tep_db_query("insert into " TABLE_CONFIGURATION " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Seller Token', 'MODULE_PAYMENT_BIDPAY_ID', '', 'The Seller Token to use for the Bidpay service', '6', '4', now())");
      
tep_db_query("insert into " TABLE_CONFIGURATION " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Transaction Server', 'MODULE_PAYMENT_BIDPAY_TRANSACTION_SERVER', 'Live', 'The server to use to process transactions', '6', '3', 'tep_cfg_select_option(array(\'Live\', \'Sandbox\'), ', now())");
      
tep_db_query("insert into " TABLE_CONFIGURATION " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort order of display.', 'MODULE_PAYMENT_BIDPAY_SORT_ORDER', '0', 'Sort order of display. Lowest is displayed first.', '6', '0', now())");
      
tep_db_query("insert into " TABLE_CONFIGURATION " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Payment Zone', 'MODULE_PAYMENT_BIDPAY_ZONE', '0', 'If a zone is selected, only enable this payment method for that zone.', '6', '2', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())");
      
tep_db_query("insert into " TABLE_CONFIGURATION " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, use_function, date_added) values ('Set Order Status', 'MODULE_PAYMENT_BIDPAY_ORDER_STATUS_ID', '0', 'Set the status of orders made with this payment module to this value', '6', '0', 'tep_cfg_pull_down_order_statuses(', 'tep_get_order_status_name', now())");
    }

    function 
remove() {
      
tep_db_query("delete from " TABLE_CONFIGURATION " where configuration_key in ('" implode("', '"$this->keys()) . "')");
    }

    function 
keys() {
      return array(
'MODULE_PAYMENT_BIDPAY_STATUS''MODULE_PAYMENT_BIDPAY_ID''MODULE_PAYMENT_BIDPAY_TRANSACTION_SERVER''MODULE_PAYMENT_BIDPAY_ZONE''MODULE_PAYMENT_BIDPAY_ORDER_STATUS_ID''MODULE_PAYMENT_BIDPAY_SORT_ORDER');
    }
  }
?>


Sylvia

Any progress on this?   I need a Bidpay payment module also.   :)

sylvia

John

#3
Not yet, Sigh.... Anybody, Amazon Payments Is Out, Contact Me Lets Hire A PHP Programmer & Split it 50/50...