<?php 

$xml = '<?xml version="1.0" encoding="UTF-8"?>
<mapi><mapiversion>1.0</mapiversion><md5content>9b4907eead54bef3a8e26ec566867cb0</md5content><result><operation>capture</operation><status>ok</status><date>2016-07-29</date><time>14:53:08 UTC+0000</time><origAmount>6.00</origAmount><origCurrency>EUR</origCurrency><idForMerchant>REF1</idForMerchant><emailClient>michael.conrotte@dil.lu</emailClient><idClient>535198</idClient><merchantDatas><_aKey_nom1>Test Paiement Michael</_aKey_nom1></merchantDatas><cardCountry>US</cardCountry><ipCountry>LU</ipCountry><transid>579B6DC57EAC8236</transid><is3ds>No</is3ds><paymentMethod>VISA</paymentMethod><refProduct0>REF1</refProduct0><customerCountry>BE</customerCountry><returnCode/><returnDescriptionShort/><returnDescriptionLong/></result></mapi>';


$xml = '<?xml version="1.0" encoding="UTF-8"?>
<mapi><mapiversion>1.0</mapiversion><md5content>70e4104f4e4408330c9acf3b12a8fec0</md5content><result><operation>authorization</operation><status>ok</status><date>2016-07-29</date><time>14:53:00 UTC+0000</time><origAmount>6.00</origAmount><origCurrency>EUR</origCurrency><idForMerchant>REF1</idForMerchant><emailClient>michael.conrotte@dil.lu</emailClient><idClient>535198</idClient><merchantDatas><_aKey_nom1>Test Paiement Michael</_aKey_nom1></merchantDatas><cardCountry>US</cardCountry><ipCountry>LU</ipCountry><transid>579B6DC57EAC8236</transid><is3ds>No</is3ds><paymentMethod>VISA</paymentMethod><refProduct0>REF1</refProduct0><customerCountry>BE</customerCountry><returnCode/><returnDescriptionShort/><returnDescriptionLong/></result></mapi>';

$xml = '<?xml version="1.0" encoding="UTF-8"?>
<mapi><mapiversion>1.0</mapiversion><md5content>37b63a915498b31ebc5838bb7af2357b</md5content><result><operation>authorization</operation><status>ok</status><date>2016-08-05</date><time>14:48:31 UTC+0000</time><origAmount>30.00</origAmount><origCurrency>EUR</origCurrency><idForMerchant>quotation 1430000 1</idForMerchant><emailClient>michael.conrotte@dil.lu</emailClient><idClient>535198</idClient><merchantDatas><_aKey_type>quotation</_aKey_type><_aKey_ref>1430000</_aKey_ref><_aKey_id>1</_aKey_id></merchantDatas><cardCountry>US</cardCountry><ipCountry>LU</ipCountry><transid>57A4A73862BD3979</transid><is3ds>No</is3ds><paymentMethod>MASTERCARD</paymentMethod><refProduct0>quotation 1430000 1</refProduct0><customerCountry>BE</customerCountry><returnCode/><returnDescriptionShort/><returnDescriptionLong/></result></mapi>';

$xml = '<?xml version="1.0" encoding="UTF-8"?>
<mapi><mapiversion>1.0</mapiversion><md5content>3db5e6be058569e9cf02d76c85bca7e5</md5content><result><operation>capture</operation><status>ok</status><date>2016-08-05</date><time>14:48:39 UTC+0000</time><origAmount>30.00</origAmount><origCurrency>EUR</origCurrency><idForMerchant>quotation 1430000 1</idForMerchant><emailClient>michael.conrotte@dil.lu</emailClient><idClient>535198</idClient><merchantDatas><_aKey_type>quotation</_aKey_type><_aKey_ref>1430000</_aKey_ref><_aKey_id>1</_aKey_id></merchantDatas><cardCountry>US</cardCountry><ipCountry>LU</ipCountry><transid>57A4A73862BD3979</transid><is3ds>No</is3ds><paymentMethod>MASTERCARD</paymentMethod><refProduct0>quotation 1430000 1</refProduct0><customerCountry>BE</customerCountry><returnCode/><returnDescriptionShort/><returnDescriptionLong/></result></mapi>';


$xml = '<?xml version="1.0" encoding="UTF-8"?>
<mapi><mapiversion>1.1</mapiversion><md5content>103960579147960c78065b374ecd6901</md5content><result><operation>capture</operation><status>ok</status><date>2016-10-07</date><time>08:32:37 UTC+0000</time><origAmount>10.00</origAmount><origCurrency>EUR</origCurrency><idForMerchant>1522485729</idForMerchant><emailClient>tchikiho@hotmail.com</emailClient><idClient>2191477</idClient><merchantDatas/><cardCountry>FR</cardCountry><ipCountry>BE</ipCountry><transid>57F75D53CB364244</transid><is3ds>Yes</is3ds><paymentMethod>VISA</paymentMethod><refProduct0/><customerCountry>BE</customerCountry><returnCode/><returnDescriptionShort/><returnDescriptionLong/></result></mapi>';

