Avatar billede walfi Nybegynder
08. december 2011 - 01:23 Der er 1 kommentar

Quickpay Api Recurring

Hej.

Jeg er igang med at lave et system hvor den automatisk trækker månedlige abonnementer.

Jeg har fuldt Quickpat API documentation til punkt og prikke, og har prøvet med både, recurring og subscribe. Jeg får samme fejl hver gang 008. Altså jeg har sendt forkerte parametre til Quickpay. Jeg har fuldt deres guide og gennemtjekket det flere gange og kan ikke se hvad der skulle mangle. Håber i kan hjælpe.

Jeg modtager ikke nogen besked fra jer om hvad fejlen er:

Her er en array af hvad jeg modtager fra XML filen:
[msgtype] => recurring [ordernumber] => SimpleXMLElement Object ( ) [amount] => 14900 [currency] => DKK [time] => 111208011059 [state] => SimpleXMLElement Object ( ) [qpstat] => 008 [qpstatmsg] => md5check: 6eae7c7ea10bf53133bfbeb4404c8b10, hash: 409a1a36cd4cd342d93549381082b888 [chstat] => SimpleXMLElement Object ( ) [chstatmsg] => SimpleXMLElement Object ( ) [merchant] => SimpleXMLElement Object ( ) [merchantemail] => SimpleXMLElement Object ( ) [transaction] => SimpleXMLElement Object ( ) [cardtype] => SimpleXMLElement Object ( ) [cardnumber] => SimpleXMLElement Object ( ) [cardexpire] => SimpleXMLElement Object ( ) [splitpayment] => SimpleXMLElement Object ( ) [md5check] => 9d5fa74448d070f57cd7f542682fbb67 )

Koden er som følger:

<?php
$url = "https://secure.quickpay.dk/api";
$protocol = "3";
$msgtype = "recurring";
$merchant = "xxxx";
$ordernumber ='xxxxxx'; //Id fra tidligere order, her taget et konkret eksempel
$transaction = "xxxxxxx"; //ID FROM SUBCRIPTION
$autocapture = 1; //Træk beløbet med det samme
$amount = "14900"; //Beløb der skal trækkes x100
$currency = "DKK";
$secret = "bH4RN5uzw46r8Z49CA4T581L9KfD6Y38jq9G152It1EB2MpigvV378cP62FsnaXQ";

$md5check = md5($protocol.$msgtype.$merchant.$ordernumber.$amount.$currency.$autocapture.$transaction.$secret);

$postdata = "protocol=$protocol&msgtype=$msgtype&merchant=$merchant&ordernumer=$ordernumber&amount=$amount&currency=$currency&autocapture=$autocapture&transaction=$transaction&md5check=$md5check";


$ch = curl_init();    // initialize curl handle
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
$result = curl_exec($ch);

$xml = new SimpleXMLElement($result);
print_r($xml);
if($xml->qpstat == "000"){
   
    } else {
echo "Fejl, oplys venligst: ". $xml->qpstat;
echo $xml->qpstatmsg;
echo "<br /><br />" . $xml->chstatmsg;
    }
    ?>

Mange tak på forhånd og håber virkelig i kan hjælpe. For kan ikke se hvad jeg gør galt.

Mvh
Oliver
Avatar billede walfi Nybegynder
08. december 2011 - 01:25 #1
Hurtig link til documentation: http://doc.quickpay.dk/api.html og specifikt til recurring: http://doc.quickpay.dk/api/messagetypes.html#index3h2
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester