Wednesday, August 14, 2013

Php create/edit eWay token for further payment

<?php
function 
create_token_eway()
{
    
$testUrl "https://www.eway.com.au/gateway/ManagedPaymentService/test/managedCreditCardPayment.asmx";
    
$liveUrl "https://www.eway.com.au/gateway/ManagedPaymentService/managedCreditCardPayment.asmx";
  
    
$eWaySOAPActionURL    "https://www.eway.com.au/gateway/managedpayment";
    
$eWayCustomerId       "87654321";
    
/* test account */
    
$eWayCustomerEmail    "test@eway.com.au";
    
/* test email */
    
$eWayCustomerPassword "test123";
    
/* test password */
  
    
$updateCustomer false;
    
$customTag      "CreateCustomer";
    
/* For update customer: "UpdateCustomer". */
    /**
     * If you want to update existing customer do the following -
     */
    
if ($updateCustomer) {
        
$updateCustomerEWayId "9876543211000";
        
/* Already saved customer id. */
        
$customTag            "UpdateCustomer";
        
$updateCustomerEWayId "<managedCustomerID>"  

              $updateCustomerEWayId 
              "</managedCustomerID>";
    }
  
    
$directXML "<?xml version=\"1.0\" encoding=\"utf-8\"?>
        <soap12:Envelope 

            xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
            xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"
            xmlns:soap12=\"http://www.w3.org/2003/05/soap-envelope\">
            <soap12:Header>
            <eWAYHeader xmlns=\"" 
$eWaySOAPActionURL "\">
                <eWAYCustomerID>" 
$eWayCustomerId "</eWAYCustomerID>
                <Username>" 
$eWayCustomerEmail "</Username>
                <Password>" 
$eWayCustomerPassword "</Password>
            </eWAYHeader>
        </soap12:Header>
          <soap12:Body>
            <" 
$customTag " xmlns=\"" $eWaySOAPActionURL "\">
                " 
$updateCustomerEWayId "
                <Title>Mr.</Title>
                <FirstName>Pritom</FirstName>
                <LastName>Kumar Mondal</LastName>
                <Address></Address>
                <Suburb></Suburb>
                <State></State>
                <Company>Khulna University</Company>
                <PostCode></PostCode>
                <Country>au</Country>
                <Email>pritomkucse@gmail.com</Email>
                <Fax></Fax>
                <Phone></Phone>
                <Mobile></Mobile>
                <CustomerRef>CSE-060238</CustomerRef>
                <JobDesc></JobDesc>
                <Comments></Comments>
                <URL></URL>
                <CCNumber>4444333322221111</CCNumber>
                <CCNameOnCard>Pritom K Mondal</CCNameOnCard>
                <CCExpiryMonth>12</CCExpiryMonth>
                <CCExpiryYear>15</CCExpiryYear>
            </" 
$customTag ">
        </soap12:Body>
        </soap12:Envelope>"
;
  
    
$result makeCurlCall(

    $testUrl/* CURL URL */ 
    "POST"/* CURL CALL METHOD */  
    array(
        
/* CURL HEADERS */
        
"Content-Type: text/xml; charset=utf-8",
        
"Accept: text/xml",
        
"Pragma: no-cache",
        
"SOAPAction: " $eWaySOAPActionURL "/" $customTag,
        
"Content_length: " strlen(trim($directXML))
    ), 

    null/* CURL GET PARAMETERS */  
    $directXML /* CURL POST PARAMETERS AS XML */ );
  
    if (
$result != null && isset($result["response"])) {
        echo 
$result["response"]; /* Result printed below */
    }
    die(
"");
}
 


/* makeCurlCall */ 
function makeCurlCall($url$method "GET"$headers null$gets null$posts null)
{
    
$ch curl_init();
    if (
$gets != null) {
        
$url .= "?" . (http_build_query($gets));
    }
    
curl_setopt($chCURLOPT_URL$url);
    
curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
    
curl_setopt($chCURLOPT_SSL_VERIFYPEERfalse);
  
    if (
$posts != null) {
        
curl_setopt($chCURLOPT_POSTFIELDS$posts);
    }
    if (
$method == "POST") {
        
curl_setopt($chCURLOPT_POSTtrue);
    } else if (
$method == "PUT") {
        
curl_setopt($chCURLOPT_CUSTOMREQUEST"PUT");
    } else if (
$method == "HEAD") {
        
curl_setopt($chCURLOPT_NOBODYtrue);
    }
    if (
$headers != null && is_array($headers)) {
        
curl_setopt($chCURLOPT_HTTPHEADER$headers);
    }
    
$response curl_exec($ch);
    
$code     curl_getinfo($chCURLINFO_HTTP_CODE);
  
    
curl_close($ch);
    return array(
        
"code" => $code,
        
"response" => $response
    
);
}
 

create_token_eway();?>

Output

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope"  
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <soap:Body>
      <CreateCustomerResponse  
         xmlns="https://www.eway.com.au/gateway/managedpayment">
         <CreateCustomerResult>9876543211000</CreateCustomerResult>
      </CreateCustomerResponse>
   </soap:Body>
</soap:Envelope>

No comments:

Post a Comment