Advertisement
Guest User

mollie

a guest
Jan 13th, 2014
129
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.40 KB | None | 0 0
  1. <?php
  2. /*
  3. Plugin Name: iDEAL Mollie betalen doneren
  4. Description: WordPress plugin om te betalen met iDEAL via Mollie
  5. Version: v1.2
  6. Author: <a href="mailto:marcel.verhaar@fikira.nl">Marcel Verhaar</a>
  7.  
  8. This program is free software; you can redistribute it and/or modify
  9. it under the terms of the GNU General Public License, version 2, as
  10. published by the Free Software Foundation.
  11.  
  12. This program is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. GNU General Public License for more details.
  16.  
  17. You should have received a copy of the GNU General Public License
  18. along with this program; if not, write to the Free Software
  19. Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
  20. */
  21. # ---------------------------------------------------------------------------------------------------------------
  22. /*
  23. Notepad for copy/paste and temporary things:
  24.  
  25. */
  26. # ---------------------------------------------------------------------------------------------------------------
  27. # Configuration & Global variables
  28. #
  29. global $fip_permaLink;
  30. global $fip_partnerid;
  31. global $fip_bedrag;
  32. global $fip_referentie;
  33. global $errors;
  34. $fip_permaLink = "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
  35.  
  36.  
  37. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  38. function requires_wordpress_version() {
  39. global $wp_version;
  40. $plugin = plugin_basename( __FILE__ );
  41. $plugin_data = get_plugin_data( __FILE__, false );
  42.  
  43. if ( version_compare($wp_version, "3.5", "<" ) ) {
  44. if( is_plugin_active($plugin) ) {
  45. deactivate_plugins( $plugin );
  46. wp_die( "'".$plugin_data['Name']."' werkt met WordPress versie 3.5 en hoger!<br>Upgrade WordPress en activeer de plugin opnieuw.<br /><br />Terug naar <a href='".admin_url()."'>Admin pagina</a>." );
  47. }
  48. }
  49. }
  50. add_action( 'admin_init', 'requires_wordpress_version' );
  51.  
  52. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  53. function fip_plugin_activate() {
  54. if( !get_option( 'fip_partnerid' ) ) {
  55. update_option( 'fip_partnerid', "1234567890");
  56. }
  57. if( !get_option( 'fip_betaald_text' ) ) {
  58. update_option( 'fip_betaald_text', "Bedankt voor de betaling. Het bedrag van EUR _BEDRAG_ is overgemaakt.");
  59. }
  60. if( !get_option( 'fip_geannuleerd_text' ) ) {
  61. update_option( 'fip_geannuleerd_text',"De betaling is geannuleerd. Probeer het opnieuw.");
  62. }
  63. if( !get_option( 'fip_onbekend_text' ) ) {
  64. update_option( 'fip_onbekend_text', "De betaalstatus kan niet worden opgevraagd. Controleer uw bankafschrift.");
  65. }
  66. if( !get_option( 'fip_betaalknop_text' ) ) {
  67. update_option( 'fip_betaalknop_text', "Betalen");
  68. }
  69. }
  70. register_activation_hook( __FILE__, 'fip_plugin_activate' );
  71. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  72. function fip_register_shortcodes(){
  73. add_shortcode('IDEAL', 'fip_iDealPaymentMain');
  74. }
  75. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  76. function fip_plugin_settings_link($links) {
  77. $settings_link = '<a href="options-general.php?page=ideal_settings">Instellingen</a>';
  78. array_unshift($links, $settings_link);
  79. return $links;
  80. }
  81. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  82. $plugin = plugin_basename(__FILE__);
  83. add_filter("plugin_action_links_$plugin", 'fip_plugin_settings_link' );
  84. add_filter('widget_text', 'do_shortcode', 11);
  85. add_action( 'init', 'fip_register_shortcodes');
  86.  
  87.  
  88.  
  89.  
  90. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  91. function myshortcode_handler()
  92. {
  93. static $first_call = TRUE;
  94. if ( ! $first_call )
  95. {
  96. echo "<b>Fout, De iDEAL betaal plugin is ergens anders al actief op de pagina.</b>";
  97. return true;
  98. }
  99. $first_call = FALSE;
  100. }
  101. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  102. add_action('admin_menu', 'ideal_plugin_settings');
  103. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  104. function ideal_plugin_settings() {
  105. add_menu_page('Mollie iDEAL donatie plugin instellingen', 'iDEAL plugin', 'administrator', 'ideal_settings', 'ideal_display_settings',plugins_url( 'ideal-mollie-betalen-doneren/icon.png' ));
  106. }
  107. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  108. function ideal_display_settings() {
  109. if ( !current_user_can( 'manage_options' ) ) {
  110. wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
  111. }
  112.  
  113.  
  114.  
  115. $fip_partnerid = (get_option('fip_partnerid') != '') ? get_option('fip_partnerid') : '0';
  116. $fip_betaald_text = (get_option('fip_betaald_text') != '') ? get_option('fip_betaald_text') : 'Bedankt voor de betaling. Het bedrag van EUR _BEDRAG_ is overgemaakt.';
  117. $fip_geannuleerd_text = (get_option('fip_geannuleerd_text') != '') ? get_option('fip_geannuleerd_text') : 'De betaling is geannuleerd. Probeer het opnieuw.';
  118. $fip_onbekend_text = (get_option('fip_onbekend_text') != '') ? get_option('fip_onbekend_text') : 'De betaalstatus kan niet worden opgevraagd. Controleer uw bankafschrift.';
  119. $fip_testBank = (get_option('fip_testBank') != '') ? get_option('fip_testBank') : '0';
  120. $fip_betaalknop_text = (get_option('fip_betaalknop_text') != '') ? get_option('fip_betaalknop_text') : 'Betalen';
  121. //$fip_testBank="0";
  122.  
  123.  
  124.  
  125.  
  126.  
  127. $html = '</pre>
  128. <div class="wrap"><form action="options.php" method="post" name="options">
  129. <h2>iDEAL Mollie betalen doneren instellingen</h2>
  130. ' . wp_nonce_field('update-options') . '
  131. <table class="form-table" cellpadding="10">
  132. <tbody>
  133. <tr>
  134. <td align="left" valign="top" style="width: 150px;"><label> Mollie PartnerID:</label></td>
  135. <td align="left"><input type="text" name="fip_partnerid" value="' . $fip_partnerid . '" /><br><p class="description">Vul hier uw Mollie partnerid code in.</p></td>
  136. </tr>
  137.  
  138. <tr>
  139. <td align="left" valign="top"><label> Betaald tekst:</label></td>
  140. <td><textarea name="fip_betaald_text" cols="50" rows="2">'. $fip_betaald_text .'</textarea><br><p class="description">Vul hier in wat de plugin moet laten zien als de betaling succesvol is afgerond.<br>Gebruik <b>_BEDRAG_</b> om het bedrag te laten zien.(html is toegestaan)</p></td></td>
  141. </tr>
  142.  
  143. <tr>
  144. <td align="left" valign="top"><label> Annulerings tekst:</label></td>
  145. <td><textarea name="fip_geannuleerd_text" cols="50" rows="2">'. $fip_geannuleerd_text .'</textarea><br><p class="description">Vul hier in wat de plugin moet laten zien als de betaling geannuleerd is.(html is toegestaan)</p></td></td>
  146. </tr>
  147.  
  148. <tr>
  149. <td align="left" valign="top"><label> Status onbekend tekst:</label></td>
  150. <td><textarea name="fip_onbekend_text" cols="50" rows="2">'. $fip_onbekend_text .'</textarea><br><p class="description">Vul hier in wat de plugin moet laten zien als de betalingsstatus niet gecontroleerd kan worden. (html is toegestaan)</p></td></td>
  151. </tr>
  152.  
  153. <tr>
  154. <td align="left" valign="top" style="width: 150px;"><label> Betaalknop tekst:</label></td>
  155. <td align="left"><input type="text" name="fip_betaalknop_text" value="' . $fip_betaalknop_text . '" /><br><p class="description">De tekst die u hier invult wordt weergegeven op de betaalknop.</p></td>
  156. </tr>
  157.  
  158. <tr>
  159. <td align="left" valign="top"><label> Testmodus:</label></td>
  160. <td><input type="checkbox" name="fip_testBank" value="1"';
  161. echo $html;
  162. checked( '1', get_option( 'fip_testBank' ) );
  163. $html='
  164. /><br><p class="description">Voegt een testbank toe aan de bankenlijst om te testen (Testmode moet ook bij Mollie geactiveerd zijn)</p></td></td>
  165. </tr>
  166.  
  167.  
  168. </tbody>
  169. </table>
  170. <input type="hidden" name="action" value="update" />
  171.  
  172. <input type="hidden" name="page_options" value="fip_testBank,fip_onbekend_text,fip_geannuleerd_text,fip_partnerid,fip_betaald_text,fip_betaalknop_text" />
  173. <br>
  174. <input type="submit" name="Submit" value="Instellingen opslaan" class="button-primary"/></form></div>
  175. <pre>
  176. ';
  177.  
  178. echo $html;
  179.  
  180.  
  181.  
  182. if( isset($_GET['settings-updated']) ) { ?>
  183. <div id="message" class="updated">
  184. <p><strong><?php _e('Settings saved.') ?></strong></p>
  185. </div>
  186. <?php }
  187.  
  188. $help_01 = plugins_url( 'help_01.jpg', __FILE__ );
  189. $help_02 = plugins_url( 'help_02.jpg', __FILE__ );
  190. $help_03 = plugins_url( 'help_03.jpg', __FILE__ );
  191. $help_04 = plugins_url( 'help_04.jpg', __FILE__ );
  192.  
  193. echo <<<EOF
  194. <p>
  195. <b>Help</b>
  196. ----
  197. Met deze plugin kunt u klanten makkelijk laten betalen met iDEAL.
  198. Om gebruik te kunnen maken van dit betaalsysteem heeft u een Mollie account nodig.
  199. Als u geen Mollie account heeft dan kunt u deze openen op de website van <a href="http://www.mollie.nl" target="nieuw">Mollie</a>.
  200. Deze plugin haalt de meeste recente iDEAL banken lijst op voor iedere transactie, op deze manier zijn nieuw aangesloten
  201. banken direct zichtbaar.
  202.  
  203. Om de plugin te activeren moet u de shortcode <b>[IDEAL]</b> gebruiken. Dit kan zowel op pagina's, posts en widgets.
  204. Ook zijn er een drietal parameters die optioneel meegegeven kunnen worden in de shortcode.
  205.  
  206. 1. <b>fip_partnerid="12345678"</b>
  207. Deze parameter is optioneel. Als deze parameter niet is meegegeven dan wordt de PartnerID code van de instellingen gebruikt.
  208. Wees er wel zeker van dat u deze heeft ingevuld bij de instellingen anders geeft de plugin een melding.
  209.  
  210. 2. <b>fip_referentie="Dit is een referentie"</b>
  211. Deze parameter is optioneel. Als u deze parameter meegeeft dan kunnen uw klanten zelf geen referentie invullen omdat het
  212. tekstveld dan niet zichtbaar is. Deze optie is uitermate geschikt voor donaties.
  213.  
  214. 3. <b>fip_bedrag="100,00"</b>
  215. Deze parameter is optioneel. Als u deze parameter meegeeft dan kunnen uw klanten zelf geen bedrag invullen omdat het
  216. tekstveld dan niet zichtbaar is. Deze optie is uitermate geschikt voor donaties.
  217.  
  218. -
  219. Enkele voorbeelden:
  220.  
  221. 1. <b>[IDEAL]</b>
  222. Met deze optie worden er helemaal geen parameters meegegeven, met deze optie moet het 'Mollie PartnerID' ingevuld worden.
  223. De betaalmodule ziet er dan als volgt uit:
  224. <img src="$help_02">
  225. Hier kan de klant zelf een referentie en bedrag opgeven voor de iDEAL transactie.
  226. Als u meerdere Mollie PartnerID's heeft dan kun u het beste ook de partnerID code in the shortlink zetten:
  227. <b>[IDEAL fip_partnerid="023456878"]</b>
  228.  
  229. 2. <b>[IDEAL fip_bedrag="19,79"]</b>
  230. Met deze optie wordt alleen het bedrag vermeld.
  231. De betaalmodule ziet er dan zo uit:
  232. <img src="$help_03">
  233. De klant kan hier zelf geen bedrag kiezen maar wel een referentie opgeven voor de iDEAL transactie.
  234. Als u meerdere Mollie PartnerID's heeft dan kun u het beste ook de partnerID code in the shortlink zetten:
  235. <b>[IDEAL fip_partnerid="023456878" fip_bedrag="19,79"]</b>
  236.  
  237. 3. <b>[IDEAL fip_referentie="Donatie"]</b>
  238. Met deze optie wordt alleen de referentie vermeld.
  239. De betaalmodule ziet er dan zo uit:
  240. <img src="$help_04">
  241. De klant kan hier zelf geen referentie invoeren maar wel een bedrag opgeven voor de iDEAL transactie.
  242. Als u meerdere Mollie PartnerID's heeft dan kun u het beste ook de partnerID code in the shortlink zetten:
  243. <b>[IDEAL fip_partnerid="023456878" fip_referentie="Donatie"]</b>
  244.  
  245. 4. <b>[IDEAL fip_partnerid="023456878" fip_referentie="Donatie" fip_bedrag="1,20"]</b>
  246. Met deze optie worden er alle parameters meegegeven, de klant kan dan alleen een bank selecteren.
  247. De betaalmodule ziet er dan zo uit:
  248. <img src="$help_01">
  249. Als u meerdere Mollie PartnerID's heeft dan kun u het beste ook de partnerID code in the shortlink zetten:
  250. <b>[IDEAL fip_partnerid="023456878" fip_referentie="Donatie" fip_bedrag="1,20"]</b>
  251. -
  252. Indien de plugin meerdere keren is toegevoegd zal alleen de eerstgeladen zichtbaar zijn, dit i.v.m. form data.
  253.  
  254. Tip:
  255. Als u een afbeelding wilt laten zien als een betaling succesvol is afgerond kunt u html gebruiken:
  256. <b>&lt;img src=&quot;locatieAfbeelding&quot;&gt;</b>
  257. </p>
  258. EOF;
  259.  
  260. }
  261. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  262. function fip_iDealPaymentMain($fip_parameters)
  263. {
  264. global $fip_partnerid;
  265. global $fip_bedrag;
  266. global $fip_referentie;
  267. global $errors;
  268.  
  269. ob_start();
  270. echo '<div style="display:none">IDEAL_MOLLIE_BETALEN_DONEREN_AQZSUAWWMX</div>';
  271. echo "<p>";
  272. if (myshortcode_handler()){goto eind;}
  273. //----------
  274. extract(shortcode_atts(array(
  275. 'fip_partnerid' => "",
  276. 'fip_bedrag' => "",
  277. 'fip_referentie' => "",
  278. ), $fip_parameters));
  279. //----------
  280. if (isset($_GET['transaction_id']))
  281. {
  282. getBetaalStatus();
  283. }
  284. else if (isset($_POST['actie']))
  285. {
  286. $fip_bedrag = $_POST['fip_bedrag'];
  287. $fip_referentie = $_POST['fip_referentie'];
  288. $fip_partnerid= $_POST['fip_partnerid'];
  289.  
  290. $errors ="";
  291. $fip_bedrag = str_replace(",", ".", $fip_bedrag);
  292.  
  293. if (empty($fip_referentie)){ $errors =$errors ."* Geef uw referentie op<br>"; $fip_referentie=""; }
  294. if (empty($fip_bedrag) || !isValuta($fip_bedrag)){ $errors =$errors . "* Vul een correct bedrag in<br>";$fip_bedrag=""; }
  295.  
  296.  
  297. if ($fip_bedrag != "") {
  298. $fip_bedrag = fixBedrag($fip_bedrag);
  299. if ($fip_bedrag < 120 || $fip_bedrag > 5000000) { $errors =$errors . "* Bedrag moet hoger zijn dan 1,20 en lager dan 50000,00<br>";$fip_bedrag=""; }
  300. }
  301.  
  302. if (!empty($errors)) {generateForm($fip_referentie,$fip_bedrag,$fip_partnerid,$errors); }
  303. else {
  304.  
  305. Request_Mollie_Payment_Link($fip_bedrag,$fip_referentie,$fip_partnerid);
  306. }
  307. }
  308. else {
  309. if (!empty($fip_partnerid)){ generateForm($fip_referentie,$fip_bedrag,$fip_partnerid,$errors);} else
  310. {
  311. $fip_partnerid = get_option('fip_partnerid');
  312. generateForm($fip_referentie,$fip_bedrag,$fip_partnerid,$errors);
  313. //echo "FOUT: partnerid niet meegegeven!<br>Voorbeeld: [ IDEAL partnerid=\"234533\" ]";
  314. }
  315. //
  316. }
  317. eind:
  318. echo "</p>";
  319. $fip_output_string=ob_get_contents();
  320. ob_end_clean();
  321. return $fip_output_string;
  322. }
  323. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  324. function fip_checkShortcodeParameters($fip_parameters)
  325. {
  326. extract(shortcode_atts(array(
  327. 'fip_partnerid' => "",
  328. 'fip_bedrag' => "",
  329. 'fip_referentie' => "",
  330. ), $fip_parameters));
  331. }
  332. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  333. function generateForm($fip_referentie,$fip_bedrag,$fip_partnerid,$errors)
  334. {
  335.  
  336. $fip_betaalknop_text = get_option('fip_betaalknop_text');
  337. if (!empty($errors)){echo "$errors<br>";}
  338. echo <<<EOF
  339. <form name="form1" method="post" action="{$fip_permaLink}">
  340. EOF;
  341. fetchBanken();
  342. if (empty($fip_referentie)) { echo "<br>Factuurnummer of referentie:<br><input name=\"fip_referentie\" type=\"text\" value=\"$fip_referentie\" size=\"40\" maxlength=\"32\"><br>"; } else { echo "<input name=\"fip_referentie\" type=\"hidden\" value=\"$fip_referentie\">"; }
  343. if (empty($fip_bedrag)) { echo "<br>Bedrag:<br><input name=\"fip_bedrag\" type=\"text\" value=\"$fip_bedrag\" size=\"40\"><br>"; } else { echo "<input name=\"fip_bedrag\" type=\"hidden\" value=\"$fip_bedrag\">"; }
  344.  
  345. echo <<<EOF
  346. <input name="fip_partnerid" type="hidden" value="$fip_partnerid">
  347. <input name="actie" type="hidden" value="betaal">
  348. <br>
  349. <input type="submit" value="$fip_betaalknop_text">
  350. </form>
  351. EOF;
  352. }
  353. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  354. function FetchBanken()
  355. {
  356. global $fip_testBank;
  357.  
  358. $mollie_bank_request_url = "https://secure.mollie.nl/xml/ideal?a=banklist";
  359. $mollie_bank_response_url = file_get_contents($mollie_bank_request_url);
  360. $xml_data = simplexml_load_string($mollie_bank_response_url);
  361.  
  362.  
  363. $array = (array)$xml_data;
  364.  
  365. if (get_option('fip_testBank')=="1"){ echo "<b>Let op! Testmodus actief.</b><br>"; }
  366. echo "Bank:<br>";
  367. echo "<select name=\"bank_id\">";
  368. foreach ($xml_data->bank as $bank)
  369. {
  370. echo "<option value=\"$bank->bank_id\">$bank->bank_name</option>";
  371. }
  372. if (get_option('fip_testBank')=="1")
  373. {
  374. echo "<option value=\"9999\" selected>TBM Bank</option>";
  375. }
  376. echo "</select><br>";
  377. }
  378. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  379. function Request_Mollie_Payment_Link($fip_bedrag,$fip_referentie,$fip_partnerid)
  380. {
  381. global $fip_permaLink;
  382. $bank_id = $_POST["bank_id"];
  383. $fip_referentie = preg_replace('/[^ \w]+/', '+', $fip_referentie);
  384. $fip_referentie = str_replace(" ", "+", $fip_referentie);
  385. $fip_partnerid= preg_replace("/[^0-9]/","",$fip_partnerid);
  386. $dummy =plugins_url( 'dummy.php', __FILE__ );
  387. $mollie_generated_link = 'https://secure.mollie.nl/xml/ideal?a=fetch&partnerid=' . $fip_partnerid . '&description=' . $fip_referentie . '&reporturl=' . $dummy . '?mode=report&returnurl=' . $fip_permaLink . '&amount='. $fip_bedrag .'&bank_id='. $bank_id;
  388.  
  389.  
  390. $xml_data = simplexml_load_file($mollie_generated_link);
  391. if (!empty($xml_data->item->errorcode))
  392. {
  393. echo "Er gaat iets fout:<br>".$xml_data->item->message;
  394. } else {
  395. $payment_link = $xml_data->order->URL;
  396. redirect($payment_link);
  397. }
  398. }
  399. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  400. function redirect($payment_link)
  401. {
  402. # Redirect naar de gegenereerde Mollie URL, we gebruiken hiervoor een JS redirect. Omdat WordPress al headers heeft gestuurd
  403. # voor dat dit script aangeroepen werd kunnen we: 'header("Location: $payment_link");' niet gebruiken :(
  404. echo "Momentje... U wordt omgeleid naar de iDEAL betaalpagina";
  405. echo <<<EOF
  406. <script type="text/javascript">
  407. <!--
  408. window.location="$payment_link";
  409. //-->
  410. </script>
  411. EOF;
  412. }
  413. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  414. function isValuta($c)
  415. {
  416.  
  417. $c = str_replace(",", ".", $c);
  418.  
  419. # Controle of het opgegeven bedrag daadwerkelijk valuta is
  420. # xxxxxxxxx.xx
  421. # We accepteren tot 2 decimalen achter de comma.
  422. return preg_match("/^-?[0-9]+(?:\.[0-9]{2})?$/", $c);
  423. }
  424. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  425. function fixBedrag($c)
  426. {
  427. $punt = '.';
  428. $pos = strpos($c, $punt);
  429. if ($pos === false)
  430. {
  431. // Er is geen . gevonden dus adden we eerst een . met 2 decimalen
  432. $c .=".00";
  433. }
  434. $c = str_replace(".", "", $c);
  435. return($c);
  436. }
  437. # -------------------------------------------------------------------------------------------------------------------------------------------------------------
  438. function getBetaalStatus()
  439. {
  440. global $fip_permaLink;
  441. $transaction_id = $_GET['transaction_id'];
  442.  
  443. if (get_option('fip_testBank') == "1"){
  444. $testmode = "true";
  445. } else{
  446. $testmode = "false";
  447. }
  448.  
  449. $fip_partnerid = get_option('fip_partnerid');
  450.  
  451. $transaction_status_request_url = "https://secure.mollie.nl/xml/ideal?a=check&partnerid=" . $fip_partnerid . "&transaction_id=" . $transaction_id . "&testmode=" . $testmode;
  452. $transaction_status_response_url = file_get_contents($transaction_status_request_url);
  453. $xml_data = simplexml_load_string($transaction_status_response_url);
  454.  
  455.  
  456. if ($xml_data->order->payed == "true" && $xml_data->order->status == "Success")
  457. {
  458.  
  459. //setlocale(LC_MONETARY,"nl_NL");
  460. $bedrag = floatval($xml_data->order->amount)/100;
  461. $bedrag = money_format("%.2n", $bedrag);
  462.  
  463. $tmp = get_option('fip_betaald_text');
  464. $tmp = str_replace("_BEDRAG_", "$bedrag", $tmp);
  465.  
  466. echo $tmp;
  467.  
  468. }
  469. else if ($xml_data->order->payed == "false" && $xml_data->order->status == "Cancelled")
  470. {
  471. // Geannuleerd
  472. $tmp = get_option('fip_geannuleerd_text');
  473. echo $tmp;
  474. doeRefreshLink();
  475.  
  476. }
  477. else if ($xml_data->order->payed == "false" && $xml_data->order->status == "Expired")
  478. {
  479. // Verlopen
  480. echo <<<EOF
  481. De betaling is verlopen, probeer het opnieuw.
  482. EOF;
  483. doeRefreshLink();
  484. }
  485. else if ($xml_data->order->payed == "false" && $xml_data->order->status == "Failure")
  486. {
  487. // Fout
  488. echo <<<EOF
  489. Er is iets misgegaan met de betaling, probeer het opnieuw.
  490. EOF;
  491. doeRefreshLink();
  492. }
  493. else if ($xml_data->order->payed == "false" && $xml_data->order->status == "CheckedBefore")
  494. {
  495. // Status was al opgevraagd
  496. echo <<<EOF
  497. De betaalstatus is al een keer opgevraagd. Wegens veiligheidsredenen kunnen we dit niet nogmaals opvragen, controleer a.u.b. uw bankafschrift.
  498. EOF;
  499. }
  500. else if ($xml_data->order->payed == "false" && $xml_data->order->status == "Open")
  501. {
  502. // Status van de order is onbekend
  503. $tmp = get_option('fip_onbekend_text');
  504. echo $tmp;
  505. doeRefreshLink();
  506. }
  507. }
  508.  
  509.  
  510. function doeRefreshLink()
  511. {
  512. global $fip_permaLink;
  513. echo <<<EOF
  514. <br><a hef="#" onclick="javascript:(window.location='
  515. EOF;
  516. $url = explode("?", $fip_permaLink);
  517. echo $url[0];
  518. echo <<<EOF
  519. ');">Opnieuw</a>
  520. EOF;
  521. }
  522.  
  523.  
  524.  
  525.  
  526.  
  527. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement