2016-11-28 7 views
0

Für diejenigen, die Wissen mit Cyclos 3.7.3, ich versuche, die Webshop-Zahlung Arbeit zu bekommen, aber ich könnte den Fehler finden und alles, was ich bekomme, ist Fehler beim Generieren von Ticket, versuchte ich drucken Sie das Ticket dann ich nicht definierte Eigenschaft bekam:

stdClass :: $ Rückkehr in Zeile C: \ xampp \ htdocs \ cyclos_ws \ prepare_payment.php auf der Leitung 29.

Dies ist der Code, den ich verwenden . Danke für Hilfe.

<?php 
// Get the web service proxy 
require_once 'cyclos.php'; 
$cyclos = new Cyclos(); 
$webShopService = $cyclos->service('webshop'); 

    if (isset($_POST['user'])) { 

    $user = $_POST['user']; 
    $description = $_POST['description']; 
    $amount = $_POST['amount']; 
    $adsip = $_POST['adsip']; 
} 

// Setup the payment parameters 
$params = new stdclass(); 
$params->amount = $amount; 
$params->description = '$description'; 
$params->clientAddress = '$adsip'; 
$params->toUsername = '$user'; 

// This should be the absolute url for the page which will process the payment 
$params->returnUrl = "http://localhost/cyclos_ws/complete_payment.php"; 

// Generate the ticket 
try { 
    //Ensure the input parameter is named 'params' and the output, 'return' 
    $ticket = $webShopService->generate(array('params' => $params))->return; //line 29 
} catch (SoapFault $e) { 
    die("Error generating a payment ticket: $e"); 
} 
print_r($ticket); 

// With the ticket ok, redirect the client to perform the payment 
//header("Location: ".Cyclos::$server_root."/do/webshop/payment?ticket=".$ticket) ; 
?> 
+0

Vielleicht fehlt etwas in Ihrem Code. Schau dir die Dokumentation an. https://www.cyclos.org/wiki/index.php?title=Web_services/WebShop_payment – Perumal

+0

Ich habe überprüft und neu geschrieben, aber nichts fehlt – user3143519

+0

Haben Sie versucht, das Ergebnis von $ webShopService-> generieren (Array (') params '=> $ params)) mit var_dump()? Es könnte die Variable 'return' sein, die nicht an der Wurzel des Objekts liegt. –

Antwort

0

Sie haben Variablen in einfachen Anführungszeichen verwendet. Es sollte in Anführungszeichen eingeschlossen werden.

PHP analysiert keine einfachen Anführungszeichen, daher werden Variablen in einfachen Anführungszeichen ignoriert. Zum Beispiel:

Variablen in Anführungszeichen werden in PHP analysiert, um sie zu überprüfen und zu verarbeiten.

Wenn Sie Variablen in Anführungszeichen verwenden, müssen Sie sie in doppelte Anführungszeichen setzen.

+0

Was passiert, wenn ich anstelle der Variablen static statt Beispiel: $ params = new stdclass(); $ params-> Menge = 23; $ params-> description = 'test'; $ params-> clientAddress = '192.168.x.x'; $ params-> toUsername = 'user'; ist es richtig ?? – user3143519

+0

Sie haben Literalwerte übergeben, also wird es funktionieren. Sie könnten Variablen alleine ohne irgendwelche Anführungszeichen wie '$ params-> description = $ description' übergeben. Sie können dies tun, wenn Sie nur Variablen verwenden möchten. – Perumal

+0

gut es hat nicht funktioniert offfffffff – user3143519

Verwandte Themen