Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
vampir26

Sofortüberweisung Payment Gateway

Recommended Posts

Hi

 

Ich benötige unbedingt sofortüberweisung als Payment Gateway für Nexus. Ich betreibe einen Shop und verkaufe virtuelle Güter (Gamecards & CD-Keys) und möchte diesen Shop jetzt in die Community integrieren. Sofortüberweisung hat den Vorteil, dass ich eine Zahlungsgarantie habe, denn ich will die Produkte sofort nach Bezahlung automatisch versenden.

 

Ich kann einigermassen (hobbymässig) mit PHP & Co umgehen. Aber ein Payment Gateway hab ich noch nie entwickelt. Ich hoffe ich erhalte hier Unterstützung.

 

Hier ist erst mal ein kleines Tutorial, wie man ein neues PG (Payment Gateway) erstellt:

http://www.invisionpower.com/support/guides/_/advanced-and-developers/ipnexus/how-to-create-your-own-payment-gateway-r129

 

Das hab ich nun auch getan.

Das neue Gateway "sofortueberweisung" ist erstellt und installiert.

 

Hier ist die Doku zu sofortüberweisung (Eigene Integration):

https://integration.sofort.com/shopschnittstellen/

 

Direktlink PDF:

https://integration.sofort.com/content/download/1027/14507/file/Schnittstellenbeschreibung_SOFORT_U%CC%88berweisung.pdf

 

Direktlink Sofort Library:

https://integration.sofort.com/content/download/1041/14575/file/SofortLib_1.5.1.zip

 

Die Lib hab ich auch installiert.

 

So sieht meine klasse nun aus:

require_once('libs/sofort/sofortLib.php');

class gateway_sofortueberweisung extends gatewayCore
{
    //ich will nur EUR anbieten und eine Bestellung darf max 150.00 EUR betragen
    public $maxAmounts = array(
        "EUR"    => 150,
        );

    //ssl ist bei der umleitung auf sofortüberweisung aktiv. in meinem forum aber nicht. also ist true nun korrekt?
    public $requireHttps = true;

    //übergeben muss ich eigentlich nichts, tu es aber zum test
    public $requireInfo = array( "cm_first_name", "cm_last_name" );

	
    public function payScreen()
    {
		$sofort = new SofortLib_Multipay('?????:??????:????????????????????????????????'); //hier ist natürlich mein richtiger key drin
		$sofort->setSofortueberweisung();
		$sofort->setAmount(29.90, 'EUR'); //zum test mal 29.90 eur
		$sofort->setReason('Mein Shop', 'verwendungszweck 2');
		$sofort->setSenderAccount('88888888', '12345678', 'Max Mustermann');
		$sofort->setSuccessUrl('http://www.meinedomain.net/');
		$sofort->setAbortUrl('http://www.meinedomain.net/');
		$sofort->setTimeoutUrl('http://www.meinedomain.net/');
		$sofort->setNotificationUrl('http://www.meinedomain.net/');
		$sofort->sendRequest();
    }

    //versteh ich nicht!
    public function validatePayment()
    {
        return array( 'status' => "hold", 'amount' => 10, 'note' => "Hello, World!", 'publicNote' => "Hello, World!", 'gw_id' => 12345, 'extra' => array( "foo" => "bar" ) );
    }


    //muss ich hier einbauen, wie es die produkte automatisch ausliefert?
    public function paidInformation( $transaction, $items )
    {
        // This method is optional
    }
}

 

Ich komme da einfach nicht weiter!

Vielleicht mache ich auch alles falsch -.-

Hoffe ihr könnt mir helfen.

 

Wenn ich so eine Bestellung ausführe und auf "confirm my order" klicke erscheint:

 

Warning: Default data handler used. The data passed was: in /home/???/public_html/???/admin/applications_addon/ips/nexus/sources/gateways/libs/sofort/helper/xml_to_array.php on line 128

 

Share this post


Link to post

Da kann mir leider auch keiner helfen.

 

Eventuell muss ich das Entwickeln lassen.

Hast du eine Idee, wie ich dieses Modul günstig entwickeln lassen könnte?

 

Ist nicht so schwer, wenn man sich damit auskennt. Könnte auch ein Informatik Lehrling sein oder so...

Share this post


Link to post

Da gibt es schon einige Dinge zu beachten und die Einarbeitung in die API (+ in das IP.Board für "Neulinge") sollte nicht unterschätzt werden.

 

Sofern Interesse daran besteht, werde ich ggf. in Zukunft ein solches Modul veröffentlichen. Muss nur zunächst schauen, welchen Aufwand das ganze wirklich ist und wie hoch ein möglicher Verkaufspreis wäre.

Share this post


Link to post

Der Vorteil ist halt, wenn man es entwickeln lässt, dass man es selbst verkaufen kann. Unter Umständen macht man damit sogar Gewinn :)

Ich würde sofort 100€ bis zu ca 300€ zahlen.

 

Und ein Postfinance Modul brauch ich auch noch.

 

Es würde schon sehr helfen wenn die vorhandenen Module nicht verschlüsselt wären.

Das verstehe ich echt nicht, warum man jedes Code Fetzchen verschlüsseln muss, vor allem wenn es offizielle Module sind.

Das empfinde ich nicht als Kundenfreundlich.

Share this post


Link to post

Das macht schon Sinn, das IP.Nexus verschlüsselt ist - da geht es um sensible Kundendaten und teilweise auch Bank/Kreditkarten-Daten.

 

Was mit unverschlüsselten Shops (und CMS-Systemen etc pp) regelmässig passiert ist ja bereits bekannt. IPS hat da die Vor- und Nachteile sehr wohl versucht gegeneinander abzuwägen und am Ende hat man sich dann für die Sicherheit und eben für die Verschlüsselung entschieden.

 

Aber das soll hier auch nicht das Thema sein.

 

Ich schau mir das Thema mal in aller Ruhe an. Sofern du ein paar Euro zu der Entwicklung beisteuern möchtest, kannst du das gerne mit mir per PN besprechen.

Share this post


Link to post

Ich schau mir das Thema mal in aller Ruhe an. Sofern du ein paar Euro zu der Entwicklung beisteuern möchtest, kannst du das gerne mit mir per PN besprechen.

 

Ich werde eines Entwickeln lassen.

Share this post


Link to post

So, das Payment Gateway ist fertig. Ich frage mich jetzt, wie ich das am besten mache. Das Modul besteht aus einer .php Datei, 3 Language Strings und ein neuer Eintrag in einer Tabelle (mySQL) ist nötig.

 

Was ist jetzt die beste Lösung, ein einfach zu installierendes Plugin zu erstellen?

 

Einfach die php in den Ordner nexus/sources/gateways und die 3 Language Strings als xml nach nexus/xml hochladen und den Eintrag einfügen in dem man ein sql code in phpMyAdmin ausführt?

 

Achja und man muss das Language pack recachen.

Edited by vampir26

Share this post


Link to post

Was du da machst, hat nicht mit »normaler IB.Board-Benutzung« zu tun. Daher wirst du hier von anderen IP-Board-Nutzern auch kaum Hilfe bekommen. Niemand hier bastelt dauernd IPS-Bezahl-Schnittstellen. Das musst du mit einem IPS-kundigen Entwickler besprechen. 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×