Perdonad por postear en la seccion de PHP.
Bueno, tengo una sección en la web para realizar pagos y se divide en 3 secciones, la 1ª es para seleccionar el tipo de medio de pago (Visa, Mastercard, Moneybookers, etc....), la 2ª sección una estrada de texto para que el usuario introduzca la cantidad a transferir y junto al mismo un boton, y en la 3ª sección (que en principio está en blanco) donde una vez rellenados los datos anteriores, se insertaría la pantalla de la pasarela de Moneybookers.
Pues bien, cuando pulso en el boton, este invoca al siguiente código:
Código:
var xml = null;
try{
xml = new ActiveXObject("Microsoft.XMLHTTP");
}catch(expeption){
xml = new XMLHttpRequest();
}
xml.open("POST", "mb_connect.php", false);
xml.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xml.send("pay_to_email="+datos[3]+
"&transaction_id="+datos[1]+
"&status_url="+datos[2]+
"&language="+lang+
"&pay_from_email="+datos[13]+
"&firstname="+datos[5]+
"&lastname="+datos[6]+
"&address="+datos[7]+
"&postal_code="+datos[8]+
"&city="+datos[9]+
"&state="+datos[10]+
"&country="+datos[11]+
"&date_of_birth="+datos[12]+
"&amount="+document.payment.cantidad.value+
"&payment_methods="+datos[4]);
$("#contenido").html(xml.responseText);
Con este código, se cargaría en la 3! sección la pantalla de Moneybookers para que el usuario realice el pago, y funciona en todos los navegadores exceptuando el Internet Explorer.
el archivo de PHP es este:
Código:
<?php
header('Content-type: text/html; Charset=utf-8');
extract($_POST);
$status_url2 = 'mailto:[email protected]';
$return_url_target = 3;
$return_url = 'https://www.misite.com';
$cancel_url = 'https://www.misite.com';
?>
<iframe id="myiframe" name="myiframe" frameborder="no" style="height: 600px; width:735px;" scrolling = "auto">
</iframe>
<form name="oc" action="https://www.moneybookers.com/app/payment.pl" method="post" target="myiframe">
<input type="hidden" name="pay_to_email" value="<?= $pay_to_email ?>">
<input type="hidden" name="recipient_description" value="My SITE ltd">
<input type="hidden" name="transaction_id" value="<?= $transaction_id ?>">
<input type="hidden" name="status_url" value="<?= $status_url ?>">
<input type="hidden" name="status_url2" value="<?= $status_url2 ?>">
<input type="hidden" name="return_url_target" value="<?= $return_url_target ?>">
<input type="hidden" name="return_url" value="<?= $return_url ?>">
<input type="hidden" name="cancel_url" value="<?= $cancel_url ?>">
<input type="hidden" name="return_url_target" value="1">
<input type="hidden" name="cancel_url_target" value="1">
<input type="hidden" name="language" value="<?= $language ?>">
<input type="hidden" name="confirmation_note" value="">
<input type="hidden" name="pay_from_email" value="<?= $pay_from_email ?>">
<input type="hidden" name="title" value="">
<input type="hidden" name="firstname" value="<?= $firstname ?>">
<input type="hidden" name="lastname" value="<?= $lastname ?>">
<input type="hidden" name="address" value="<?= $address ?>">
<input type="hidden" name="postal_code" value="<?= $postal_code ?>">
<input type="hidden" name="city" value="<?= $city ?>">
<input type="hidden" name="state" value="<?= $state ?>">
<input type="hidden" name="country" value="<?= $country ?>">
<input type="hidden" name="date_of_birth" value="<?= $date_of_birth ?>">
<input type="hidden" name="amount" value="<?= $amount ?>">
<input type="hidden" name="currency" value="EUR">
<input type="hidden" name="rec_cycle" value="day">
<input type="hidden" name="payment_methods" value="<?= $payment_methods ?>">
<input type="hidden" name="submit_id" value="Submit">
</form>
<script language="JavaScript">document.oc.submit();</script>
Como os digo, funciona perfectamente, pero en IE la pantalla se queda en blanco.