[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4752: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4754: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4755: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4756: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
 OpenForum.dk • Vis emne - FRIbetaling - ikke ordrenummer med hver ordre!

FRIbetaling - ikke ordrenummer med hver ordre!

Indlægaf Michael » 2007-06-23 10:54

Kan ikke se der skulle være nogen fejl i din php fil, men ved der er nogen der har haft problemmer med div betalingsmoduler sammen med
//kgt - discount coupons.
Demoshop : www.The-Exterminator.dk
_________________
Knapper til din shop :
_________________
Contri jeg har været med i : http://addons.oscommerce.com/profile/94952
Brugeravatar
Michael
Ekspert medlem
Ekspert medlem
 
Indlæg: 1593
Tilmeldt: 2006-01-15 10:43
Geografisk sted: Ballerup

Indlægaf ladylone » 2007-06-24 18:59

Hej Anders

Det første jeg ville gøre var at checke en ekstra gang at installationsvejledningen er fulgt (det regner jeg med at du har gjort)

Så tænkte jeg om det kunne have noget at gøre med dobbeltklik eller accept af handelsebetingelser at gøre, men når der ved de andre betalingsmuligheder kun bliver talt 1 ordrenummer så virker det ikke som der er en fejl her.

Det er lidt forskelligt hvordan jeg fejlfinder for det afhænger af hvilke fejl, det er jeg forsøger at finde.
Det er også lidt sværere når der ikke er en samlet mulighed for at kikke i flere filer samtidig, for det behøver jo ikke at være i checkout_process.php at fejlen ligger.
Jeg bruger nogle gange at ligge et punkt ind der laver en lille fil som jeg så kan bruge til hjælp til at se om kørslen af filerne når til et bestemt sted og lignende.
Jeg ved ikke om det er det mest geniale men indtil videre er det en af måderne jeg benytter mig af.

Hos mig virker eksempelvis følgende:
/////////////////////////////
$Cfil = fopen("punktX.txt","w");
fwrite($Cfil, $insert_id);
fclose($Cfil);
/////////////////////////////
så at der i catalog/ bliver lavet en punktX.txt der indeholder værdien $insert_id.

Så hvis du stadig har mod på at finde fejlen så ville prøve at indsætte ovennævnte 3 steder i checkout_process og se om det gav nogle indikationer af evt. dobbelttælling af ordrenummer, om ikke andet så i checkout_process.php
...
...
// ------------ fribetaling changed start ---------
if (strncmp($payment, 'fribetaling', 4) == 0) {
tep_db_perform(TABLE_ORDERS, $sql_data_array, 'update', 'orders_id = ' . $order_id);
$insert_id = $order_id;
/////////////////////////////
$Cfil = fopen("punkt1.txt","w");
fwrite($Cfil, $insert_id);
fclose($Cfil);
/////////////////////////////

} else {
// else do as usual
tep_db_perform(TABLE_ORDERS, $sql_data_array);
$insert_id = tep_db_insert_id();
/////////////////////////////
$Cfil = fopen("punkt2.txt","w");
fwrite($Cfil, $insert_id);
fclose($Cfil);
/////////////////////////////
}
// ------------ fribetaling changed end ---------
...
...
...
...
//end kgt - discount coupons

/////////////////////////////
$Cfil = fopen("punkt3.txt","w");
fwrite($Cfil, $insert_id);
fclose($Cfil);
/////////////////////////////
tep_redirect(tep_href_link(FILENAME_CHECKOUT_SUCCESS, '', 'SSL'));

require(DIR_WS_INCLUDES . 'application_bottom.php');
?>

Husk at ændre så der står punkt1, punkt2, punkt3 i tilføjelserne.

Hvilket ordre nummer er det sidste i shoppen inden du laver en ny ordre ?
Når du gennemfører en ordre skulle der bliver oprettet enten punkt1.txt eller punkt2.txt og så punkt3.txt.
Hvilke punkt?.txt er oprettet og hvilke ordrenumre står i de små punkt?.txt filer når du opretter en ny ordre ?
MVH
Claus
ladylone
Oldtimer :o)
Oldtimer :o)
 
Indlæg: 851
Tilmeldt: 2006-02-25 17:24
Geografisk sted: Hillerød

Indlægaf slackline.dk » 2007-06-24 23:42

Don't waste your energy - get slackling!

slackline.dk
Godt igang
Godt igang
 
Indlæg: 86
Tilmeldt: 2006-06-29 23:47
Geografisk sted: Århus

