[php] XML data ontvangen via URL

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Mexxus
  • Registratie: Januari 2004
  • Laatst online: 20-09 17:01
beste mensen,

Ik ben bezig met het aansluiten van een iDEAL installatie. iDEAL is het nieuwe nationale betaalmiddel via Internet, van o.a. de Postbank, Rabobank en ABNAmro. Een erg mooi systeem, maar ik zit met de volgende vraag..

Orderbevestigingen aan de webshop kunnen op twee manieren worden doorgegeven:

1. via Email, met daarin alle transactie en bestel gegevens.

2. via XML naar een URL gestuurd.

De tweede optie lijkt mij het meest makkelijk, omdat ik dan de bestelling (een downloadbestand) automatisch kan laten 'bezorgen' bij ontvangst van die XML data door PHP. Bij een email moet ik anders zelf handmatig nog degegevens verwerken en de bestelling doorvoeren.

Ik vroeg me af hoe ik dan via PHP die toegestuurde XML data kan opvangen? Ik heb al een ticket met de vraag ingediend bij iDEAL, maar erg snel zijn die gasten daar niet. Bij een vorige vraag lieten ze me 5 dagen wachten op een relatief simpel antwoord... Vandaar dat ik de vraag hier ook even voorleg.

Ze versturen dus automatisch XML data naar een URL. Hoe ze dat doen, en in welke vorm geven ze niks bekend. Ik neem aan dat ik blijkbaar de XML data moet opvangen op een of andere manier. Misschien is hier iemand met ervaringen met iDEAL, of het 'ontvagen' van XML data via een URL...

Acties:
  • 0 Henk 'm!

  • T-MOB
  • Registratie: Maart 2001
  • Laatst online: 16:36
Ze bedoelen vast dat ze de XML posten naar het opgegeven URL. Iets anders lijkt me onwaarschijnlijk omdat je er dan een aparte server voor zou moeten draaien die die op dit soort XML requests gaat zitten wachten.
Zolang de e-mails een standaardformaat hebben zijn ze trouwens ook best automatisch te verwerken.

Regeren is vooruitschuiven


Acties:
  • 0 Henk 'm!

  • zwippie
  • Registratie: Mei 2003
  • Niet online

zwippie

Electrons at work

XML-RPC is misschien wel wat je zoekt.

Om xml data via een url ontvangen kun je mbv php en de xmlrpc functies van php iets maken op je webserver. Dit lijkt trouwens moeilijker dan het is. Vaak is het ook wel geactiveerd in Apache op de goedkopere webhosters. Je hoeft er dus geen aparte server voor te draaien.

Ik heb even gezocht naar/op iDEAL, maar kon zo snel niet goed vinden hoe het orderbevestigen precies werkt en of ze dus wel met xmlrpc werken. Als dat niet zo is, gaat mijn verhaal waarschijnlijk niet werken.

How much can you compute with the "ultimate laptop" with 1 kg of mass and 1 liter of volume? Answer: not more than 10^51 operations per second on not more than 10^32 bits.


Acties:
  • 0 Henk 'm!

  • Mexxus
  • Registratie: Januari 2004
  • Laatst online: 20-09 17:01
Jep, ze sturen het naar een URL. Dus mijn vraag is.. hoe vang ik dat via die URL (php bestand?) die XML data op?

Acties:
  • 0 Henk 'm!

  • mocean
  • Registratie: November 2000
  • Laatst online: 04-09 10:34
Mexxus schreef op donderdag 08 december 2005 @ 14:59:
Jep, ze sturen het naar een URL. Dus mijn vraag is.. hoe vang ik dat via die URL (php bestand?) die XML data op?
Je kan toch gaan testen met een kleine betaling (€1,-) en dan alle POST en GET variabelen loggen? En ook de raw HTTP request, dan vind je vast wel waar die XML zit.

Koop of verkoop je webshop: ecquisition.com


Acties:
  • 0 Henk 'm!

  • Yohost!
  • Registratie: Juni 2000
  • Laatst online: 20-09 23:29
PHP:
1
2
3
4
5
6
<?
  // Read input buffer
  $ph = fopen("php://input", "rb");
  while (!feof($ph)) $xml_content .= fread($ph, 4096);
  fclose($ph);
?>


Dit moet werken :)

[ Voor 16% gewijzigd door Yohost! op 09-12-2005 09:06 ]


Acties:
  • 0 Henk 'm!

  • B-Man
  • Registratie: Februari 2000
  • Niet online
Volgens mij POSTen ze de XML data gewoon, dus dan krijg je gewoon een named-index in $_POST die je kunt gebruiken. (Bijvoorbeeld die string in SimpleXML inlezen enz).

Acties:
  • 0 Henk 'm!

  • sorted.bits
  • Registratie: Januari 2000
  • Laatst online: 21:03
Het lijkt mij gewoon een web service met SOAP, wat je gewoon even moet weten is wat de URL van hun test/ontwikkel omgeving is. Op deze manier kan je requests inschieten zonder dat je steeds 1 euro moet dokken. Elke dienst draaiende op een SOAP interface (welke geld kost) heeft wel zo'n omgeving.

Daarnaast kan je misschien van de PEAR libraries gebruik maken.
Pagina: 1