[php] bibit payment system ?

Pagina: 1
Acties:
  • 118 views sinds 30-01-2008
  • Reageer

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Hey lui,

ik ben met een shop bezig, en de eigenaar maakt op dit moment in z'n oude shop gebruik van Bibit en wil dit ook blijven gebruiken, dus moet ik uitzoeken hoe ik de connectie maak met de Bibit server, info verstuur, info terug krijg, etc.

Een tijdje terug keek ik op hun site en zag meteen een mooi en erg supersimpel voorbeeld:

http://documentation.bibit.com/technical/port2100/php3/

Nu ging ik zonet weer terug naar die pagina, en daar stond het volgende (op een pagina terug, dus niet op bovenstaande):

WARNING: This way of interfacing with Bibit is obsolete and should no longer be used. The phase-out of this interface is planned for 2002. Existing shops using this interface will have to be rewritten to use the XML interface. See our main technical documentation for more details.

Oftewel, ik kan dat makkelijke systeem niet meer gebruiken.
Ik nam dus eens een kijkje in die technical manual, en kwam erachter dat het ineens een HEEL stuk lastiger is geworden, daar gaat (volgens mij) heel, heel erg veel tijd in zitten.

Zijn er mensen die al op deze nieuwe manier verbinding met Bibit hebben gemaakt, en is het echt zo moeilijk en tijdrovend als ik denk dat het is?

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

kzit met hetzelfde.

Een klant van mij heeft mij gevraagd te kijken naar de nieuwe betalingsmethode van Bibit, omdat deze dus gaat veranderen. Ik heb de nieuwe documentatie doorgenomen, en het lijkt meer dan het is.

De enige stap nu is dat je alles via XML naar hun servers stuurt ( voorheen was dit een lange string ). Je zult dus aan de slag moeten ( als je in PHP gaat werken ) met de combinatie XML + PHP.

De methode die je nu hebt ( string verzamelen en versturen moeten nu via wat andere stappen gedaan worden:

• maak een factuur, volgens de eisen van Bibit (dit had je al gemaakt als het goed is )
• Nu moet je een XML order sturen naar Bibit (waar je vroeger alleen een string moest sturen )
• In de handleiding staat uitgebreid uitgelegd welke elementen je XML file moet bevatten. Ook een uitgebreide tabel met alle attributen is toegevoegd.
• Heb je deze order samengesteld, post hem dan via https:
• Aan de hand van deze order zal de server een response sturen, weer in het formaat XML.
• Deze pars je weer mbv PHP en aan de hand daarvan doe je verdere acties.

Op internet zijn goede tutorials te vinden over XML en PHP, vraag wel even na of je host PHP heeft compiled met XML support ( of check je phpinfo() page )

Tis allemaal niet zoveel werk, zeker niet als je al een module had geschreven...

HTH :)

"You're only as good, as what you did last week."


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Ziet er wel goed uit :)

Ook gewoon eisen dat iedereen het systeem aanpast :o . Dat zouden meer mensen moeten doen ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • raptorix
  • Registratie: Februari 2000
  • Laatst online: 17-02-2022
een xml string sturen is toch niet zo moeilijk? Questie van xml opbouwen en ff een post doen, heb nooit met asp gewerkt maar met asp had ik binnen een dag de boel door.

  • Bigs
  • Registratie: Mei 2000
  • Niet online
Op vrijdag 16 november 2001 16:49 schreef mbravenboer het volgende:
Ziet er wel goed uit :)

Ook gewoon eisen dat iedereen het systeem aanpast :o . Dat zouden meer mensen moeten doen ;) .
XML-junk :P

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Hmm ok, dat is inderdaad makkelijker als dat het lijkt!

En met XML icm PHP heb ik geen moeite....

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Ik vraag me nu alleen nog af hoe het zit met credit cards.
Als je die wilt gebruiken in je shop, moet je die er dan zelf 'inbouwen' en checken?
Ik zag namelijk laatst bij een shop dat wanneer ik op credit card klikte hij geforward werd naar een pagina van Bibit (ook niet echt fijn trouwens, vooral als die pagina een totaal andere layout heeft als de jouwe!!)

Mensen hier ervaring mee?

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
^^

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Ik ga toch maar 's met het java voorbeeld verder in plaats van het met PHP te doen, lijkt me op zich wat sneller:

http://www.bibit.com/examples_documentation.shtml

Verwijderd