Indlægaf slackline.dk » 2007-06-25 10:53

Jeg har tjekket i phpmyadmin og kan se at der faktisk genereres et nyt ordre_id i tabellen order. Det sker når includes/modules/payment/fribetaling.php kører de sidste linier:

[php]
function create_order() {
global $customer_id;

// Create an entry in the orders-table in order to get an order-id we can use
// This entry only works as a reservation.
// If no other data is added, the order will not be displayed in OsCommerce
$sql_data_array = array('customers_id' => $customer_id,
'date_purchased' => 'now()',
'orders_status' => 0);
tep_db_perform(TABLE_ORDERS, $sql_data_array);
return tep_db_insert_id();
}
}
?>
[/php]

Også de ordrenummre der ikke bliver vist på catalog/checkout_fribetaling.php. Er det rigtigt at antage at fejlen så ligger på catalog/checkout_fribetaling.php Så vidt jeg kan se så må det være her et sted ordrenummeret bliver fundet frem (af og til i hvert fald)

[php]
$process_button_string .= '<td class="main"><b>' . ORDER_NUMBER . '</b></td>';
$process_button_string .= '<td class="main">' . strval($order_id) . tep_draw_hidden_field("Ordernumber", $order_id) . '</td>';
$process_button_string .= '</tr><tr>';
$process_button_string .= '<td class="main"><b>' . ORDER_AMOUNT . '</b></td>';
[/php]

Og her er også lige hele checkout_fribetaling.php i tilfælde nogen af de goe' kan spotte fejlen her:

[php]<?php
/*
$Id: checkout_fribetaling.php

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

Copyright (c) 2006 Jakob Høy Biegel

Released under the GNU General Public License
*/
include('includes/application_top.php');

// avoid hack attempts during the checkout procedure by checking the internal cartID
if (isset($cart->cartID) && tep_session_is_registered('cartID')) {
if ($cart->cartID != $cartID) {
tep_redirect(tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
}
}

// if the customer is not logged on, redirect them to the login page
if (!tep_session_is_registered('customer_id')) {
$navigation->set_snapshot(array('mode' => 'SSL', 'page' => FILENAME_CHECKOUT_PAYMENT));
tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));
}
if (!tep_session_is_registered('sendto')) {
tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));
}

if ( (tep_not_null(MODULE_PAYMENT_INSTALLED)) && (!tep_session_is_registered('payment')) ) {
tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));
}

// load selected payment module
require(DIR_WS_CLASSES . 'payment.php');
$payment_modules = new payment($payment);

// load the selected shipping module
require(DIR_WS_CLASSES . 'shipping.php');
$shipping_modules = new shipping($shipping);

require(DIR_WS_CLASSES . 'order.php');
$order = new order;

require(DIR_WS_CLASSES . 'order_total.php');
$order_total_modules = new order_total;
$order_totals = $order_total_modules->process();

include(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_FRIBETALING);

$breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
$breadcrumb->add(NAVBAR_TITLE_2);
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<?php if (MODULE_PAYMENT_FRIBETALING_LOCALFORM != 'False') { ?>
<base href="<?php echo (getenv('HTTPS') == 'on' ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<?php } ?>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<script language="javascript"><!--
function check_pbscc_form() {
// Remove all non-digits from CardNumber
document.payment_form.Cardnumber.value =
document.payment_form.Cardnumber.value.replace(/(\D)+/g,"");

// Remove all non-digits from Control-digits
document.payment_form.CVC.value =
document.payment_form.CVC.value.replace(/(\D)+/g,"");

if (document.payment_form.CVC.value.length > 0 &&
document.payment_form.CVC.value.length < 3) {
alert("<?php echo JS_ERROR_INVALID_CVC; ?>");
return false;
}
return true;
}
//--></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php');
?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" width="100%" cellspacing="3" cellpadding="3">
<tr>
<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
</table></td>
<!-- body_text //-->
<td width="100%" valign="top">
<?php
echo tep_draw_form('payment_form', 'https://pgw.fribetaling.dk/betal.fri', 'post', 'autocomplete="off" onsubmit="return check_pbscc_form();"');
?>
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td><table border="0" width="100%" cellspacing="4" cellpadding="2">
<tr>
<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
<td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_confirmation.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
</td>
</tr>
</table></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
<tr class="infoBoxContents">
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<?php
// show cc-payment specific data
$process_button_string = '<tr>';
$order_amount = $currencies->calculate($order->info['total'], true, $order->info['currency'], $order->info['currency_value'], '.', '');
if (!tep_session_is_registered('order_amount')) {
tep_session_register('order_amount');
}


$currency_code = $order->info['currency'];
$currency_iso4217code = $currencies->get_iso_code($currency_code); // Use iso-code from currencies-table
$order_amount_text = $currencies->calculate($order_amount, false, $currency_code) . ' ' . $currency_code;
for ($i=1; $i<13; $i++) {
$expires_month[] = array('id' => sprintf('%02d', $i), 'text' => sprintf('%02d', $i));
}
$today = getdate();
for ($i=$today['year']; $i < $today['year']+20; $i++) {
$expires_year[] = array('id' => strftime('%y',mktime(0,0,0,1,1,$i)), 'text' => strftime('%y',mktime(0,0,0,1,1,$i)));
}

$process_button_string .= '<td class="main"><b>' . ORDER_NUMBER . '</b></td>';
$process_button_string .= '<td class="main">' . strval($order_id) . tep_draw_hidden_field("Ordernumber", $order_id) . '</td>';
$process_button_string .= '</tr><tr>';
$process_button_string .= '<td class="main"><b>' . ORDER_AMOUNT . '</b></td>';
$process_button_string .= '<td class="main">' . $order_amount_text;
$process_button_string .= tep_draw_hidden_field('Amount', 100*$order_amount) . tep_draw_hidden_field('Currency', $currency_iso4217code) . '</td>';
$process_button_string .= '</tr><tr>';
$process_button_string .= '</tr><tr>';
$process_button_string .= '<td class="main"><b>' . CARD_NUMBER . '</b></td>';
$process_button_string .= '<td class="main">' . tep_draw_input_field('Cardnumber', '', 'autocomplete="off" size="22"') . '</td>';
$process_button_string .= '</tr><tr>';
$process_button_string .= '<td class="main"><b>' . EXPIRE_DATE . '</b></td>';
$process_button_string .= '<td class="main">' . tep_draw_pull_down_menu('Expmm', $expires_month) . '&nbsp;' . tep_draw_pull_down_menu('Expyy', $expires_year) . '&nbsp;' . EXPIRE_DATE_HINT . '</td>';
$process_button_string .= '</tr><tr>';
$process_button_string .= '<td class="main"><b>' . CVC . '</b></td>';
$process_button_string .= '<td class="main">' . tep_draw_input_field('CVC', '', 'autocomplete="off" size="3" maxlength="3"') . '&nbsp;' . CVC_HINT . '</td>';
// extra hidden fields
if (MODULE_PAYMENT_FRIBETALING_TESTMODE != '') {
$process_button_string .= tep_draw_hidden_field('Merchant', '2133334');
$process_button_string .= tep_draw_hidden_field('Testtransaction', substr(MODULE_PAYMENT_FRIBETALING_TESTMODE, 0, 1));
} else {
$process_button_string .= tep_draw_hidden_field('Merchant', MODULE_PAYMENT_FRIBETALING_SHOPID);
}

// use accept-url and decline-url
if (MODULE_PAYMENT_FRIBETALING_LOCALFORM == 'False') {
$binary_gateway_fb = 'https://remoteload.fribetaling.dk/remoteload.cfm?version=2&reload=1&page=';
$process_button_string .= tep_draw_hidden_field('Accept', $binary_gateway_fb . urlencode(tep_href_link(FILENAME_FRIBETALING_ACCEPT, '', 'NONSSL')));
$process_button_string .= tep_draw_hidden_field('Decline', $binary_gateway_fb . urlencode(tep_href_link(FILENAME_FRIBETALING_DECLINE, '', 'NONSSL')));
} else {
$process_button_string .= tep_draw_hidden_field('Accept', tep_href_link(FILENAME_FRIBETALING_ACCEPT, '', 'SSL'));
$process_button_string .= tep_draw_hidden_field('Decline', tep_href_link(FILENAME_FRIBETALING_DECLINE, '', 'SSL'));
}
$process_button_string .= '</tr>';

echo $process_button_string;
?>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</table></td>
</tr>
</table></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
<tr class="infoBoxContents">
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
<td class="main"><b><?php echo TITLE_CONTINUE_CHECKOUT_PROCEDURE . '</b><br>' . TEXT_CONTINUE_CHECKOUT_PROCEDURE;?></td>
<td class="main" align="right"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></td>
<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
<tr>
<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
</tr>
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="20%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="50%" align="right"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td>
<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
</tr>
</table></td>
<td width="20%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
<td width="20%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
<td width="20%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
<td><?php echo tep_image(DIR_WS_IMAGES . 'checkout_bullet.gif'); ?></td>
<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
</tr>
</table></td>
<td width="20%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>
<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td>
</tr>
</table></td>
</tr>
<tr>
<td align="center" width="25%" class="checkoutBarFrom"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL') . '" class="checkoutBarFrom">' . CHECKOUT_BAR_DELIVERY . '</a>'; ?></td>
<td align="center" width="25%" class="checkoutBarFrom"><?php echo '<a href="' . tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL') . '" class="checkoutBarFrom">' . CHECKOUT_BAR_PAYMENT . '</a>'; ?></td>
<td align="center" width="25%" class="checkoutBarFrom"><?php echo CHECKOUT_BAR_CONFIRMATION; ?></td>
<td align="center" width="25%" class="checkoutBarCurrent"><?php echo CHECKOUT_BAR_ONLINE_PAYMENT; ?></td>
<td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_FINISHED; ?></td>
</tr>
</table></td>
</tr>
</table></form></td>
<!-- body_text_eof //-->
<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">
<!-- right_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //-->
</table></td>
</tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
<br>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>
[/php]
Don't waste your energy - get slackling!

slackline.dk
Godt igang
Godt igang
 
Indlæg: 86
Tilmeldt: 2006-06-29 23:47
Geografisk sted: Århus

Indlægaf ladylone » 2007-06-25 21:25

MVH
Claus
ladylone
Oldtimer :o)
Oldtimer :o)
 
