2012-06-02 80 views
1

ClickandBuy提供了大量的样本,但是它们编码不良且陈旧。所以我认为应该有一个简单的PHP 5 SOAP解决方案,用于在SoapClient类中使用PHP5构建简单SOAP payRequest。对ClickandBuy的简单PHP SOAP请求?

$client = new SoapClient('https://api.clickandbuy.com/webservices/pay_1_1_0.wsdl', array('encoding' => 'UTF-8')); 
$client->payRequest(array('authentication'=>array(...), 'details'=>array(...))); 

工程,但它返回一个错误:

SOAP-ERROR:编码:对象没有 '描述' 属性

的payRequest方法的参数应该罚款。有没有人试图实施没有NuSOAP的ClickandBuy?

回答

1

尝试增加说明财产详谈数组:

$client->payRequest(array('authentication'=>array(...), 
    'details' => array(
     'description' => 'paying for shoes' 
    ) 
)); 

样品要求:

<?xml version="1.0" encoding="UTF-8"?> 
    <payRequest_Request xmlns="http://api.clickandbuy.com/webservices/pay_1_1_0/"> 
    <authentication> 
     <merchantID>4000</merchantID> 
     <projectID>1</projectID> 
     <token>20100623104511::9E9C3E21FE38851B8913469F13619BD645BA1DD6</token> 
    </authentication> 
    <details> 
     <amount> 
     <amount>1</amount> 
     <currency>EUR</currency> 
     </amount> 
     <orderDetails> 
     <text>My Cart</text> 
     </orderDetails> 
     <successURL>http://www.mydomain.com/success.php</successURL> 
     <failureURL>http://www.mydomain.com/failure.php</failureURL> 
     <externalID>Test123</externalID> 
    </details> 
</payRequest_Request> 
+0

我已经试过了。不起作用。 – Bernd

+0

看看你需要发送什么样的数据,特别是orderDetails。 –

+0

看起来像“description”指的是orderDetails itemList中缺少的描述。谢谢。 – Bernd