Thanks for your fast response Netshine.
Where can I set a temporary line to display what nBILL is reporting as orderamount before it hands it over to iDEAL gateway?
I've looked in the code from the iDEAL folder, and it tries to retrieve the data using the next statement:
$timestamp = gmdate(Y) . "-" . gmdate(m) . "-" . gmdate(d) . "T" . gmdate(H) . ":" . gmdate(i) . ":" . gmdate(s) . ".000Z";
$token = "";
$tokenCode = "";
if ( "SHA1_RSA" == $req->getAuthentication() ) {
$message = $timestamp
. $req->getIssuerID()
. $req->getMerchantID()
. $req->getSubID()
. $req->getMerchantReturnURL()
. $req->getPurchaseID()
. $req->getAmount()
. $req->getCurrency()
. $req->getLanguage()
. $req->getDescription()
. $req->getEntranceCode();
$message = $this->strip( $message );
//create fingerprint so the receiver knows what certificate to use
$token = $this->security->createCertFingerprint($this->conf["PRIVATECERT"]);
//sign the message
$tokenCode = $this->security->signMessage( $this->conf["PRIVATEKEY"], $this->conf["PRIVATEKEYPASS"], $message );
//encode it with base64
$tokenCode = base64_encode( $tokenCode );
}
$reqMsg = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
. "<AcquirerTrxReq xmlns=\"
http://www.idealdesk.com/Message\" version=\"1.1.0\">\n"
. "<createDateTimeStamp>" . utf8_encode( $timestamp ) . "</createDateTimeStamp>\n"
. "<Issuer>" . "<issuerID>" . utf8_encode( $this->encode_html( $req->getIssuerID() ) ) . "</issuerID>\n"
. "</Issuer>\n"
. "<Merchant>" . "<merchantID>" . utf8_encode( $this->encode_html( $req->getMerchantID() ) ) . "</merchantID>\n"
. "<subID>" . utf8_encode( $req->getSubID() ) . "</subID>\n"
. "<authentication>" . utf8_encode( $req->getAuthentication() ) . "</authentication>\n"
. "<token>" . utf8_encode( $token ) . "</token>\n"
. "<tokenCode>" . utf8_encode( $tokenCode ) . "</tokenCode>\n"
. "<merchantReturnURL>" . utf8_encode( $this->encode_html( $req->getMerchantReturnURL() ) ) . "</merchantReturnURL>\n"
. "</Merchant>\n"
. "<Transaction>" . "<purchaseID>" . utf8_encode( $this->encode_html( $req->getPurchaseID() ) ) . "</purchaseID>\n"
. "<amount>" . utf8_encode( $req->getAmount() ) . "</amount>\n"
. "<currency>" . utf8_encode( $req->getCurrency() ) . "</currency>\n"
. "<expirationPeriod>" . utf8_encode( $req->getExpirationPeriod() ) . "</expirationPeriod>\n"
. "<language>" . utf8_encode( $req->getLanguage() ) . "</language>\n"
. "<description>" . utf8_encode( $this->encode_html( $req->getDescription() ) ) . "</description>\n"
. "<entranceCode>" . utf8_encode( $this->encode_html( $req->getEntranceCode() ) ) . "</entranceCode>\n"
. "</Transaction>" . "</AcquirerTrxReq>";
If I replace the line with <amount> with a hardcoded amount, it does get processed by my iDEAL server.
So either the statement in retrieving the data is wrong, or nBILL puts the amount to zero.