Hoi allemaal, waar vind ik een goed voorbeeld van
een PHP/XML oplossing voor dat BIBIT?
Is er ook een mogelijkheid om eerst te testen alvorens
een contract met BIBIT aan te gaan?
En is SSL een vereiste?

Please help. Thanks ;)

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 07:51

HenkS

Da_king alias HenkS

het nieuwe bibit systeem gaat met xml werken, betekend dit dat de oude bibit systemen allemaal niet meer zullen werken en de systemen dus herschreven moeten worden?

edit:

lijkt me namelijk sterk, wij als website ontwikkelaar hebben namelijk paar klanten die bibit gebruiken, dan hadden wij of de klanten die de accounts bij bibit aangevraagd hebben, toch al lang mail moeten krijgen dat je het moet gaan herschrijven??? kunnen ze toch niet zomaar doen??

ik heb het dan wel over de ASP versie

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 07:51

HenkS

Da_king alias HenkS

Op maandag 19 november 2001 09:02 schreef Tangletje het volgende:
Ik vraag me nu alleen nog af hoe het zit met credit cards.
Als je die wilt gebruiken in je shop, moet je die er dan zelf 'inbouwen' en checken?
Ik zag namelijk laatst bij een shop dat wanneer ik op credit card klikte hij geforward werd naar een pagina van Bibit (ook niet echt fijn trouwens, vooral als die pagina een totaal andere layout heeft als de jouwe!!)

Mensen hier ervaring mee?
je gaat inderdaad naar de bibit site (heb er al 1 gebouwd, maar kan ik niet showen), maar je geeft een hele lange string mee naar de bibit site, waarin je ook de layout van je site mee kunt geven en ook tekst die op de site moet worden getoond, ook al zit je dan op hun server, werkt echt erg mooi

edit:

voor meer info over bibit, ook technische info, zie:
http://support.bibit.com

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 07:51

HenkS

Da_king alias HenkS

om mijn monoloog even voort te zetten:

ik heb bibit gemaild met de vraag of alleen nog maar xml ondersteund wordt vanaf 2002, dit was het antwoord:
Het zal niet in begin 2002 zijn dat alleen XML geaccepteerd kan worden. Dit zal in de loop van 2002 zijn. Het is niet precies te zeggen wanneer dit zal zijn.

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Op dinsdag 20 november 2001 16:59 schreef HenkS het volgende:
om mijn monoloog even voort te zetten:

ik heb bibit gemaild met de vraag of alleen nog maar xml ondersteund wordt vanaf 2002, dit was het antwoord:
[..]
Maar ondertussen is je oude systeem wel HEEL ERG onveilig! (tenminste, dat zeggen ze bij de oude voorbeelden)

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Pfff, van die java voorbeelden wordt ik ook niet echt veel wijzer...

ik vind het discriminatie voor PHP'ers, er is een java voorbeeld, zelfs een ASP voorbeeld, maar PHP, ho maar..... ;(

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Hmm ik ga hier straks 's mee verder, misschien hebben jullie er ook wat aan, ik heb het ASP voorbeeld door een ASP2PHP converter gehaald en dit kwam er uit:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
<?
 
//------------------------------------------------------------------------------
// mod 010628 - a3

$sUser="YOUR MERCHANTCODE";
$sPass="PASSWORD";
$sURL="https://secure-test.bibit.com/jsp/merchant/xml/paymentService.jsp";
$sXML=makeXMLorder("37482"); // 37482 is the orderID in the database
$callXML2Bibit($sXML);

//================================================================================

function XML2Bibit($sXML)
{


//Response.Write "sending XML " &amp; server.HTMLEncode(sXML) &amp; "<HR>" ' check what you're sending
//Send the XML--------------------------------------------------------------
// $xmlhttp is of type "Msxml2.ServerXMLHTTP"
// the MS parser HTTP component
// use ServerXMLHTTP - Check http://support.microsoft.com/support/kb/articles/Q237/9/06.ASP
// if you get 'Err = Access is denied.' then try Msxml2.XMLHTTP (less reliable)

  $xmlhttp.$Open"POST"  $sURL  $false  $sUser  $sPass;
  $xmlhttp.$setRequestHeader"Content-Type"//text/xml"

  $on$error$resume$next;
  $xmlhttp.$Send[$sXML];

  if ($err)
  {

    echo "Err = ".$err.$description."<BR>";
    echo "Send Status : ".$xmlhttp.$status."<BR>";
    // asp2php says 'huh'?: ;
  } 


  echo "Send Status (200 = OK) : ".$xmlhttp.$status."<BR>Response : <BR>"// Display the Response
//Response.write "Headers :" &amp; "<BR>" &amp; xmlhttp.getAllResponseHeaders
;
  $sUrl=ParseResponse($xmlhttp.$responseText);
  if ((strpos($sUrl,"ERROR") ? strpos($sUrl,"ERROR")+1 : 0))
  {

    echo $sURL;
  }
    else
  {

    echo "<BR>Redirect URL : <A HREF=".$sUrl.">".$sUrl."</A>";
//Response.redirect url ' go to BIBIT payment selection page 
  } 


} 
//------------------------------------------------------------------------------

