Ontwikkeling van iDEAL plugins en iDEAL scripts
Wij ontwikkelen o.a. PHP scripts en plugins, zodat webmasters online betalingen kunnen ontvangen in tal van opensource pakketten. Bij de ontwikkeling van deze scripts houden proberen we waar mogelijk rekening te houden met de volgende zaken:
|
|
|
Betaalmethodes
Momenteel richten wij ons bij de ontwikkeling van plugins/scripts alleen op iDEAL; gezien dit de populairste online betaalmethode is in Nederland. Onze scripts/plugins voor open source pakketten maken we (waar mogelijk) compatible voor:
| Betaalmethode | Aanbieder |
| iDEAL Advanced | ING Bank |
| iDEAL Basic | ING Bank |
| iDEAL Checkout | AssurePay |
| iDEAL Lite | Rabobank |
| iDEAL Professional | Rabobank |
| iDEAL Professional | Mollie |
| iDEAL Zelfbouw | ABN Amro Bank |
Bestand indeling
Bij het downloaden van een van onze scripts/plugins vind je in het ZIP bestand o.a. de map "public_html". Deze map staat symbool voor de hoofdmap van jouw domein in jou FTP omgeving (public_html, httpdocs, htdocs of www). Binnen deze map tref je tal van mappen en bestanden aan die je moet uploaden naar jou FTP omgeving. Bij het uploaden zullen bepaalde mappen automatisch samenvoegen met bestaande mappen op je FTP omgeving. Dit is bewust zo gedaan zodat alle bestanden op de juiste plek belanden binnen je applicatie.
Bestand: /public_html/ideal_install.php
Bij elke plugin tref je in de hoofdmap het bestand 'ideal_install.php' aan. Dit script controleert o.a. alle bestanden, schrijfrechten en voert enkele queries uit in de database. Dit script hoor je 1x uit te voeren (Open in je browser: http://www.domein.nl/ideal_install.php). Na succes kun je het bestand weer verwijderen van je FTP omgeving.
Map: /public_html/ideal/
Ook tref je in de hoofdmap de map /ideal/ aan. Deze map bevat alle betaalsysteem-afhankelijke-scripts.
- In de map /ideal/library/ vind je een bestand met als extensie ".cfg.php". Dit is het algemene configuratie bestand van de betaalmethode dat je zelf moet vullen met de gegevens van jou account (Waar mogelijk is dit bestand gevuld met de gegevens van een standaard test account).
- Sommige betaalsystemen maken gebruik van een cache (o.a. iDEAL Professional). Maak in dat geval de map /ideal/library/cache/ (en alle onderliggende bestanden) schrijfbaar.
- In geval van iDEAL Professional wordt /ideal/library/ssl/ gebruikt voor je certificaten.
Overige mappen/bestanden
Overige mappen/bestanden die je aantreft in zijn applicatie specifiek. Bij het uploaden worden zij automatisch samengevoegd met bestaande mappen van de applicatie.
Database indeling
We gebruiken een database tabel met de naam "[prefix]transactions" waarin we alle informatie over de transactie opslaan. De betaalsysteem-afhankelijke-scripts maken ALLEEN gebruik van deze tabel bij het starten en verwerken van de betaling. Zo hoeven deze scripts verder geen kennis te hebben van de betreffende applicatie.
| id | Een unieke record referentie (AUTO INCREMENT) |
| order_id | Het ordernummer (doorgaans door de applicatie bepaald) |
| order_code | Een random code om (i.c.m. order_id) toegang te krijgen tot de order. |
| transaction_id | Het Transactie ID van de bestelling (ontvang je tijdens de TransactionRequest). |
| transaction_code | Een random code om (i.c.m. transaction_id) toegang te krijgen tot de order (Wordt gebruikt door het betaal systeem). |
| transaction_method | De gebruikte betaalmethode/gateway. |
| transaction_date | Datum waarop de transactie informatie is bijgewerkt. |
| transaction_amount | Het transactie bedrag. |
| transaction_description | Omschrijving van de transactie (ziet de klant doorgaans tijdens de besteling, en later op het bankafschrift). |
| transaction_status | De huidige status van de bestelling. Mogelijke statussen (afhankelijk van betaalmethode): SUCCESS, PENDING, OPEN, CANCELLED, EXPIRED, FAILURE. |
| transaction_url | Wanneer de transactie status 'OPEN' is, kan men naar deze URL om de betaling alsnog af te ronden.' (Zolang de betaling niet is verlopen) |
| transaction_payment_url | URL om terug te keren naar de "kies een (andere) betaalmethode"-pagina. Indien deze pagina in de betreffende applicatie niet bestaat, zal deze NULL blijven. |
| transaction_success_url | URL om terug te keren naar de "uw betaling is voltooid"-pagina. Indien deze pagina in de betreffende applicatie niet bestaat, zal deze NULL blijven. |
| transaction_pending_url | URL om terug te keren naar de "uw betaling is in behandeling"-pagina. Indien deze pagina in de betreffende applicatie niet bestaat, zal deze NULL blijven. |
| transaction_failure_url | URL om terug te keren naar de "uw betaling is geannuleerd"-pagina. Indien deze pagina in de betreffende applicatie niet bestaat, zal deze NULL blijven. |
| transaction_params | In sommige applicaties heb je bepaalde parameters die bij de transactie opgeslagen moeten worden. In dit veld kun daarom soms een JSON-formatted array verwachten. Deze parameters zijn alleen bedoeld voor de applicatie-afhankelijke scripts. |
| transaction_log | Een mini logboek met o.a. informatie van het betaalsysteem. |

