Php 电子支付网关

Php 电子支付网关,php,soap,Php,Soap,我正在尝试实现来自澳大利亚威威的定期web服务。无论如何,我都无法让它工作 我一直在弄得一团糟 命名空间“”中的元素“rebillCustomerCreate”的内容不完整。可能的元素列表应为“CustomerRef” 这是WSDL: 我不熟悉肥皂。试图用PHP实现它。谁能指出我做错了什么 以下是我的php代码: <?php $URL = "https://www.eway.com.au/gateway/rebill/test/manageRebill_test.asmx?wsdl"; $

我正在尝试实现来自澳大利亚威威的定期web服务。无论如何,我都无法让它工作

我一直在弄得一团糟

命名空间“”中的元素“rebillCustomerCreate”的内容不完整。可能的元素列表应为“CustomerRef”

这是WSDL:

我不熟悉肥皂。试图用PHP实现它。谁能指出我做错了什么

以下是我的php代码:

<?php
$URL = "https://www.eway.com.au/gateway/rebill/test/manageRebill_test.asmx?wsdl";
$option = array("trace"=>true);
$client = new SOAPClient($URL, $option);
$functions = $client->__getFunctions();
$headeroptions =array('eWAYCustomerID'=>"87654321",'Username'=>"test@eway.com.au","Password"=>"test");
$header = new SOAPHeader('http://www.eway.com.au/gateway/rebill/manageRebill', 'eWAYHeader',$headeroptions);

$bodyoptions = array(
    "customerTitle" => "Mr",
    "customerFirstName" => "firstname",
    "customerLastName" => "lastname",
    "customerAddress" => "address",
    "customerSuburb" => "someniceplace",
    "customerState" => "somenicestate",
    "customerCompany" => "somecompany",
    "customerPostCode" => "411026",
    "customerCountry" => "australia",
    "customerEmail" => "test@eway.com",
    "customerFax" => "123456",
    "customerPhone1" => "123456",
    "customerPhone2" => "123456",
    "customerRef" => "abc123",
    "customerJobDesc" => "Developer",
    "customerComments" => "Make it work",
    "customerURL" => "www.nicesite.com"
);

try{
    $response = $client->__soapCall("CreateRebillCustomer", $bodyoptions,NULL,$header,$outputHeader);
    echo $client->__getLastRequest();
    //$response = $client->CreateRebillCustomer($bodyoptions);
    var_dump($response);
} catch(SOAPFault $e){
    print $e;
}
?>

我建议您使用Way提供的库和示例


转到第页。转到“源代码”选项卡。下载PHP源代码。还有说明。

两年后,我刚刚遇到了同样的问题

可能对某人有用:

$bodyoptions = array(
  "CreateRebillCustomer" => array(
    "customerTitle" => "Mr",
    ...
  )
);

我试图创建的是eWay重复计费和客户, 希望对其他人有帮助:)



是否所有的c都需要像CustomerJobDesc一样大写,CustomerRefects似乎不像WSDL中那样。使用它们的文件可以。。。它将存储所有重要信息,如计费周期和计费金额。如果你想更新或使用任何其他方法,你将不得不使用他们的Web服务,我似乎无法左右。
   <?php
    $URL = "https://www.eway.com.au/gateway/rebill/test/manageRebill_test.asmx?wsdl";
    $option = array("trace"=>true);
    $client = new SOAPClient($URL, $option);
    $functions = $client->__getFunctions();
    $headeroptions =array('eWAYCustomerID'=>"87654321",'Username'=>"test@eway.com.au","Password"=>"test123");
    $header = new SOAPHeader('http://www.eway.com.au/gateway/rebill/manageRebill', 'eWAYHeader',$headeroptions);

    $bodyoptions = array(
                    "CreateRebillCustomer" => array(
                        "customerTitle" => "Mr",                   
                          "customerFirstName"=>"Muhammad",
                          "customerLastName"=>"Shahzad",
                          "customerAddress"=>"cust ome rAddress",
                          "customerSuburb"=>"customer Suburb",
                          "customerState"=>"ACT",
                          "customerCompany"=>"customer Company",
                          "customerPostCode"=>"2345",
                          "customerCountry"=>">Australia",
                          "customerEmail"=>"test@gamil.com",
                          "customerFax"=>"0298989898",
                          "customerPhone1"=>"0297979797",
                          "customerPhone2"=>"0297979797",
                          "customerRef"=>"Ref123",
                          "customerJobDesc"=>"customerJobDesc",
                          "customerComments"=>"customerComments",                    
                          "customerURL" => "http://www.acme.com.au"
                       )
                    );

        try{
            $response = $client->__soapCall("CreateRebillCustomer", $bodyoptions,NULL,$header,$outputHeader);
            //echo $client->__getLastRequest();
            //$response = $client->CreateRebillCustomer($bodyoptions);
            //echo "<pre>";echo "<br/>";
           // print_r($response);        
                echo    $result         = $response->CreateRebillCustomerResult->Result;echo "<br/>";
                echo    $customerId     = $response->CreateRebillCustomerResult->RebillCustomerID;echo "<br/>";
                echo "<br/>";
            if($result=='Success' AND $customerId){
                echo 'Member Created at eWay Successfully!...<br/>';
                echo 'Creating Recurring Billing Cycle on eWay,Please wait......<br/>';
                //$UpdateRebillCustomer = CreateRebillEvent($customerId);
                //print_r($UpdateRebillCustomer);

            }
            else{
                echo    $ErrorSeverity  = $response->CreateRebillCustomerResult->ErrorSeverity;echo "<br/>";
                echo    $ErrorDetails   = $response->CreateRebillCustomerResult->ErrorDetails;echo "<br/>";
            }
        }
        catch(SOAPFault $e){
            print $e;
        }

        if($customerId){


                    $bodyoptions2 = array(
                    "CreateRebillEvent " => array(
                          "RebillCustomerID" => $customerId,                   
                          "RebillInvRef" => "Ref123",
                          "RebillInvDes"=>"description",
                          "RebillCCName"=>"Mr Andy Person",
                          "RebillCCNumber"=>"4444333322221111",
                          "RebillCCExpMonth"=>"12",
                          "RebillCCExpYear"=>"15",
                          "RebillInitAmt"=>"100",
                          "RebillInitDate"=>date('d/m/Y'),
                          "RebillRecurAmt"=>"200",
                          "RebillStartDate"=>date('d/m/Y'),
                          "RebillInterval"=>"31",
                          "RebillIntervalType"=>"1",
                          "RebillEndDate"=>"31/12/2013",                     
                       )
                    );
            try{    
                $response = $client->__soapCall("CreateRebillEvent", $bodyoptions2,NULL,$header,$outputHeader);
                //echo   $client->__getLastRequest();           
                //print_r($response);
                echo "<br/>";
                  echo  $result2        = $response->CreateRebillEventResult->Result;echo "<br/>";
                  echo  $RebillCustomerID   = $response->CreateRebillEventResult->RebillCustomerID;echo "<br/>";
                if($result2=='Success'){
                    echo 'Recurring Cycle Created Successfully at eWay!...<br/>';
                    echo 'Member Id is ===>'.$RebillCustomerID;
                    //$UpdateRebillCustomer = CreateRebillEvent($customerId);
                    //print_r($UpdateRebillCustomer);                           
                }
                else{
                    echo    $ErrorSeverity  = $response->CreateRebillEventResult->ErrorSeverity;echo "<br/>";
                    echo    $ErrorDetails   = $response->CreateRebillEventResult->ErrorDetails;echo "<br/>";
                }

            }
         catch(SOAPFault $e){
            print $e;
         }

         }

      ?>