eWay支付网关

Con*_*ine 3 php soap

我正在尝试从 eway(澳大利亚)实现重复出现的 Web 服务。但是我无法让它工作。

我不断收到消息

“命名空间‘ http://www.eway.com.au/gateway/rebill/manageRebill ’中的元素‘rebillCustomerCreate’内容不完整。预期的可能元素列表:‘CustomerRef’。”

这是 WSDL:https : //www.eway.com.au/gateway/rebill/test/manageRebill_test.asmx?wsdl

我是 SOAP 新手。试图在 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;
}
?>
Run Code Online (Sandbox Code Playgroud)

Muh*_*zad 5

我尝试创建 eWay 定期计费和客户的内容,希望它对其他人有所帮助 :)

   <?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;
         }

         }

      ?>
Run Code Online (Sandbox Code Playgroud)