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¤cy=$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