Guest Posted June 27, 2005 Share Posted June 27, 2005 hahahaha i knew a thread like this would be here! add me to the list for happy paypal experience! aldaffodil- pm me, as of right now ive started the path into developing a module for paypal pro. im thinking if we had a few more working together, each handling a different aspect or combined this can be a feature in use by weeks end! any experienced developers want to lend some assitance/input? Quote Link to comment Share on other sites More sharing options...
aldaffodil Posted June 27, 2005 Share Posted June 27, 2005 Super dude! ! let us know when this comes out Thanks <{POST_SNAPBACK}> Well, I just hit a brickwall. I downloaded the PayPal PHP SDK package to get started and all that was included was a text file that said the package would be available the last week of June. So, I guess I'll just have to keep checking until they release it and hopefully it will be pretty simple. Quote Link to comment Share on other sites More sharing options...
Guest Posted June 27, 2005 Share Posted June 27, 2005 So, why don't you all just start your own PayPal bashing post and leave this one to those who actually want to use the new service? I've used PayPal for a little over two years now and have never had one single problem. It is great for keeping costs down for small, home-office retailers like myself. I am going to try to work on a new contribution for the website payments pro, but who knows how far I'll get before it all comes crashing down :-) I am hoping to work on it tomorrow, and if I run into any problems, I'll try to post them here for a little help. <{POST_SNAPBACK}> I'll be looking forward to seeing how this works out! :D Quote Link to comment Share on other sites More sharing options...
ding1251 Posted June 28, 2005 Share Posted June 28, 2005 yea regardless of how others may feel, i want to utilize the new service. <{POST_SNAPBACK}> me too. Quote Link to comment Share on other sites More sharing options...
ackfeldwire Posted June 28, 2005 Share Posted June 28, 2005 Yes this contribution is a must. I only wish I knew enough about PHP to do it myself. Unfortunatly when it comes to writing code from scratch I am nothing more than a "POSER". Now reverse enginering and modifiying I rock at! LOL Shhhhhhh As far as paypal problems we all have problems with something. I have been using paypal since it was created so long ago I cant remember when it started LOL! Never had a problem that I did not create. I would get upset when I would login and there would be no money in there. After blaming paypal for that I then relized I spent it on Beer and Cigaretts at the bar last night!!!!!! LOL Quote Paintball, Coding, and Hotpockets does it get better than this! Link to comment Share on other sites More sharing options...
charmdiva Posted June 28, 2005 Share Posted June 28, 2005 This is ideal for me. I sell dolls, doll furniture and clothing and have most of my sales during the Christmas shopping season. I don't want to be paying monthly fees on a merchant account for the rest of the year. This PayPal option doesn't require any long-term contract. It won't work for everyone, but there are those of us that could put it to good use. Quote Link to comment Share on other sites More sharing options...
andrey_kong Posted June 29, 2005 Share Posted June 29, 2005 Dear xx, Thank you for contacting PayPal. We apologize for the delay in responding to your service request. I sincerely apologize for the inconvenience, but Website Payments Pro is a feature for US Business/Premier accounts only. At this time there is no timeframe for expanding the availability of this service. I understand your frustration regarding this matter and apologize for any inconvenience it might have caused you. Sincerely, xx PayPal Community Support PayPal, an eBay Company ======================================= I hope google can make something better, well they always did, something takes advantage of the internet - Instant & International Quote Link to comment Share on other sites More sharing options...
Guest Posted June 29, 2005 Share Posted June 29, 2005 aldaffodil- try get get the sdk now.... Quote Link to comment Share on other sites More sharing options...
cwdmark Posted June 29, 2005 Share Posted June 29, 2005 (edited) is anyone working on this contribution yet? i already have an account subscribed on it and im opening a business with someone else in about a week.. need this ASAP!!! if no one started on this im just gonna try to haphazardly make one myself. there are no downsides at all to using this service, we looked it all around and its fabulous. you don't pay anything until end of october as well. right now its free for everyone :) Edited June 29, 2005 by cwdmark Quote Link to comment Share on other sites More sharing options...
Guest Posted June 29, 2005 Share Posted June 29, 2005 Im doing a crash course on all this now, anyone else working on the paypal pro system? i want to have this running and working tonight, weeks end no later!!! Quote Link to comment Share on other sites More sharing options...
pigames Posted June 29, 2005 Share Posted June 29, 2005 Im doing a crash course on all this now, anyone else working on the paypal pro system? i want to have this running and working tonight, weeks end no later!!! <{POST_SNAPBACK}> I've totally rewritten the old paypal module, but this IPN stuff confuses the hell out of me. Sorry. I can help test and tweak it though if that's of any help. Anyone know if you need SSL for this, or does it still use paypal's secure server? Quote Link to comment Share on other sites More sharing options...
Mediajuggle Posted June 29, 2005 Author Share Posted June 29, 2005 I've totally rewritten the old paypal module, but this IPN stuff confuses the hell out of me. Sorry. I can help test and tweak it though if that's of any help. Anyone know if you need SSL for this, or does it still use paypal's secure server? <{POST_SNAPBACK}> I think it still uses paypal's secure server... Quote My Contribution Music Download Store Template http://www.oscommerce.com/community/contributions,4275 Link to comment Share on other sites More sharing options...
Guest Posted June 29, 2005 Share Posted June 29, 2005 has anyone looked at the php developer's kit yet? Quote Link to comment Share on other sites More sharing options...
strike1150 Posted June 29, 2005 Share Posted June 29, 2005 has anyone looked at the php developer's kit yet? <{POST_SNAPBACK}> i had a look of the sdk. my first thought is we can have two modules in one package, one for direct payment, one for express checkout. It should be easy to implement the direct payment modue and here is what i got after 2 hour reading docs and cut/paste(DIRECT PAYMENT ONLY & INCOMPLETE & NOT TESTED): <?php /* $Id: paypal_cc.php,v 0.1 2005/06/28 11:55:01 hq Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2005 osCommerce Released under the GNU General Public License */ class paypal_cc { var $code, $title, $description, $enabled; // class constructor function paypal_cc() { global $order; $this->code = 'paypal_cc'; $this->title = MODULE_PAYMENT_PAYPAL_CC_TEXT_TITLE; $this->description = MODULE_PAYMENT_PAYPAL_CC_TEXT_DESCRIPTION; $this->sort_order = MODULE_PAYMENT_PAYPAL_CC_SORT_ORDER; $this->enabled = ((MODULE_PAYMENT_PAYPAL_CC_STATUS == 'True') ? true : false); if ((int)MODULE_PAYMENT_PAYPAL_CC_ORDER_STATUS_ID > 0) { $this->order_status = MODULE_PAYMENT_PAYPAL_CC_ORDER_STATUS_ID; } if (is_object($order)) $this->update_status(); } // class methods function update_status() { global $order; if ( ($this->enabled == true) && ((int)MODULE_PAYMENT_PAYPAL_CC_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_PAYPAL_CC_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() { $js = ' if (payment_value == "' . $this->code . '") {' . "\n" . ' var cc_firstname = document.checkout_payment.paypal_cc_firstname.value;' . "\n" . ' var cc_lastname = document.checkout_payment.paypal_cc_lastname.value;' . "\n" . ' var cc_number = document.checkout_payment.paypal_cc_number.value;' . "\n" . ' var cc_cvv2 = document.checkout_payment.paypal_cc_cvv2.value;' . "\n" . ' if (cc_firstname == "" || cc_firstname.length < ' . CC_OWNER_MIN_LENGTH . ') {' . "\n" . ' error_message = error_message + "' . MODULE_PAYMENT_PAYPAL_CC_TEXT_JS_CC_FIRSTNAME . '";' . "\n" . ' error = 1;' . "\n" . ' }' . "\n" . ' if (cc_lastname == "" || cc_lastname.length < ' . CC_OWNER_MIN_LENGTH . ') {' . "\n" . ' error_message = error_message + "' . MODULE_PAYMENT_PAYPAL_CC_TEXT_JS_CC_LASTNAME . '";' . "\n" . ' error = 1;' . "\n" . ' }' . "\n" . ' if (cc_number == "" || cc_number.length < ' . CC_NUMBER_MIN_LENGTH . ') {' . "\n" . ' error_message = error_message + "' . MODULE_PAYMENT_PAYPAL_CC_TEXT_JS_CC_NUMBER . '";' . "\n" . ' error = 1;' . "\n" . ' }' . "\n" . ' if (cc_cvv2 == "" || cc_cvv2.length > 4) {' . "\n" . ' error_message = error_message + "' . MODULE_PAYMENT_PAYPAL_CC_TEXT_JS_CC_CVV2 . '";' . "\n" . ' error = 1;' . "\n" . ' }' . "\n" . ' }' . "\n"; return $js; } function selection() { global $order; for ($i=1; $i<13; $i++) { $expires_month[] = array('id' => sprintf('%02d', $i), 'text' => strftime('%B',mktime(0,0,0,$i,1,2000))); } $today = getdate(); for ($i=$today['year']; $i < $today['year']+10; $i++) { $expires_year[] = array('id' => strftime('%y',mktime(0,0,0,1,1,$i)), 'text' => strftime('%Y',mktime(0,0,0,1,1,$i))); } $selection = array('id' => $this->code, 'module' => $this->title, 'fields' => array(array('title' => MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_FIRSTNAME, 'field' => tep_draw_input_field('paypal_cc_firstname', $order->billing['firstname'])), array('title' => MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_LASTNAME, 'field' => tep_draw_input_field('paypal_cc_lastname', $order->billing['lastname'])), array('title' => MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_NUMBER, 'field' => tep_draw_input_field('paypal_cc_number')), array('title' => MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_CVV2, 'field' => tep_draw_input_field('paypal_cc_cvv2')), array('title' => MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_EXPIRES, 'field' => tep_draw_pull_down_menu('paypal_cc_expires_month', $expires_month) . ' ' . tep_draw_pull_down_menu('paypal_cc_expires_year', $expires_year)))); return $selection; } function pre_confirmation_check() { global $HTTP_POST_VARS; include(DIR_WS_CLASSES . 'cc_validation.php'); $cc_validation = new cc_validation(); $result = $cc_validation->validate($HTTP_POST_VARS['paypal_cc_number'], $HTTP_POST_VARS['paypal_cc_expires_month'], $HTTP_POST_VARS['paypal_cc_expires_year']); $error = ''; switch ($result) { case -1: $error = sprintf(TEXT_CCVAL_ERROR_UNKNOWN_CARD, substr($cc_validation->cc_number, 0, 4)); break; case -2: case -3: case -4: $error = TEXT_CCVAL_ERROR_INVALID_DATE; break; case false: $error = TEXT_CCVAL_ERROR_INVALID_NUMBER; break; } if ( ($result == false) || ($result < 1) ) { $payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode($error) . '&cc_owner=' . urlencode($HTTP_POST_VARS['cc_owner']) . '&cc_expires_month=' . $HTTP_POST_VARS['cc_expires_month'] . '&cc_expires_year=' . $HTTP_POST_VARS['cc_expires_year']; tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false)); } $this->cc_card_type = $cc_validation->cc_type; $this->cc_card_number = $cc_validation->cc_number; $this->cc_expiry_month = $cc_validation->cc_expiry_month; $this->cc_expiry_year = $cc_validation->cc_expiry_year; } function confirmation() { global $HTTP_POST_VARS; $confirmation = array('title' => $this->title . ': ' . $this->cc_card_type, 'fields' => array(array('title' => MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_FIRSTNAME, 'field' => $HTTP_POST_VARS['paypal_cc_firstname']), array('title' => MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_LASTNAME, 'field' => $HTTP_POST_VARS['paypal_cc_lastname']), array('title' => MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_NUMBER, 'field' => substr($this->cc_card_number, 0, 4) . str_repeat('X', (strlen($this->cc_card_number) - 8)) . substr($this->cc_card_number, -4)), array('title' => MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_CVV2, 'field' => $HTTP_POST_VARS['paypal_cc_cvv2']), array('title' => MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_EXPIRES, 'field' => strftime('%B, %Y', mktime(0,0,0,$HTTP_POST_VARS['paypal_cc_expires_month'], 1, '20' . $HTTP_POST_VARS['paypal_cc_expires_year']))))); return $confirmation; } function process_button() { global $HTTP_POST_VARS; $process_button_string = tep_draw_hidden_field('cc_firstname', $HTTP_POST_VARS['paypal_cc_firstname']) . tep_draw_hidden_field('cc_lastname', $HTTP_POST_VARS['paypal_cc_lastname']) . tep_draw_hidden_field('cc_expire_month', $this->cc_expires_month) . tep_draw_hidden_field('cc_expire_year', $this->cc_expires_year) . tep_draw_hidden_field('cc_type', $this->cc_card_type) . tep_draw_hidden_field('cc_number', $this->cc_card_number) . tep_draw_hidden_field('cc_cvv2', $this->cc_cvv2); return $process_button_string; } function before_process() { global $HTTP_POST_VARS, $order; require_once (DIR_WS_INCLUDES . 'Services_PayPal/PayPal.php'); require_once (DIR_WS_INCLUDES . 'Services_PayPal/PayPal/Profile/Handler/Array.php'); require_once (DIR_WS_INCLUDES . 'Services_PayPal/PayPal/Profile/API.php'); // Settings. if(MODULE_PAYMENT_PAYPAL_CC_GATEWAY_SERVER == 'Live') { $certfile = DIR_FS_CATALOG. 'includes/Services_PayPal/PayPal/cert/live.paypal.com.pem'; } else { $certfile = DIR_FS_CATALOG. 'includes/Services_PayPal/PayPal/cert/sandbox.paypal.com.pem'; } $certpass = ''; $apiusername = MODULE_PAYMENT_PAYPAL_CC_USERNAME; $apipassword = MODULE_PAYMENT_PAYPAL_CC_PASSWORD; $subject = null; $environment = MODULE_PAYMENT_PAYPAL_CC_GATEWAY_SERVER; $handler =& ProfileHandler_Array::getInstance(array( 'username' => $apiusername, 'certificateFile' => $certfile, 'subject' => $subject, 'environment' => $environment)); $profile =& APIProfile::getInstance($apiusername, $handler); $profile->setAPIPassword($apipassword); $caller =& Services_PayPal::getCallerServices($profile); if(Services_PayPal::isError($caller)) { $payment_error_return = 'payment_error=' . $this->code . '&error=' . urlencode(MODULE_PAYMENT_PAYPAL_CC_TEXT_PROCESS_ERROR); tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, $payment_error_return, 'SSL', true, false)); } $name =& Services_PayPal::getType('PersonNameType'); $name->setFirstName($HTTP_POST_VARS['cc_firstname']); $name->setLastName($HTTP_POST_VARS['cc_lastname']); $address =& Services_PayPal::getType('AddressType'); $address->setStreet1($order->billing['street_address']); $address->setCityName($order->billing['city']); $address->setStateOrProvince($order->billing['state']); $address->setCountry($order->billing['country']); $address->setPostalCode($order->billing['postcode']); $payer =& Services_PayPal::getType('PayerInfoType'); $payer->setPayer($order->customer['email_address']); $payer->setPayerID($order->customer['email_address']); $payer->setPayerStatus('verified'); $payer->setPayerName($name); $payer->setPayerCountry($order->billing['country']); $payer->setAddress($address); $cc =& Services_PayPal::getType('CreditCardDetailsType'); $cc->setCreditCardType($HTTP_POST_VARS['cc_type']); $cc->setCreditCardNumber($HTTP_POST_VARS['cc_number']); $cc->setExpMonth($HTTP_POST_VARS['cc_expire_month']); $cc->setExpYear($HTTP_POST_VARS['cc_expire_year']); $cc->setCVV2($HTTP_POST_VARS['cc_cvv2']); $cc->setCardOwner($payer); $amount =& Services_PayPal::getType('BasicAmountType'); $amount->setval(number_format($order->info['total'])); $amount->setattr('currencyID', $order->info['currency']); $pdt =& Services_PayPal::getType('PaymentDetailsType'); $pdt->setOrderTotal($amount); $details =& Services_PayPal::getType('DoDirectPaymentRequestDetailsType'); $details->setPaymentAction('Sale'); $details->setPaymentDetails($pdt); $details->setCreditCard($cc); $details->setIPAddress($HTTP_REMOTE_ADDR); $details->setMerchantSessionId(session_id()); $ddp =& Services_PayPal::getType('DoDirectPaymentRequestType'); $ddp->setDoDirectPaymentRequestDetails($details); $response = $caller->DoDirectPayment($ddp); $errors = $response->getErrors(); if($errors) { // error handling tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, 'error_message=' . urlencode(MODULE_PAYMENT_PAYPAL_CC_TEXT_DECLINED_MESSAGE), 'SSL', true, false)); } } function after_process() { return false; } function get_error() { global $HTTP_GET_VARS; $error = array('title' => MODULE_PAYMENT_PAYPAL_CC_TEXT_ERROR, 'error' => stripslashes(urldecode($HTTP_GET_VARS['error']))); return $error; } function check() { if (!isset($this->_check)) { $check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_PAYMENT_PAYPAL_CC_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 PayPal Direct Payment Module', 'MODULE_PAYMENT_PAYPAL_CC_STATUS', 'True', 'Do you want to accept credit card payments through PayPal Direct Payment?', '6', '0', '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 ('Split Credit Card E-Mail Address', 'MODULE_PAYMENT_PAYPAL_CC_EMAIL', '', 'If an e-mail address is entered, the middle digits of the credit card number will be sent to the e-mail address (the outside digits are stored in the database with the middle digits censored)', '6', '0', 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_PAYPAL_CC_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_PAYPAL_CC_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_PAYPAL_CC_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())"); 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 ('Gateway Server', 'MODULE_PAYMENT_PAYPAL_CC_GATEWAY_SERVER', 'Testing', 'Use the testing (sandbox) or live gateway server for transactions?', '6', '6', 'tep_cfg_select_option(array(\'Sandbox\',\'Live\'), ', 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 ('Gateway Server', 'MODULE_PAYMENT_PAYPAL_CC_USERNAME', 'PayPal Username', 'Enter your PayPal username', '6', '6', 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 ('Gateway Server', 'MODULE_PAYMENT_PAYPAL_CC_PASSWORD', 'PayPal Password', 'Enter your PayPal password', '6', '6', now())"); } function remove() { tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array('MODULE_PAYMENT_PAYPAL_CC_STATUS', 'MODULE_PAYMENT_PAYPAL_CC_ZONE', 'MODULE_PAYMENT_PAYPAL_CC_ORDER_STATUS_ID', 'MODULE_PAYMENT_PAYPAL_CC_SORT_ORDER', 'MODULE_PAYMENT_PAYPAL_CC_GATEWAY_SERVER', 'MODULE_PAYMENT_PAYPAL_CC_USERNAME', 'MODULE_PAYMENT_PAYPAL_CC_PASSWORD'); } } ?> <?php /* $Id: paypal_cc.php,v 0.1 2005/06/28 11:55:01 hq Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2005 osCommerce Released under the GNU General Public License */ define('MODULE_PAYMENT_PAYPAL_CC_TEXT_TITLE', 'Credit Card'); define('MODULE_PAYMENT_PAYPAL_CC_TEXT_DESCRIPTION', 'Credit Card Test Info:<br><br>CC#: 4111111111111111<br>Expiry: Any'); define('MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_TYPE', 'Credit Card Type:'); define('MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_FIRSTNAME', 'First Name:'); define('MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_LASTNAME', 'Last Name:'); define('MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_NUMBER', 'Credit Card Number:'); define('MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_CVV2', 'Card Verification Value:'); define('MODULE_PAYMENT_PAYPAL_CC_TEXT_CREDIT_CARD_EXPIRES', 'Credit Card Expiry Date:'); define('MODULE_PAYMENT_PAYPAL_CC_TEXT_JS_CC_FIRSTNAME', '* The owner\'s first name of the credit card must be at least ' . CC_OWNER_MIN_LENGTH . ' characters.\n'); define('MODULE_PAYMENT_PAYPAL_CC_TEXT_JS_CC_LASTNAME', '* The owner\'s last name of the credit card must be at least ' . CC_OWNER_MIN_LENGTH . ' characters.\n'); define('MODULE_PAYMENT_PAYPAL_CC_TEXT_JS_CC_NUMBER', '* The credit card number must be at least ' . CC_NUMBER_MIN_LENGTH . ' characters.\n'); define('MODULE_PAYMENT_PAYPAL_CC_TEXT_JS_CC_CVV2', '* The card verification value cannot be more than 4 characters.\n'); define('MODULE_PAYMENT_PAYPAL_CC_TEXT_ERROR', 'Credit Card Error!'); define('MODULE_PAYMENT_PAYPAL_CC_TEXT_PROCESS_ERROR', 'There has been an error processing your credit card. Please try again.'); define('MODULE_PAYMENT_PAYPAL_CC_TEXT_DECLINED_MESSAGE', 'Your credit card was declined. Please try another card or contact your bank for more info.'); ?> Quote Link to comment Share on other sites More sharing options...
Guest Posted June 29, 2005 Share Posted June 29, 2005 AWESOME START!!! You have any internet messenger service? pm me with details and we can go from there! Quote Link to comment Share on other sites More sharing options...
Guest Posted June 29, 2005 Share Posted June 29, 2005 I chimed in over at the paypal developers forum; http://www.paypaldev.org/topic.asp?TOPIC_ID=10044 -and- http://www.paypaldev.org/topic.asp?TOPIC_ID=10111 Quote Link to comment Share on other sites More sharing options...
ActiveTuning Posted June 30, 2005 Share Posted June 30, 2005 Awesome guys, just wanted to chime in and say good luck :) I made a post on here the day this was announced waiting for somebody to develop a contribution :) Quote Link to comment Share on other sites More sharing options...
pigames Posted June 30, 2005 Share Posted June 30, 2005 strike1150, please tell me that checkout_process will create the orders and not the payment module. The only IPN contribution that I sort of got working does all the order creation work and it means a lot of work for me to add my custom mods to it rather than checkout_process. I wonder if that actually makes sense??? :blink: Quote Link to comment Share on other sites More sharing options...
Guest Posted June 30, 2005 Share Posted June 30, 2005 strike1150, please tell me that checkout_process will create the orders and not the payment module. The only IPN contribution that I sort of got working does all the order creation work and it means a lot of work for me to add my custom mods to it rather than checkout_process. I wonder if that actually makes sense??? :blink: <{POST_SNAPBACK}> Makes total sence, good thing you mentioned it... i had over looked the aspect behind creating orders on checkout_process.... strike1150... still around? Quote Link to comment Share on other sites More sharing options...
strike1150 Posted June 30, 2005 Share Posted June 30, 2005 Makes total sence, good thing you mentioned it... i had over looked the aspect behind creating orders on checkout_process.... strike1150... still around? <{POST_SNAPBACK}> yes checkout_process will create the orders. the current ipn implementation looks strange to me. i know it works 'cause i installed it for a friend recently. why we need the ipn modules to create the orders? i'm new to osc. is it because we need to have the orders in our database before ipn calls back? i'm pretty sure that's the reason. tell me if i'm wrong. the good thing is we don't need ipn any more after switching to wpp. Quote Link to comment Share on other sites More sharing options...
the311guy Posted June 30, 2005 Share Posted June 30, 2005 Holy crap this is sweeeeet! Someone make a module fast! Quote Link to comment Share on other sites More sharing options...
pigames Posted June 30, 2005 Share Posted June 30, 2005 yes checkout_process will create the orders. the current ipn implementation looks strange to me. i know it works 'cause i installed it for a friend recently. why we need the ipn modules to create the orders? i'm new to osc. is it because we need to have the orders in our database before ipn calls back? i'm pretty sure that's the reason. tell me if i'm wrong. the good thing is we don't need ipn any more after switching to wpp. According to the documention, the oscommerce team made the payment module create the order because they wanted to keep it as simple as possible to install and less invasive. It would have been better to create an include file that both the process and payment module could share with a switch to determine actual parameters. But hey, that's just me. And yes, it is apparently to create the order as pending before it takes the customer to paypal. Cheers. P.S. It would be nice if this forum software would send me reply notifications. It did the other day, but suddenly stopped. I wonder if it's being counted as spam by my server. Quote Link to comment Share on other sites More sharing options...
Mediajuggle Posted June 30, 2005 Author Share Posted June 30, 2005 hey guys... just a reminder.... make it compatible with those of us selling downloaded goods.... just my two cents.... Quote My Contribution Music Download Store Template http://www.oscommerce.com/community/contributions,4275 Link to comment Share on other sites More sharing options...
pigames Posted June 30, 2005 Share Posted June 30, 2005 hey guys... just a reminder....make it compatible with those of us selling downloaded goods.... just my two cents.... <{POST_SNAPBACK}> Since it is not using IPN, I don't think downloads will be an issue. If I'm not mistaken, it should work like a regular credit card module - a yes or no response. Someone correct me if I am wrong. Quote Link to comment Share on other sites More sharing options...
dave111 Posted June 30, 2005 Share Posted June 30, 2005 Sweet hopefully someone can figure out this contrib. i cant wait to start using this service. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.