function ParseResponse($sXML)
{

$CreateObject["msxml2.domdocument"]
  $xmldoc.$async=false;   $xmldoc.$validateOnParse=true;
  $xmldoc.$setProperty"ServerHTTPRequest"  $true; // may not be needed - see http://support.microsoft.com/support/kb/articles/Q281/1/42.ASP
;
  if (!$xmldoc$loadxml[$sXML])
  {

    $tmp="ERROR - XML load failed ! <BR>";
    $tmp=$tmp."errorcode : ".$xmldoc.$parseError.$errorcode.", ".$xmldoc.$parseError.$reason."<BR>";
    $tmp=$tmp."srctext : ".$xmldoc.$parseError.$srctext."<BR>";
    $tmp=$tmp."url : ".$xmldoc.$parseError.$url."<BR><BR>";
    $tmp=$tmp."XML received : ".htmlspecialchars($sXML);
    return $tmp;
  }
    else
  {

$xmldoc    $documentElement.$selectSingleNode["/paymentService/reply/orderStatus/reference"];
    if ($oCurrNode$isnull)
    {

      return "ERROR - no URL found";
    }
      else
    {

      return $oCurrNode.$text;
    } 

  } 

} 
//------------------------------------------------------------------------------

function makeXMLorder($orderid)
{
// Read Record from a (very simple) example Access DB 
// DB record : id, prodid, desc, price, nr, cardnr, exp, cardname 
// of course you can also change this function and hardcode the order details 
// but don't forget to generate a unique ordercode each time

//create ADO connection and recordset Set 
// $cnOrders is of type "ADODB.Connection"

  $cnOrders=mysql_connect("localhost","","");
mysql_select_db("",$cnOrders);


$rs_query=mysql_query(("select * from orders where prodid = '".$orderid."'"),$cnOrders);  
$rs=mysql_fetch_array($rs_query);
  if (!($rs==0))
  {

    $xml="<?xml version='1.0'?>"."\r\n";
    $xml=$xml."<!DOCTYPE paymentService PUBLIC '-//Bibit/DTD Bibit PaymentService v1//EN' 'http://dtd.bibit.com/paymentService_v1.dtd'>"."\r\n";
    $xml=$xml."<paymentService version='1.0' merchantCode='".$sUser."'>"."\r\n";
    $xml=$xml."<submit>"."\r\n";
    $xml=$xml."<order  orderCode = 'A"."-".$datepart["s",strftime("%m/%d/%Y %H:%M:%S %p")]."'>"."\r\n";
    $xml=$xml."<description>".$rs["desc"]."</description>"."\r\n";
    $xml=$xml."<amount exponent='2' currencyCode = 'NLG' value = '".$rs["price"]."'/>"."\r\n";
    $xml=$xml."<orderContent>".$rs["prodid"]."</orderContent>"."\r\n";
    $xml=$xml."<paymentMethodMask><include code='ALL'/></paymentMethodMask>"."\r\n";
    $xml=$xml."</order>"."\r\n";
    $xml=$xml."</submit>"."\r\n";
    $xml=$xml."</paymentService>";
  }
    else
  {
//record not found 
    echo "No record found";
  } 


    mysql_close($cnOrders);//close and release DB objects 
  return $xml;
} 
?>

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
^^
lees de topic dan nog 's na als je wat post ;)

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
^^

  • HenkS
  • Registratie: Mei 2000
  • Laatst online: 07:51

HenkS

Da_king alias HenkS

:?

  • TangLeFuzZ
  • Registratie: Juni 2001
  • Laatst online: 23-08 15:45
Op maandag 26 november 2001 16:29 schreef HenkS het volgende:
:?
Ja sorry, dit lijkt wel heel erg triest ;)
Ik postte alleen een 'voorbeeld' en vroeg me af of jij het uberhaupt wel gelezen had ...
Pagina: 1