[PHP] IDEAL: een tekst als POST-BODY posten?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik zit met het volgende probleem:

Ik ben bezig met het implementeren van IDEAL (via ABN-AMRO).

Om te communiceren met ABN-AMRO moet ik XML-bestanden posten naar hun server, en vervolgens krijg ik XML-bestanden terug met info. Nu staat er in de documentatie hetvolgende:

De acceptant moet dit bericht vervolgens via HTTP POST middels een SSL (Secure Socket Layer, 128 bits) over HTTPS verbinding via internet naar het iDEAL acquiring systeem van ABN AMRO Bank N.V. sturen. Bij het opbouwen van de SSL verbinding is de acceptant verantwoordelijk voor het authenticeren van de SSL verbinding. Het bericht wordt gestuurd naar de zogenaamde AcquirerDirectoryURL (zie appendix B ). Let er op dat het bericht niet als parameter meegestuurd wordt maar als “body”.

Goed, het probleem is nu: hoe post ik deze door mijzelf gecreeerde XML-content naar hun server? niet via een form-post neem ik aan, want dan ga je ook naar hun pagina wat niet de bedoeling is. Dus het zal server-side moeten? Ook vraag ik me af hoe ik dan ipv een post-variabele, de POST-BODY vul met mijn XML, en hoe je die dan dus verstuurt naar de server van ABN-AMRO via PHP.
Daarnaast is dan de vraag, hoe die server daarop reageert met een output-XML...

Kan iemand mij helpen? Ik heb eerder wel een aantal iDEAL internetkassas geimplementeerd, maar dit werkt wezenlijk anders.

alvast hartelijk dank!

Acties:
  • 0 Henk 'm!

  • aOk
  • Registratie: September 2000
  • Niet online

aOk

Ik weet niet hoe het met iDeal werkt maar anders zou ik gebruik maken van http://www.php.net/curl, daar kun je gewoon een post mee doen zonder dat iemand het ziet

Acties:
  • 0 Henk 'm!

Verwijderd

Een HTTP request bestaat uit headers en eventueel een body. Een POST request heeft altijd een body. Na elke header komt een CRLF, na alle headers komt een extra CRLF. Daarna volgt de body. Het is dus echt zo simpel als een socket openen naar het juiste adres + poort (HTTP over SSL dus waarschijnlijk poort 443), wat headers uitspugen, de XML erachteraan gooien, en klaar.

HTTP:
1
2
3
4
5
6
7
8
POST /pad/naar/script/op/server HTTP/1.1\r\n
Host: naamvandeserver.nl\r\n
Content-Length: 500\r\n
\r\n
<?xml version="1.0" ?>
<root>
   <element>yay!</element>
</root>


Als je niet weet hoe HTTP werkt, zou ik er maar niet aan beginnen. Dus duik goed in de materie, want moeilijk is het niet, of laat het aan een ander over.

[ Voor 18% gewijzigd door Verwijderd op 24-07-2006 20:35 ]


Acties:
  • 0 Henk 'm!

  • BKJ
  • Registratie: April 2000
  • Laatst online: 18-09 14:52

BKJ

Ik heb ook iDeal maar heb gebruik gemaakt van de standaard PHP oplossing die je erbij krijgt. Aangepast en voila...geen gezeur over xml responses over https.

Kamer huren


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ga ik me eens verdiepen in de CURL functie...

Heb overigens geen php voorbeelden of wat dan ook erbij gekregen, behalve een behoorlijke technische handleiding. Zal ze eens bellen om voorbeelden. Altijd handig. Standaard internetkassa is aardig simpel, maar dit is zo'n geintergreerd pakket. Ietjes ingewikkelder dus.

Weet iemand overigens ook hoe je zo'n SSL verbinding fixt ofzo of HTTPS. dat moet je toch aanvragen oid?

Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 12-09 14:32

André

Analytics dude

Verwijderd schreef op maandag 24 juli 2006 @ 20:42:

Weet iemand overigens ook hoe je zo'n SSL verbinding fixt ofzo of HTTPS. dat moet je toch aanvragen oid?
Alleen de server die de request ontvangt moet gecertificeerd zijn want die zal de data encoded over de lijn gooien ;) Maar ook daar is genoeg over te vinden.
Pagina: 1