Indlæg: 851
Tilmeldt: 2006-02-25 17:24
Geografisk sted: Hillerød

Indlægaf slackline.dk » 2007-06-25 23:19

Don't waste your energy - get slackling!

slackline.dk
Godt igang
Godt igang
 
Indlæg: 86
Tilmeldt: 2006-06-29 23:47
Geografisk sted: Århus

Indlægaf slackline.dk » 2007-06-25 23:26

Don't waste your energy - get slackling!

slackline.dk
Godt igang
Godt igang
 
Indlæg: 86
Tilmeldt: 2006-06-29 23:47
Geografisk sted: Århus

Indlægaf ladylone » 2007-06-26 19:30

Hej slackline

Vi bruger også one.com og har heldigvis ikke haft problemer.
Jeg er lidt blank og synes det virker underligt. Jeg har ikke en dyt forstand på hvordan session evt. indvirker.

I admin->opsætning->sessions har vi kun prevent spider sessions til true resten er false.

I fribetaling har vi
Enable fribetaling module = true
Payment Zone = ingen
Local Payment Form = False

Jeg ved ikke om ovennævnte hjælper, men jeg er løbet lidt tør for ideer lige nu.
MVH
Claus
ladylone
Oldtimer :o)
Oldtimer :o)
 
Indlæg: 851
Tilmeldt: 2006-02-25 17:24
Geografisk sted: Hillerød

Indlægaf slackline.dk » 2007-06-26 22:07

Hej Claus,

Tak for hjælpen, selv om det ikke er lykkedes endnu. Jeg prøver at rode lidt videre med det - jeg kan jo ikke bare give op :)


Jeg tænkte om man ikke på en måde kan generere order_id allerede når der krydse af ved accept af betingelserne. Eller måske flytte denne del til et andet sted i koden så man er sikker på den blir kørt.
[php]
function create_order() {
global $customer_id;

// Create an entry in the orders-table in order to get an order-id we can use
// This entry only works as a reservation.
// If no other data is added, the order will not be displayed in OsCommerce
$sql_data_array = array('customers_id' => $customer_id,
'date_purchased' => 'now()',
'orders_status' => 0);
tep_db_perform(TABLE_ORDERS, $sql_data_array);
return tep_db_insert_id();
} [/php]

Eller findes der et andet sted, hvor man kan definere $order_id så den bliver overført til checkout_fribetaling.php
Don't waste your energy - get slackling!

slackline.dk
Godt igang
Godt igang
 
Indlæg: 86
Tilmeldt: 2006-06-29 23:47
Geografisk sted: Århus

Indlægaf ladylone » 2007-06-26 22:28

Hej igen

Jeg er nok lige så stædig, så den slaviske gang er at finde ud af hvordan afviklingen af filerne er. (sålænge vi ikke har fundet de vise sten)

Jeg synes umiddelbart at det er en dårlig ide at flytte på dannelsen af ordre_id.

Prøv evt. at ligge en punkt4 kode ind i function create_order() efter global $customer_id;

og prøv at lægge en punkt5 kode ind længere oppe i filen
function before_process() {
global $order, $currencies, $language, $order_id, $order_total_modules;

...
herefter inden if-sætningen.

Så kan du jo evt. se om kørslen kommer til disse punkter i de tilfælde hvor der ikke kommer et ordre nummer.

Ser om du er nået videre i morgen.
MVH
Claus
ladylone
Oldtimer :o)
Oldtimer :o)
 
Indlæg: 851
Tilmeldt: 2006-02-25 17:24
Geografisk sted: Hillerød

Indlægaf slackline.dk » 2007-06-26 23:20

Hej Claus,

Jeg prøvede at flytte dannelsen af ordre_id før jeg så dit svar. Det virker umiddelbart. Hvorfor er det en dårlig ide? Er der noget jeg ikke tænker på? (udover at det jo er lidt snyd :oops: )

Jeg prøver lige at teste med punkt4 og punkt5 imorgen.

Her er det jeg har gjort nu:

Ændret i /includes/payment/fribetaling.php
[php]
...
...
// We need order_id to pass to the gateway
// But we do not have the order_id at this moment.
// So instead we create the order_id now and bypass the usual checkout_process.php function
if (!tep_session_is_registered('order_id')) {
tep_session_register('order_id');
// vent med at lave order_id til checkout_fribetaling.php
// $order_id = $this->create_order();
}
...
...
[/php]

Og i checkout_fribetaling.php
[php]
...
...
// load selected payment module
require(DIR_WS_CLASSES . 'payment.php');
$payment_modules = new payment($payment);

// load the selected shipping module
require(DIR_WS_CLASSES . 'shipping.php');
$shipping_modules = new shipping($shipping);

require(DIR_WS_CLASSES . 'order.php');
$order = new order;

require(DIR_WS_CLASSES . 'order_total.php');
$order_total_modules = new order_total;
$order_totals = $order_total_modules->process();

include(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_FRIBETALING);

$breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
$breadcrumb->add(NAVBAR_TITLE_2);

// -----------------dannelse af order_id til fribetaling-------------------------
$sql_data_array = array('customers_id' => $customer_id,
'date_purchased' => 'now()',
'orders_status' => 0);


tep_db_perform(TABLE_ORDERS, $sql_data_array);
$insert_id = tep_db_insert_id();
if (!tep_session_is_registered('order_id')) tep_session_register('order_id');
$order_id = $insert_id;
// ---------------------slut dannelse af order_id til fribetaling-----------------


?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<?php if (MODULE_PAYMENT_FRIBETALING_LOCALFORM != 'False') { ?>
<base href="<?php echo (getenv('HTTPS') == 'on' ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">
<?php } ?>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<script language="javascript"><!--
function check_pbscc_form() {
// Remove all non-digits from CardNumber
...
...

[/php]

Dette gør at ordre_id i hvert fald bliver dannet når checkout_fribetaling.php skal bruge den og den er der hver gang.

Der er dog stadig problemer... :cry:

Jeg har stadig problemet med CONDITION_AGREEMENT_ERROR. Når der er indtastet kortnummer osv. bliver man sendt tilbage til checkout_conditions.php, hvorfra ordren bliver gennemført. Og her er der jo ikke sikkerforbindelse. Hvorfor søren vil den ikke huske at jeg har sagt ja til det en gang :x

Det andet problem er at, hvis transaktionen af en eller anden grund blive afvist sender checkout_fribetaling_decline.php mig tilbage til checkout_payment.php og jeg må starte forfra. Hvilket resulterer i et nyt ordrenummer og en tom dummy ordre i databasen. men det er nok til at leve med.


Men for lige at summere op: Hvorfor ikke flytte ordre_id dannelsen? Og hvordan slipper jeg af med conditions-agreement-error problemt?

VH

Anders
Don't waste your energy - get slackling!

slackline.dk
Godt igang
Godt igang
 
Indlæg: 86
Tilmeldt: 2006-06-29 23:47
Geografisk sted: Århus

Indlægaf ladylone » 2007-06-28 18:15

Hej Anders

1) Normalt vil jeg går langt for at finde fejlen istedet for at gøre nogle "halve" forsøg, og så skal du jo være sikker på at der stadig er sammen fil-afhængighed, hvis du flytter kode dele rundt mellem filerne.
Jeg ved om det gør noget at flyttet ordre_id. Der er andre der bruger modulet som det er, så jeg ville bebeholde koderne og så forsøge at finde fejlen.

2) Ingen bemærkninger lige nu.

Du kunne evt. indsætte følgende kode (og evt. udvide den) helt i slutningen af header efter ?>
<table>
<tr>
<td>
<?php
echo 'session id=' . tep_session_id() . '<br>';
echo 'customer_id=' . $customer_id . '<br>';
echo 'session customer_id er ';
if (tep_session_is_registered('customer_id')) {echo 'true';} else {echo 'false';};
echo '<br>';
echo ' session ordre_id er ';
if (tep_session_is_registered('order_id')) {echo 'true';} else {echo 'false';};
echo '<br>';
?>
</td>
</tr>
</table>
Måske det kan give en bedre idé om hvor det går galt.
God kamp - hold modet oppe.
MVH
Claus
ladylone
Oldtimer :o)
Oldtimer :o)
 
Indlæg: 851
Tilmeldt: 2006-02-25 17:24
Geografisk sted: Hillerød

Indlægaf slackline.dk » 2007-06-29 22:14

Den med header.php var smart :)

Jeg kan ikke rigtigt få punkt metoden til at køre nu! Måske er det bare mig der ikke helt kan overskue 7 punkter :oops: . Men det ser ud til at filerne køres i denne rækkefølge:

Checkout_confirmation.php -> Fribetaling.php -> checkout_fribetaling.php -> checkout_process.php -> checkout_sucess.php

Det er lidt svært at overskue, da der ligger punkt kode på steder, hvor order_id endnu ikke er dannet. (Men er det ikke rigtigt at:

[php]
/////////PUNKT5//////////////
$Cfil = fopen("punkt5.txt","w");
fwrite($Cfil, $insert_id);
fclose($Cfil);
/////////////////////////////
[/php]

vil slette det der står i filen punkt5.txt hvis $order_id er tom?)

Det korte af det lange er at jeg fik løst CONDITIONS_AGREEMENT_ERROR problemet ved at opdatere "JAVASCRIPT DISABLED FIX - By Phliplip" til en version der er kompatibel med paypal betalinger - der ligsom fribetaling sender info frem og tilbage (tror jeg :roll: )

Med den fejl af vejen testede jeg (lidt i desperation) en betaling, hvor order_id dannes i checkout_fribetaling.php filen som beskrevet tidligere. Og helt utroligt så gik den lige igennem :shock:

Nu er det jo første gang det er lykkedes mig at sende noget så langt som til fribetalings adminside, men hvis man kan udføre capture betyder det så ikke at betalingen er gennemført korrekt?

Nu er spørgsmålet så: Kan jeg bruge modulet som det er nu - eller er der et kæmpe sikkerhedshul jeg bare har overset? Hvis siden vises som krypteret og betalingen går igennem, er det så ikke ok?

Spørgsmål 2: Findes der en forklaring på alle de forskellige ting i fribetalings admin? Jeg synes ikke at de skriver så meget på deres hjemmeside - men det er måske ikke så vigtigt bare man kan udføre capture!

Venlig Hilsen

Anders
Don't waste your energy - get slackling!

slackline.dk
Godt igang
Godt igang
 
Indlæg: 86
Tilmeldt: 2006-06-29 23:47
Geografisk sted: Århus

Indlægaf ladylone » 2007-07-4 21:39

Hej Anders

Det er gået et par dage, håber du er kommet videre.

Filrækkefølgen bør være
Checkout_confirmation.php -> checkout_process(before_process) -> Fribetaling.php -> ......

Filen punkt5.txt bør være tom hvis $order_id er tom

Hvis ordren er "autoriseret" hos fribetalning så er den gået igennem og er klar til at du kan "capture" efter at du har sendt varen til kunden.

Ændring af moduler og sikkerhed kan jeg ikke svare på.

Tror ikke der findes anden information end det der er på fribetalings hjemmeside. Men jeg synes det er rimeligt enkelt at gå til.
MVH
Claus
ladylone
Oldtimer :o)
Oldtimer :o)
 
Indlæg: 851
Tilmeldt: 2006-02-25 17:24
Geografisk sted: Hillerød

Indlægaf slackline.dk » 2007-07-10 18:35

Don't waste your energy - get slackling!

slackline.dk
Godt igang
Godt igang
 
Indlæg: 86
Tilmeldt: 2006-06-29 23:47
Geografisk sted: Århus

ForegåendeNæste

Tilbage til Betaling

Hvem er online

Brugere der læser dette forum: Ingen tilmeldte og 4 gæster

cron