$xml = '<?xml version="1.0" encoding="UTF-8"?>
<mapi><mapiversion>1.0</mapiversion><md5content>bd99ff153e9a9512510d4e8a2141995b</md5content><result><operation>authorization</operation><status>ok</status><date>2018-11-13</date><time>10:01:25 UTC+0000</time><origAmount>1.00</origAmount><origCurrency>EUR</origCurrency><idForMerchant>b67733626d8620f6f518cdc8f0b61e5c</idForMerchant><emailClient>irina@voice.be</emailClient><idClient>12531919</idClient><cardCountry>BE</cardCountry><ipCountry>BE</ipCountry><merchantDatas>  <_aKey_token>b67733626d8620f6f518cdc8f0b61e5c</_aKey_token>  <_aKey_id>10</_aKey_id>  <_aKey_table>letstrygolf</_aKey_table></merchantDatas><transid>5BEAA0DF781A1959</transid><is3ds>Yes</is3ds><paymentMethod>MASTERCARD</paymentMethod><customerCountry>BE</customerCountry><returnCode/><returnDescriptionShort/><returnDescriptionLong/></result></mapi>';

$xml = '<?xml version="1.0" encoding="UTF-8"?> 
<mapi><mapiversion>1.0</mapiversion><md5content>bd99ff153e9a9512510d4e8a2141995b</md5content><result><operation>authorization</operation><status>ok</status><date>2018-11-13</date><time>10:01:25 UTC+0000</time><origAmount>1.00</origAmount><origCurrency>EUR</origCurrency><idForMerchant>b67733626d8620f6f518cdc8f0b61e5c</idForMerchant><emailClient>irina@voice.be</emailClient><idClient>12531919</idClient><cardCountry>BE</cardCountry><ipCountry>BE</ipCountry><merchantDatas> <_aKey_token>b67733626d8620f6f518cdc8f0b61e5c</_aKey_token> <_aKey_id>10</_aKey_id> <_aKey_table>letstrygolf</_aKey_table></merchantDatas><transid>5BEAA0DF781A1959</transid><is3ds>Yes</is3ds><paymentMethod>MASTERCARD</paymentMethod><customerCountry>BE</customerCountry><returnCode/><returnDescriptionShort/><returnDescriptionLong/></result></mapi>';

$xml = '<?xml version="1.0" encoding="UTF-8"?>
<mapi><mapiversion>1.0</mapiversion><md5content>f32939e3020085363be73c9aa1d828bf</md5content><result><operation>capture</operation><status>ok</status><date>2018-10-30</date><time>11:06:54 UTC+0000</time><origAmount>42.00</origAmount><origCurrency>EUR</origCurrency><idForMerchant>MEC:2-1_2432!181030120903527</idForMerchant><emailClient>troll@free.fr</emailClient><idClient>748905</idClient><cardCountry>US</cardCountry><ipCountry>FR</ipCountry><merchantDatas>  <_aKey_idA>2</_aKey_idA>  <_aKey_idE>2432</_aKey_idE>  <_aKey_idB>1</_aKey_idB></merchantDatas><transid>5BD83B34B0E0F100</transid><is3ds>No</is3ds><paymentMethod>VISA</paymentMethod><customerCountry>FR</customerCountry><returnCode/><returnDescriptionShort/><returnDescriptionLong/></result></mapi>';

$wsPassword = 'd981abc7562e4a006af288ea3ab11f86'; //API Webservice password 

$start = strpos($xml, '<md5content>');
$end = strpos($xml, '</md5content>');
$endchars = ($count - $end) * -1;
$signature = substr($xml, $start, $endchars);

$count = strlen($xml);
$start = strpos($xml, '<result>');
$end = strpos($xml, '</result>') + 9;
$endchars = ($count - $end) * -1;
$string2compute = substr($xml, $start, $endchars);
$computedSignature = md5($string2compute);// . $wsPassword);

echo "<br/>String to compute:<br/>".$string2compute . "<br/>";

echo "<br>Computed signature : " . $computedSignature . "<br>Signature : " . $signature . "<br>";

echo "/n" . $start;
echo "/n" . $end;
echo "/n" . $endchars;

$string2compute = '<result><operation>capture</operation><status>ok</status><date>2018-10-30</date><time>11:06:54 UTC+0000</time><origAmount>42.00</origAmount><origCurrency>EUR</origCurrency><idForMerchant>MEC:2-1_2432!181030120903527</idForMerchant><emailClient>troll@free.fr</emailClient><idClient>748905</idClient><cardCountry>US</cardCountry><ipCountry>FR</ipCountry><merchantDatas>  <_aKey_idA>2</_aKey_idA>  <_aKey_idE>2432</_aKey_idE>  <_aKey_idB>1</_aKey_idB></merchantDatas><transid>5BD83B34B0E0F100</transid><is3ds>No</is3ds><paymentMethod>VISA</paymentMethod><customerCountry>FR</customerCountry><returnCode/><returnDescriptionShort/><returnDescriptionLong/></result>';

echo "<br>New Computed signature : " . md5($string2compute);

?>
