Wer baut mir ne Schnittstelle zu BillSAFE

Strompeter

Aktives Mitglied
15. April 2011
46
0
AW: Wer baut mir ne Schnittstelle zu BillSAFE

@ Dustin:

$billsafe_params = array( ...


'gender' => $order->oKunde->cAnrede,
...
);
ist folgendermaßen zu ersetzen


$billsafe_params = array( ...


'gender' => $order->oRechnungsadresse->cAnrede,
...
);

Geburtsdatum konnte ich nicht finden, wird anscheinend von Shop Seite nicht bereitgestellt, weswegen es auch nicht im billsafe_params array steht, und muss vom Kunden dann doch von Hand bei Billsafe eingegeben werden.
 

Strompeter

Aktives Mitglied
15. April 2011
46
0
AW: Wer baut mir ne Schnittstelle zu BillSAFE

Nachtrag zum Logging (Verweis zum ursprünglichen Beitrag):

Nicht so

... // Zu Billsafe weiterleiten
$this->sdk->redirectToPaymentGateway($token);

} elseif (isset($response->errorList)) {
foreach ($response->errorList as $error)
{
$this->doLog(print_r($response, true));
header ("Location: " . URL_SHOP . "/bestellvorgang.php?editZahlungsart=1");
}
} else { ...

sondern so

... // Zu Billsafe weiterleiten
$this->sdk->redirectToPaymentGateway($token);

} elseif (isset($response->errorList)) {
foreach ($response->errorList as $error)
{
Jtllog::writeLog('Fehler mit BillSAFE Plugin.<br /> Fehlercode: '.$error->code.' Fehlernachricht: '.$error->message.' Siehe Integrationguide http://integration.billsafe.de/integration/manual/?name=API', JTLLOG_LEVEL_ERROR);
header ("Location: " . URL_SHOP . "/bestellvorgang.php?editZahlungsart=1");
}
} else { ...

vorher ist natürlich die entsprechende Klasse einzubinden (am Anfang der Datei einfach unter den require_once( ... ) folgenden hinzufügen:

require_once(PFAD_ROOT . PFAD_CLASSES . "class.JTL-Shop.Jtllog.php");

Jetzt werden die Fehler, die beim Bereitstellen der Shopdaten von Billsafe zurückgegeben werden, in das Systemlog geschrieben und sind über das Adminmenü einsehbar.

Dank nochmal für den Hinweis.
 
Zuletzt bearbeitet:

Strompeter

Aktives Mitglied
15. April 2011
46
0
AW: Wer baut mir ne Schnittstelle zu BillSAFE

Weiterer Nachtrag, denn Livemodus ging mit Plugin nicht.
in billsafe.class.php sind folgende 2 zeilen zu ergänzen, da sonst der Livemodus überhaupt nicht aktiviert wird, obwohl im Adminbackend auf Livemodus gestellt wird.
$billsafe_sdk->setCredentials(array(
'merchantId' => $oPlugin->oPluginEinstellungAssoc_arr["verkaufid"],
'applicationSignature' => '9c65d4c5a746fa0dcaa39e8b9f79da01',
'applicationVersion' => 'v1.7 beta (2010-12-31)'));
if ($oPlugin->oPluginEinstellungAssoc_arr["sandboxmodus"] == 'False') {
$billsafe_sdk->setCredentials(array(
'merchantLicenseLive' => $oPlugin->oPluginEinstellungAssoc_arr["api_key"])
);
$this->sdk->setMode(LIVE);

} else {
$billsafe_sdk->setCredentials(array(
'merchantLicenseSandbox' => $oPlugin->oPluginEinstellungAssoc_arr["api_key"])
);
$this->sdk->setMode(SANDBOX);
}

und in billsafe_wawi_update.php folgende (sonst funktioniert die übermittlung von storno und versand nicht)

$billsafe_sdk->setCredentials(array( 'merchantId' => $oPlugin->oPluginEinstellungAssoc_arr["verkaufid"],
'applicationSignature' => '9c65d4c5a746fa0dcaa39e8b9f79da01',
'applicationVersion' => 'v1.7 beta (2010-12-31)'));
if ($oPlugin->oPluginEinstellungAssoc_arr["sandboxmodus"] == 'False') {
$billsafe_sdk->setCredentials(array(
'merchantLicenseLive' => $oPlugin->oPluginEinstellungAssoc_arr["api_key"])
);
$billsafe_sdk->setMode(LIVE);

} else {
$billsafe_sdk->setCredentials(array(
'merchantLicenseSandbox' => $oPlugin->oPluginEinstellungAssoc_arr["api_key"])
);
$billsafe_sdk->setMode(SANDBOX);
}
 

ruhrmedia.de

Aktives Mitglied
24. August 2011
2
0
AW: Wer baut mir ne Schnittstelle zu BillSAFE

Hallo zusammen,

vielen Dank für das Feedback zu unserem BILLsafe-Plugin. Wir nehmen sowohl positives, als auch negatives Feedback natürlich immer gerne entgegen.

Unsere Programmierer waren natürlich die letzten Tage auch nicht tatenlos und haben mitteweile eine aktualisierte Version des Plugins erstellt, welche über das "BILLsafe Integration Center" (BillSAFE - Integration Center) heruntergeladen werden kann. Neben einigen Bugfixes gibt es auch einige neue Funktionen.

Wer noch keine BILLsafe-Bestellung im Shop hatte, sollte das Plugin sauber deinstallieren und das neue wieder installieren. Wer schon Bestellungen hatte, der sollte vorsichtshalber nur die Dateien austauschen, da bei einer Deinstallation natürlich auch die Billsafe SQL-Tabellen gelöscht werden.

Weitere Fragen können natürlich gerne gestellt werden.
 

Strompeter

Aktives Mitglied
15. April 2011
46
0
AW: Wer baut mir ne Schnittstelle zu BillSAFE

Folgende Frage trat auf:
Im Sandboxmodus funktioniert die "Märchenstraße 15a" nicht oder nicht mehr, die in der Installationsanleitung des JTL BillSAFE Plugins der Ruhrmedia für die Testdaten angegeben ist.
In der API Beschreibung ist auf Seite 14 die "Musterstrasse 15" angegeben. Diese funktioniert bei Verwendung des Sandboxmodus. Der Hinweis wäre auf Seite 12 m.E. nach besser auf Seite 12 angebracht.

Gruß
 

Strompeter

Aktives Mitglied
15. April 2011
46
0
AW: Wer baut mir ne Schnittstelle zu BillSAFE

Und noch ein Nachtrag.
Das Plugin funktioniert m. E. im Livemodus nicht, wenn in Vorname, Name, Straße oder Stadt Umlaute o.ä. vorkommen. Grund dafür liegt in der Maskierung durch JTL- Shop, also z. B. 'ä' ist ein '&auml;'. Dies führt auf der BillSAFE Seite zu folgender Anzeige erst zu der Anzeige 'Ist diese Angabe korrekt?' und nach dem Bestätigen 'Angaben weichen zu stark von den übertragenen Angaben ab.'
Siehe nachfolgenden Screenie (Die Angaben sind keine realen Angaben und kein realer Datensatz. Sie dienen nur der Verdeutlichung.)
110926_billsafe_umlaute_1.jpg
Lösung
in der billsafe.class.php muss die Funktion html_entity_decode(); bei der Erstellung des $billsafe_params arrays verwendet werden.
Das ganze sollte m. E. so aussehen:
$billsafe_params = array(
'order_amount' => round($order->fGesamtsumme,2),
'order_taxAmount' => round($order->fSteuern,2),
'order_currencyCode' => $order->Waehrung->cISO,
'customer' => array(
'gender' => $order->oRechnungsadresse->cAnrede,
'firstname' => html_entity_decode(substr($order->oRechnungsadresse->cVorname,0,50)),
'lastname' => html_entity_decode(substr($order->oRechnungsadresse->cNachname,0,50)),
'street' => html_entity_decode(substr($address['street'],0,100)),
'houseNumber' => substr($address['number'],0,20),
'postcode' => substr($order->oRechnungsadresse->cPLZ,0,5),
'city' => html_entity_decode(substr($order->oRechnungsadresse->cOrt,0,50)),
'country' => html_entity_decode(substr($order->oRechnungsadresse->cLand,0,2)),
'email' => substr($order->oRechnungsadresse->cMail,0,100)),
'product' => 'invoice',
'url_return' => $this->getNotificationURL($hash) . '&sh=' . $hash,
'url_cancel' => URL_SHOP . "/bestellvorgang.php?editZahlungsart=1",
'url_image' => $oPlugin->oPluginEinstellungAssoc_arr["logourl"],
'custom_0' => $savehash

Nach der Änderung sieht das ganze nach der Weiterleitung an BillSAFE folgendermaßen aus:
110926_billsafe_umlaute_2.jpg

Anmerkungen oder Korrekturen einfach als Antwort schreiben.

Grüße
 

Anhänge

  • 110926_billsafe_umlaute_1.jpg
    110926_billsafe_umlaute_1.jpg
    33,7 KB · Aufrufe: 46
  • 110926_billsafe_umlaute_2.jpg
    110926_billsafe_umlaute_2.jpg
    31,1 KB · Aufrufe: 35
Zuletzt bearbeitet:

XYZ

Sehr aktives Mitglied
21. September 2011
2.541
10
AW: Wer baut mir ne Schnittstelle zu BillSAFE

Diese Woche soll ein neues/überarbeitetes BillSAFE-Modul durch Ruhrmedia fertiggestellt und an BillSAFE übergeben werden. Ich habe das angeleiert, weil das jetztige Modul nach der Bestellung garnicht mehr tut, was es soll, es wird weder der Auftrag bei BillSAFE aktualisiert, falls etwas geändert wurde, noch wird der Versand an BillSAFE bestätigt oder die Rechnungsnummer übertragen, das Zahlungsziel wird nicht korrekt gesetzt, am zu zahlenden Betrag im BillSAFE-Zahlungstext fehlt die Null (35.7 statt 35.70) und auch so ist dieser Text wirr aufgebaut, Summe und Zahlungsziel kann man ruhig in einem Satz nennen und nicht in 2 getrennten Sätzen. Zudem soll der Zahlbetrag bitte aus der Rechnung übernommen werden, es kann ja sein, es sind Positionen nicht lieferbar und wurden im Auftrag storniert. Ebenso werden Gutschriften nach Rücksendungen nicht an BillSAFE übertragen, praktisch muss man ALLES im Backend von BillSAFE manuell machen. Ausserdem wird durch den BillSAFE-Zahlungstext der Kundenkommentar zur Bestellung einfach überschrieben. Im neuen Modul werden all diese Punkte hoffentlich behoben sein und für den Zahlungstext das Bankdatenfeld im Auftrag genutzt, so das Kundenkommentare zur Bestellung über das Hinweisfeld auch wieder durchkommen.
 

Strompeter

Aktives Mitglied
15. April 2011
46
0
AW: Wer baut mir ne Schnittstelle zu BillSAFE

Danke für die Antwort.
Momentan lässt es sich mit dem überarbeiteten Modul aber immerhin schonmal besser arbeiten.

Von welchem überarbeiteten Modul sprichst Du denn hier? Ich bekomm beim Download von der Billsafeseite immer nur die Version vom 23.08.2011.
Hast Du was aktuelleres? Und wenn ja, wie komm ich da ran?

Gruß
Das Peterle
 

XYZ

Sehr aktives Mitglied
21. September 2011
2.541
10
AW: Wer baut mir ne Schnittstelle zu BillSAFE

Ja, ich habe was aktuelleres zum testen, denke aber, das ist mit den immernoch vorhandenen Fehlern noch nicht freigegeben. Sobald ich was weiß, werde ich berichten und dann wird das aktualisierte Modul sicher auch bei BillSAFE im Downloadbereich verfügbar sein.
 
Ähnliche Themen

Ähnliche Themen