Initial import: Carteasy Shop (Dev-Stand)
This commit is contained in:
@@ -0,0 +1,86 @@
|
||||
<?php
|
||||
/**
|
||||
* Removes invalid characters from xml string.
|
||||
**/
|
||||
function stripInvalidXml($value) {
|
||||
$ret = "";
|
||||
$current;
|
||||
|
||||
if (empty($value)) {
|
||||
return $ret;
|
||||
}
|
||||
|
||||
$length = strlen($value);
|
||||
|
||||
for ($i=0; $i < $length; $i++) {
|
||||
$current = ord($value{$i});
|
||||
|
||||
if (($current == 0x9) ||
|
||||
($current == 0xA) ||
|
||||
($current == 0xD) ||
|
||||
(($current >= 0x20) && ($current <= 0xD7FF)) ||
|
||||
(($current >= 0xE000) && ($current <= 0xFFFD)) ||
|
||||
(($current >= 0x10000) && ($current <= 0x10FFFF))) {
|
||||
|
||||
$ret .= chr($current);
|
||||
|
||||
} else {
|
||||
$ret .= " ";
|
||||
}
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Removes all invalid characters in xml string, e.g. & replaces with & , < replaces with < ....
|
||||
**/
|
||||
function normalizeXML($data) {
|
||||
$LT = '<';
|
||||
$GT = '>';
|
||||
$res = "";
|
||||
|
||||
//remove all invalid xml characters
|
||||
$data = stripInvalidXml($data);
|
||||
$lastTagName = "";
|
||||
|
||||
for ($startIndex = 0; $startIndex < strlen($data); ) {
|
||||
if ($data[$startIndex] == $LT) {
|
||||
// parse tag name
|
||||
$tagStart = $startIndex;
|
||||
$tagEnd = strpos($data, $GT, $tagStart);
|
||||
$tagName = trim(substr($data, $tagStart + 1, $tagEnd - $tagStart - 1));
|
||||
//$tagName = htmlspecialchars_decode($tagName);
|
||||
//$tagName = htmlspecialchars($tagName);
|
||||
$lastTagName = $tagName;
|
||||
$tag = $LT . $tagName . $GT;
|
||||
$res = $res . $tag;
|
||||
$startIndex = $tagEnd + 1;
|
||||
|
||||
} else {
|
||||
// parse value
|
||||
$endTag = $LT . "/" . $lastTagName . $GT;
|
||||
$valueStart = $startIndex;
|
||||
$valueEnd = strpos($data, $endTag, $valueStart);
|
||||
$startNextTag = strpos($data, $LT, $valueStart);
|
||||
|
||||
if ($valueEnd === false) {
|
||||
$valueEnd = $startNextTag;
|
||||
}
|
||||
|
||||
if ($startNextTag < $valueEnd) {
|
||||
$valueEnd = $startNextTag;
|
||||
}
|
||||
|
||||
$value = trim(substr($data, $valueStart, $valueEnd - $valueStart));
|
||||
$value = htmlspecialchars_decode($value);
|
||||
$value = htmlspecialchars($value);
|
||||
|
||||
$res = $res . $value;
|
||||
$startIndex = $valueEnd;
|
||||
}
|
||||
}
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
@@ -0,0 +1,681 @@
|
||||
<?php
|
||||
class paymorrowOrderResponse {
|
||||
|
||||
/**
|
||||
* @var dateTime
|
||||
*/
|
||||
public $responseTimestamp; // dateTime
|
||||
|
||||
/**
|
||||
* @var responsePaymorrowOrder
|
||||
*/
|
||||
public $responsePaymorrowOrder; // responsePaymorrowOrder
|
||||
|
||||
/**
|
||||
* @var codeTypes
|
||||
*/
|
||||
public $responseResultCode; // codeTypes
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public $responseResultURL; // string
|
||||
|
||||
/**
|
||||
* @var responseErrorType
|
||||
*/
|
||||
public $responseError; // responseErrorType
|
||||
}
|
||||
|
||||
class responsePaymorrowOrder {
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*/
|
||||
public $paymorrowOrderRequestModified; // boolean
|
||||
|
||||
/**
|
||||
* @var paymorrowOrderRequestType
|
||||
*/
|
||||
public $paymorrowOrderRequest; // paymorrowOrderRequestType
|
||||
}
|
||||
|
||||
class paymorrow {
|
||||
|
||||
/**
|
||||
* @var paymorrowOrderRequestType
|
||||
*/
|
||||
public $paymorrowOrderRequest; // paymorrowOrderRequestType
|
||||
}
|
||||
|
||||
class paymorrowOrderRequestType {
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $requestMerchantId; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $requestId; // stringType50
|
||||
|
||||
/**
|
||||
* @var dateTime
|
||||
*/
|
||||
public $requestTimestamp; // dateTime
|
||||
|
||||
/**
|
||||
* @var languageType
|
||||
*/
|
||||
public $requestLanguageCode; // languageType
|
||||
|
||||
/**
|
||||
* @var orderType
|
||||
*/
|
||||
public $order; // orderType
|
||||
|
||||
/**
|
||||
* @var requestMerchantUrlType
|
||||
*/
|
||||
public $requestMerchantUrls; // requestMerchantUrlType
|
||||
}
|
||||
|
||||
class orderType {
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $orderId; // stringType50
|
||||
|
||||
/**
|
||||
* @var dateTime
|
||||
*/
|
||||
public $orderTimestamp; // dateTime
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
public $orderShoppingDuration; // int
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
public $orderCheckoutDuration; // int
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $orderSalesChannelId; // stringType50
|
||||
|
||||
/**
|
||||
* @var customerType
|
||||
*/
|
||||
public $orderCustomer; // customerType
|
||||
|
||||
/**
|
||||
* @var addressType
|
||||
*/
|
||||
public $orderShippingAddress; // addressType
|
||||
|
||||
/**
|
||||
* @var orderShipmentDetailType
|
||||
*/
|
||||
public $orderShipmentDetails; // orderShipmentDetailType
|
||||
|
||||
/**
|
||||
* @var date
|
||||
*/
|
||||
public $orderExpectedDeliveryDate; // date
|
||||
|
||||
/**
|
||||
* @var decimal
|
||||
*/
|
||||
public $orderAmountNet; // decimal
|
||||
|
||||
/**
|
||||
* @var orderAmountVatType
|
||||
*/
|
||||
public $orderAmountVAT; // orderAmountVatType
|
||||
|
||||
/**
|
||||
* @var decimal
|
||||
*/
|
||||
public $orderAmountVATTotal; // decimal
|
||||
|
||||
/**
|
||||
* @var decimal
|
||||
*/
|
||||
public $orderAmountGross; // decimal
|
||||
|
||||
/**
|
||||
* @var currencyType
|
||||
*/
|
||||
public $orderCurrencyCode; // currencyType
|
||||
|
||||
/**
|
||||
* @var orderItems
|
||||
*/
|
||||
public $orderItems; // orderItems
|
||||
}
|
||||
|
||||
class orderItems {
|
||||
|
||||
/**
|
||||
* @var orderItemType
|
||||
*/
|
||||
public $orderItem; // orderItemType
|
||||
}
|
||||
|
||||
class customerType {
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $customerId; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $customerGroupId; // stringType50
|
||||
|
||||
/**
|
||||
* @var languageType
|
||||
*/
|
||||
public $customerPreferredLanguage; // languageType
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public $customerIPAddress; // string
|
||||
|
||||
/**
|
||||
* @var customerPersonalDetailsType
|
||||
*/
|
||||
public $customerPersonalDetails; // customerPersonalDetailsType
|
||||
|
||||
/**
|
||||
* @var addressType
|
||||
*/
|
||||
public $customerAddress; // addressType
|
||||
|
||||
/**
|
||||
* @var customerHistoryType
|
||||
*/
|
||||
public $customerHistory; // customerHistoryType
|
||||
|
||||
/**
|
||||
* @var customerTypes
|
||||
*/
|
||||
public $orderCustomerType; // customerTypes
|
||||
}
|
||||
|
||||
class customerPersonalDetailsType {
|
||||
|
||||
/**
|
||||
* @var salutationTypes
|
||||
*/
|
||||
public $customerSalutation; // salutationTypes
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $customerNamePrefix; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $customerGivenName; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $customerMiddleName; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $customerSurname; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $customerNameSuffix; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $customerOrganizationName; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $customerPhoneNo; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $customerFaxNo; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $customerMobileNo; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType320
|
||||
*/
|
||||
public $customerEmail; // stringType320
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $customerGender; // stringType50
|
||||
|
||||
/**
|
||||
* @var date
|
||||
*/
|
||||
public $customerDateOfBirth; // date
|
||||
}
|
||||
|
||||
class addressType {
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $addressContact; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $addressOrganizationName; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $addressDepartment; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $addressBuilding; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $addressStreet; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType10
|
||||
*/
|
||||
public $addressHouseNo; // stringType10
|
||||
|
||||
/**
|
||||
* @var stringType20
|
||||
*/
|
||||
public $addressPostalCode; // stringType20
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $addressLocality; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $addressProvince; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $addressCountryCode; // stringType50
|
||||
}
|
||||
|
||||
class customerHistoryType {
|
||||
|
||||
/**
|
||||
* @var dateTime
|
||||
*/
|
||||
public $customerSince; // dateTime
|
||||
|
||||
/**
|
||||
* @var customerOrdersType
|
||||
*/
|
||||
public $customerOrders; // customerOrdersType
|
||||
}
|
||||
|
||||
class customerOrdersType {
|
||||
|
||||
/**
|
||||
* @var customerOrderType
|
||||
*/
|
||||
public $customerFirstOrder; // customerOrderType
|
||||
|
||||
/**
|
||||
* @var customerOrderType
|
||||
*/
|
||||
public $customerLastOrder; // customerOrderType
|
||||
|
||||
/**
|
||||
* @var totalOrderType
|
||||
*/
|
||||
public $customerOrdersLast7Days; // totalOrderType
|
||||
|
||||
/**
|
||||
* @var totalOrderType
|
||||
*/
|
||||
public $customerOrdersLast30Days; // totalOrderType
|
||||
|
||||
/**
|
||||
* @var totalOrderType
|
||||
*/
|
||||
public $customerOrdersLast180Days; // totalOrderType
|
||||
|
||||
/**
|
||||
* @var totalOrderType
|
||||
*/
|
||||
public $customerOrdersEver; // totalOrderType
|
||||
}
|
||||
|
||||
class customerOrderType {
|
||||
|
||||
/**
|
||||
* @var dateTime
|
||||
*/
|
||||
public $orderDate; // dateTime
|
||||
|
||||
/**
|
||||
* @var decimal
|
||||
*/
|
||||
public $orderTotalAmount; // decimal
|
||||
|
||||
/**
|
||||
* @var decimal
|
||||
*/
|
||||
public $orderPaidAmount; // decimal
|
||||
|
||||
/**
|
||||
* @var stringType10
|
||||
*/
|
||||
public $orderPaymentMethod; // stringType10
|
||||
|
||||
/**
|
||||
* @var orderPaymentStatusType
|
||||
*/
|
||||
public $orderPaymentStatus; // orderPaymentStatusType
|
||||
}
|
||||
|
||||
class totalOrderType {
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
public $totalNoOfCustomerOrders; // int
|
||||
|
||||
/**
|
||||
* @var decimal
|
||||
*/
|
||||
public $totalAmountOfCustomerOrders; // decimal
|
||||
|
||||
/**
|
||||
* @var decimal
|
||||
*/
|
||||
public $totalAmountOfCustomerOrdersPaid; // decimal
|
||||
}
|
||||
|
||||
class orderShipmentDetailType {
|
||||
|
||||
/**
|
||||
* @var stringType255
|
||||
*/
|
||||
public $shipmentProvider; // stringType255
|
||||
|
||||
/**
|
||||
* @var stringType255
|
||||
*/
|
||||
public $shipmentMethod; // stringType255
|
||||
}
|
||||
|
||||
class orderAmountVatType {
|
||||
|
||||
/**
|
||||
* @var orderVatRate
|
||||
*/
|
||||
public $orderVatRate; // orderVatRate
|
||||
}
|
||||
|
||||
class orderVatRate {
|
||||
|
||||
/**
|
||||
* @var decimal
|
||||
*/
|
||||
public $orderVatAmount; // decimal
|
||||
|
||||
/**
|
||||
* @var decimal
|
||||
*/
|
||||
public $vatRate; // decimal
|
||||
}
|
||||
|
||||
class orderItemType {
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $itemId; // stringType50
|
||||
|
||||
/**
|
||||
* @var decimal
|
||||
*/
|
||||
public $itemQuantity; // decimal
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $itemUOM; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType50
|
||||
*/
|
||||
public $itemArticleId; // stringType50
|
||||
|
||||
/**
|
||||
* @var stringType255
|
||||
*/
|
||||
public $itemDescription; // stringType255
|
||||
|
||||
/**
|
||||
* @var stringType255
|
||||
*/
|
||||
public $itemCategory; // stringType255
|
||||
|
||||
/**
|
||||
* @var decimal
|
||||
*/
|
||||
public $itemUnitPrice; // decimal
|
||||
|
||||
/**
|
||||
* @var currencyType
|
||||
*/
|
||||
public $itemCurrencyCode; // currencyType
|
||||
|
||||
/**
|
||||
* @var decimal
|
||||
*/
|
||||
public $itemVatRate; // decimal
|
||||
|
||||
/**
|
||||
* @var decimal
|
||||
*/
|
||||
public $itemExtendedAmount; // decimal
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*/
|
||||
public $itemAmountInclusiveVAT; // boolean
|
||||
|
||||
/**
|
||||
* @var stringType255
|
||||
*/
|
||||
public $itemComments; // stringType255
|
||||
}
|
||||
|
||||
class requestMerchantUrlType {
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public $merchantSuccessUrl; // string
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public $merchantErrorUrl; // string
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public $merchantPaymentMethodChangeUrl; // string
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public $merchantNotificationUrl; // string
|
||||
}
|
||||
|
||||
class paymorrowResponse {
|
||||
|
||||
/**
|
||||
* @var paymorrowOrderResponse
|
||||
*/
|
||||
public $paymorrowOrderResponse; // paymorrowOrderResponse
|
||||
}
|
||||
|
||||
class responseErrorType {
|
||||
|
||||
/**
|
||||
* @var responseErrorTypes
|
||||
*/
|
||||
public $responseErrorType; // responseErrorTypes
|
||||
|
||||
/**
|
||||
* @var int
|
||||
*/
|
||||
public $responseErrorNo; // int
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*/
|
||||
public $responseErrorMessage; // string
|
||||
}
|
||||
|
||||
class languageType {
|
||||
}
|
||||
|
||||
class salutationTypes {
|
||||
}
|
||||
|
||||
class customerTypes {
|
||||
}
|
||||
|
||||
class currencyType {
|
||||
}
|
||||
|
||||
class codeTypes {
|
||||
}
|
||||
|
||||
class responseErrorTypes {
|
||||
}
|
||||
|
||||
class orderPaymentStatusType {
|
||||
}
|
||||
|
||||
class stringType10 {
|
||||
}
|
||||
|
||||
class stringType20 {
|
||||
}
|
||||
|
||||
class stringType50 {
|
||||
}
|
||||
|
||||
class stringType255 {
|
||||
}
|
||||
|
||||
class stringType320 {
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* PaymorrowService class
|
||||
*
|
||||
*
|
||||
*
|
||||
* @author {author}
|
||||
* @copyright {copyright}
|
||||
* @package {package}
|
||||
*/
|
||||
class PaymorrowService extends SoapClient {
|
||||
|
||||
private static $classmap = array(
|
||||
'paymorrowOrderResponse' => 'paymorrowOrderResponse',
|
||||
'responsePaymorrowOrder' => 'responsePaymorrowOrder',
|
||||
'paymorrow' => 'paymorrow',
|
||||
'paymorrowOrderRequestType' => 'paymorrowOrderRequestType',
|
||||
'orderType' => 'orderType',
|
||||
'orderItems' => 'orderItems',
|
||||
'customerType' => 'customerType',
|
||||
'customerPersonalDetailsType' => 'customerPersonalDetailsType',
|
||||
'addressType' => 'addressType',
|
||||
'customerHistoryType' => 'customerHistoryType',
|
||||
'customerOrdersType' => 'customerOrdersType',
|
||||
'customerOrderType' => 'customerOrderType',
|
||||
'totalOrderType' => 'totalOrderType',
|
||||
'orderShipmentDetailType' => 'orderShipmentDetailType',
|
||||
'orderAmountVatType' => 'orderAmountVatType',
|
||||
'orderVatRate' => 'orderVatRate',
|
||||
'orderItemType' => 'orderItemType',
|
||||
'requestMerchantUrlType' => 'requestMerchantUrlType',
|
||||
'paymorrowResponse' => 'paymorrowResponse',
|
||||
'responseErrorType' => 'responseErrorType',
|
||||
'languageType' => 'languageType',
|
||||
'salutationTypes' => 'salutationTypes',
|
||||
'customerTypes' => 'customerTypes',
|
||||
'currencyType' => 'currencyType',
|
||||
'codeTypes' => 'codeTypes',
|
||||
'responseErrorTypes' => 'responseErrorTypes',
|
||||
'orderPaymentStatusType' => 'orderPaymentStatusType',
|
||||
'stringType10' => 'stringType10',
|
||||
'stringType20' => 'stringType20',
|
||||
'stringType50' => 'stringType50',
|
||||
'stringType255' => 'stringType255',
|
||||
'stringType320' => 'stringType320',
|
||||
);
|
||||
|
||||
public function PaymorrowService($wsdl = "PaymorrowService.wsdl", $options = array()) {
|
||||
foreach(self::$classmap as $key => $value) {
|
||||
if(!isset($options['classmap'][$key])) {
|
||||
$options['classmap'][$key] = $value;
|
||||
}
|
||||
}
|
||||
|
||||
parent::__construct($wsdl, $options);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param paymorrow $parameters
|
||||
* @return paymorrowResponse
|
||||
**/
|
||||
public function paymorrow(paymorrow $parameters) {
|
||||
$header = new SoapHeader('http://paymorrow.com/integration/paymorrowservice',
|
||||
'signature',
|
||||
'997f4684314a30db4c3849ab7b26b376');
|
||||
|
||||
$this->__setSoapHeaders($header);
|
||||
return $this->__soapCall('paymorrow', array($parameters), array(
|
||||
'uri' => 'http://paymorrow.com/integration/paymorrowservice',
|
||||
'soapaction' => ''));
|
||||
}
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
@@ -0,0 +1,343 @@
|
||||
<?php
|
||||
/**
|
||||
* this method will create the Node in DOM tree with the given nodeName and Parent Node.
|
||||
**/
|
||||
function appendIfNotNull($testField, $nodeName,$nodeData, $parentNode, $nodeType, $attInd, $namespaceInd=false) {
|
||||
global $soapBody;
|
||||
$newNode=null;
|
||||
#$nodeName == 'vatRate' OR $nodeName == 'orderVatAmount' OR $nodeName == 'itemVatRate'
|
||||
if(!empty($testField) || $testField === 0) {
|
||||
if(!$attInd) {
|
||||
if($namespaceInd) {
|
||||
$newNode = $soapBody->createElementNS('http://paymorrow.com/integration/paymorrowservice',$nodeName);
|
||||
//'http://paymorrow.com/integration/paymorrowservice',
|
||||
} else {
|
||||
$newNode = $soapBody->createElement($nodeName);
|
||||
}
|
||||
|
||||
$parentNode->appendChild($newNode);
|
||||
}
|
||||
|
||||
// For parent nodes, Parent nodes not need to have text node.
|
||||
if($nodeType == "0") {
|
||||
// return $newNode;
|
||||
} else {
|
||||
if($attInd) {
|
||||
// If current Element needs to append as Attribute.
|
||||
$attrNode = $soapBody->createAttribute($nodeName);
|
||||
$parentNode->appendChild($attrNode);
|
||||
$attrVal = $soapBody->createTextNode($nodeData);
|
||||
$attrNode->appendChild($attrVal);
|
||||
} else {
|
||||
// add the text node to newly created node.
|
||||
$newNode->appendChild($soapBody->createTextNode($nodeData));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// return newly created node.
|
||||
return $newNode;
|
||||
} // end appendIfNotNull
|
||||
|
||||
/**
|
||||
* This function return the node data(Only data for first index)
|
||||
**/
|
||||
function getNodeValueByTagName($node, $nodeName) {
|
||||
$tagList = $node->getElementsByTagName($nodeName);
|
||||
if($tagList != null && $tagList->item(0)) {
|
||||
return $tagList->item(0)->nodeValue;
|
||||
}
|
||||
} // end getNodeValueByTagName
|
||||
|
||||
/**
|
||||
* return the Node value, if node is not null in DOM tree.
|
||||
**/
|
||||
function getIfNotNull($resp, $nodeName) {
|
||||
$tagList = $resp->getElementsByTagName($nodeName);
|
||||
if ($tagList && $tagList->item(0)) {
|
||||
return $tagList->item(0)->nodeValue;
|
||||
}
|
||||
|
||||
return null;
|
||||
} // end getIfNotNull
|
||||
|
||||
|
||||
/**
|
||||
* This method takes the xml as String and then creates the PaymorrowOrderResponse from the
|
||||
* XML String(A part of response which sent by Paymorrow Server ).
|
||||
**/
|
||||
function preparePaymorrowResponse($res) {
|
||||
$paymorrowOrderResponse = new paymorrowOrderResponse();
|
||||
|
||||
try {
|
||||
// Ignore the HTTP related items, only SOAP Part is required.
|
||||
$pos = strpos($res, '<?xml');
|
||||
$respSoap = substr($res,$pos,strlen($res));
|
||||
|
||||
// Create DOM Document out of SOAP Message.
|
||||
$paymorrowResp = new DOMDocument();
|
||||
$paymorrowResp->loadXML($respSoap);
|
||||
|
||||
//print $paymorrowResp->saveXML();
|
||||
|
||||
// Set all the elements from the XML to Object.
|
||||
|
||||
$request = new PaymorrowOrderRequestType(); //t.XMLtoObject("");
|
||||
$request->requestMerchantId = getIfNotNull($paymorrowResp, "requestMerchantId");
|
||||
|
||||
$request->requestId = getIfNotNull($paymorrowResp, "requestId");
|
||||
$request->requestTimestamp = getIfNotNull($paymorrowResp, "requestTimestamp");
|
||||
$request->requestLanguageCode = getIfNotNull($paymorrowResp, "requestLanguageCode");
|
||||
|
||||
$requestMerchantUrls = new RequestMerchantUrlType();
|
||||
$requestMerchantUrls->merchantSuccessUrl = getIfNotNull($paymorrowResp, "merchantSuccessUrl");
|
||||
$requestMerchantUrls->merchantErrorUrl = getIfNotNull($paymorrowResp, "merchantErrorUrl");
|
||||
$requestMerchantUrls->merchantPaymentMethodChangeUrl = getIfNotNull($paymorrowResp, "merchantPaymentMethodChangeUrl");
|
||||
$requestMerchantUrls->merchantNotificationUrl = getIfNotNull($paymorrowResp, "merchantNotificationUrl");
|
||||
$request->requestMerchantUrls = $requestMerchantUrls;
|
||||
|
||||
//Create Order Type
|
||||
$order = new OrderType();
|
||||
$order->orderId = getIfNotNull($paymorrowResp, "orderId");
|
||||
$order->orderTimestamp = getIfNotNull($paymorrowResp, "orderTimestamp");
|
||||
$order->orderShoppingDuration = getIfNotNull($paymorrowResp, "orderShoppingDuration");
|
||||
$order->orderCheckoutDuration = getIfNotNull($paymorrowResp, "orderCheckoutDuration");
|
||||
$order->orderSalesChannelId = getIfNotNull($paymorrowResp, "orderSalesChannelId");
|
||||
|
||||
//Create Customer for the order
|
||||
$customer = new CustomerType();
|
||||
$customer->customerId = getIfNotNull($paymorrowResp, "customerId");
|
||||
$customer->customerGroupId = getIfNotNull($paymorrowResp, "customerGroupId");
|
||||
$customer->customerPreferredLanguage = getIfNotNull($paymorrowResp, "customerPreferredLanguage");
|
||||
$customer->customerIPAddress = getIfNotNull($paymorrowResp, "customerIPAddress");
|
||||
$customer->orderCustomerType = getIfNotNull($paymorrowResp, "orderCustomerType");
|
||||
|
||||
// Set the customer personal details
|
||||
$customerPersonalDetails = new CustomerPersonalDetailsType();
|
||||
$customerPersonalDetails->customerSalutation = getIfNotNull($paymorrowResp, "customerSalutation");
|
||||
$customerPersonalDetails->customerNamePrefix = getIfNotNull($paymorrowResp, "customerNamePrefix");
|
||||
$customerPersonalDetails->customerGivenName = getIfNotNull($paymorrowResp, "customerGivenName");
|
||||
$customerPersonalDetails->customerMiddleName = getIfNotNull($paymorrowResp, "customerMiddleName");
|
||||
$customerPersonalDetails->customerSurname = getIfNotNull($paymorrowResp, "customerSurname");
|
||||
$customerPersonalDetails->customerNameSuffix = getIfNotNull($paymorrowResp, "customerNameSuffix");
|
||||
$customerPersonalDetails->customerOrganizationName = getIfNotNull($paymorrowResp, "customerOrganizationName");
|
||||
$customerPersonalDetails->customerPhoneNo = getIfNotNull($paymorrowResp, "customerPhoneNo");
|
||||
$customerPersonalDetails->customerFaxNo = getIfNotNull($paymorrowResp, "customerFaxNo");
|
||||
$customerPersonalDetails->customerMobileNo = getIfNotNull($paymorrowResp, "customerMobileNo");
|
||||
$customerPersonalDetails->customerEmail = getIfNotNull($paymorrowResp, "customerEmail");
|
||||
$customerPersonalDetails->customerGender = getIfNotNull($paymorrowResp, "customerGender");
|
||||
$customerPersonalDetails->customerDateOfBirth = getIfNotNull($paymorrowResp, "customerDateOfBirth");
|
||||
|
||||
$customerAddress = new AddressType();
|
||||
$customerAddress->addressContact = getIfNotNull($paymorrowResp, "addressContact");
|
||||
$customerAddress->addressOrganizationName = getIfNotNull($paymorrowResp, "addressOrganizationName");
|
||||
$customerAddress->addressDepartment = getIfNotNull($paymorrowResp, "addressDepartment");
|
||||
$customerAddress->addressBuilding = getIfNotNull($paymorrowResp, "addressBuilding");
|
||||
$customerAddress->addressStreet = getIfNotNull($paymorrowResp, "addressStreet");
|
||||
$customerAddress->addressHouseNo = getIfNotNull($paymorrowResp, "addressHouseNo");
|
||||
$customerAddress->addressPostalCode = getIfNotNull($paymorrowResp, "addressPostalCode");
|
||||
$customerAddress->addressLocality = getIfNotNull($paymorrowResp, "addressLocality");
|
||||
$customerAddress->addressProvince = getIfNotNull($paymorrowResp, "addressProvince");
|
||||
$customerAddress->addressCountryCode = getIfNotNull($paymorrowResp, "addressCountryCode");
|
||||
$customer->customerAddress = $customerAddress;
|
||||
|
||||
//Set Customer History
|
||||
// Set for first order
|
||||
// Set for Last order
|
||||
// Set orders for 7,30,180 and Forever days
|
||||
|
||||
|
||||
$customerHistory = getIfNotNull($paymorrowResp, "customerHistory");
|
||||
if($customerHistory != null) {
|
||||
$customerLastOrder = new customerOrderType();
|
||||
$customerFirstOrder = new customerOrderType();
|
||||
$customerHistory = new customerHistoryType();
|
||||
$customerHistory->customerSince = getIfNotNull($paymorrowResp, "customerSince");
|
||||
|
||||
$customerOrderType = getIfNotNull($paymorrowResp, "customerOrders");
|
||||
if($customerOrderType != null ) {
|
||||
$customerOrderType = new customerOrdersType();
|
||||
|
||||
$customerFirstOrder->orderDate = getIfNotNull($paymorrowResp, "orderDate");
|
||||
$customerFirstOrder->orderTotalAmount = getIfNotNull($paymorrowResp, "orderTotalAmount");
|
||||
$customerFirstOrder->orderPaidAmount = getIfNotNull($paymorrowResp, "orderPaidAmount");
|
||||
$customerFirstOrder->orderPaymentMethod = getIfNotNull($paymorrowResp, "orderPaymentMethod");
|
||||
$customerFirstOrder->orderPaymentStatus = getIfNotNull($paymorrowResp, "orderPaymentStatus");
|
||||
|
||||
$customerLastOrder->orderDate = getIfNotNull($paymorrowResp, "orderDate");
|
||||
$customerLastOrder->orderTotalAmount = getIfNotNull($paymorrowResp, "orderTotalAmount");
|
||||
$customerLastOrder->orderPaidAmount = getIfNotNull($paymorrowResp, "orderPaidAmount");
|
||||
$customerLastOrder->orderPaymentMethod = getIfNotNull($paymorrowResp, "orderPaymentMethod");
|
||||
$customerLastOrder->orderPaymentStatus = getIfNotNull($paymorrowResp, "orderPaymentStatus");
|
||||
|
||||
$last7Orders = $paymorrowResp->getElementsByTagName("customerOrdersLast7Days");
|
||||
$customerOrdersLast7Days = new totalOrderType();
|
||||
if((!empty($last7Orders)) && $last7Orders!=null && $last7Orders->length>0) {
|
||||
$last7OrdersNode = $last7Orders->item(0);
|
||||
$last7OrdersChilds = $last7OrdersNode->childNodes;
|
||||
$customerOrdersLast7Days->totalNoOfCustomerOrders = $last7OrdersChilds->item(0)->nodeValue;
|
||||
$customerOrdersLast7Days->totalAmountOfCustomerOrders = $last7OrdersChilds->item(1)->nodeValue;
|
||||
$customerOrdersLast7Days->totalAmountOfCustomerOrdersPaid = $last7OrdersChilds->item(2)->nodeValue;
|
||||
}
|
||||
|
||||
$last30Orders = $paymorrowResp->getElementsByTagName("customerOrdersLast30Days");
|
||||
$customerOrdersLast30Days = new totalOrderType();
|
||||
if((!empty($last30Orders)) && $last30Orders!=null && $last30Orders->length>0) {
|
||||
$last30OrdersNode = $last30Orders->item(0);
|
||||
$last30OrdersChilds = $last30OrdersNode->childNodes;
|
||||
$customerOrdersLast30Days->totalNoOfCustomerOrders = $last30OrdersChilds->item(0)->nodeValue;
|
||||
$customerOrdersLast30Days->totalAmountOfCustomerOrders = $last30OrdersChilds->item(1)->nodeValue;
|
||||
$customerOrdersLast30Days->totalAmountOfCustomerOrdersPaid = $last30OrdersChilds->item(2)->nodeValue;
|
||||
}
|
||||
|
||||
$last180Orders = $paymorrowResp->getElementsByTagName("customerOrdersLast180Days");
|
||||
$customerOrdersLast180Days = new totalOrderType();
|
||||
if((!empty($last180Orders)) && $last180Orders!=null && $last180Orders->length>0) {
|
||||
$last180OrdersNode = $last180Orders->item(0);
|
||||
$last180OrdersChilds = $last180OrdersNode->childNodes;
|
||||
$customerOrdersLast180Days->totalNoOfCustomerOrders = $last180OrdersChilds->item(0)->nodeValue;
|
||||
$customerOrdersLast180Days->totalAmountOfCustomerOrders = $last180OrdersChilds->item(1)->nodeValue;
|
||||
$customerOrdersLast180Days->totalAmountOfCustomerOrdersPaid = $last180OrdersChilds->item(2)->nodeValue;
|
||||
}
|
||||
|
||||
$ordersEver = $paymorrowResp->getElementsByTagName("customerOrdersEver");
|
||||
$customerOrdersEver = new totalOrderType();
|
||||
if((!empty($ordersEver)) && $ordersEver!=null && $ordersEver->length>0) {
|
||||
$ordersNode = $ordersEver->item(0);
|
||||
$ordersEverChilds = $ordersNode->childNodes;
|
||||
$customerOrdersEver->totalNoOfCustomerOrders = $ordersEverChilds->item(0)->nodeValue;
|
||||
$customerOrdersEver->totalAmountOfCustomerOrders = $ordersEverChilds->item(1)->nodeValue;
|
||||
$customerOrdersEver->totalAmountOfCustomerOrdersPaid = $ordersEverChilds->item(2)->nodeValue;
|
||||
}
|
||||
|
||||
|
||||
$customerOrderType->customerFirstOrder = $customerFirstOrder;
|
||||
$customerOrderType->customerLastOrder = $customerLastOrder;
|
||||
$customerOrderType->customerOrdersLast7Days = $customerOrdersLast7Days;
|
||||
$customerOrderType->customerOrdersLast30Days = $customerOrdersLast30Days;
|
||||
$customerOrderType->customerOrdersLast180Days = $customerOrdersLast180Days;
|
||||
$customerOrderType->customerOrdersEver = $customerOrdersEver;
|
||||
$customerHistory->customerOrders = $customerOrderType;
|
||||
}
|
||||
}
|
||||
|
||||
$customer->customerHistory = $customerHistory;
|
||||
// History Ends
|
||||
|
||||
//Set shipment address
|
||||
$addressShipmentType = new AddressType();
|
||||
$addressShipmentType->addressContact = getIfNotNull($paymorrowResp, "addressContact");
|
||||
$addressShipmentType->addressOrganizationName = getIfNotNull($paymorrowResp, "addressOrganizationName");
|
||||
$addressShipmentType->addressDepartment = getIfNotNull($paymorrowResp, "addressDepartment");
|
||||
$addressShipmentType->addressBuilding = getIfNotNull($paymorrowResp, "addressBuilding");
|
||||
$addressShipmentType->addressStreet = getIfNotNull($paymorrowResp, "addressStreet");
|
||||
$addressShipmentType->addressHouseNo = getIfNotNull($paymorrowResp, "addressHouseNo");
|
||||
$addressShipmentType->addressPostalCode = getIfNotNull($paymorrowResp, "addressPostalCode");
|
||||
$addressShipmentType->addressLocality = getIfNotNull($paymorrowResp, "addressLocality");
|
||||
$addressShipmentType->addressProvince = getIfNotNull($paymorrowResp, "addressProvince");
|
||||
$addressShipmentType->addressCountryCode = getIfNotNull($paymorrowResp, "addressCountryCode");
|
||||
|
||||
$order->orderShippingAddress = $addressShipmentType;
|
||||
$orderShipmentDetails = new OrderShipmentDetailType();
|
||||
$orderShipmentDetails->shipmentMethod = getIfNotNull($paymorrowResp, "shipmentMethod");
|
||||
$orderShipmentDetails->shipmentProvider = getIfNotNull($paymorrowResp, "shipmentProvider");
|
||||
$order->orderShipmentDetails = $orderShipmentDetails;
|
||||
|
||||
$order->orderExpectedDeliveryDate = getIfNotNull($paymorrowResp, "orderExpectedDeliveryDate");
|
||||
$order->orderAmountNet = getIfNotNull($paymorrowResp, "orderAmountNet");
|
||||
|
||||
$orderAmountVAT = new orderAmountVatType();
|
||||
|
||||
$domNodeList = $paymorrowResp->getElementsByTagName('orderVatRate');
|
||||
|
||||
// Set VAT for the order
|
||||
$orderAmountVATArray = new ArrayObject();
|
||||
$i= 0;
|
||||
for($i;$i<$domNodeList->length; $i++) {
|
||||
$vatNode = $domNodeList->item($i);
|
||||
$vatAmount = $vatNode->nodeValue;
|
||||
|
||||
foreach ($vatNode->attributes as $attrNode) {
|
||||
$vatRate=$attrNode->value;
|
||||
}
|
||||
|
||||
$orderVatRateType = new orderVatRate();
|
||||
$orderVatRateType->orderVatAmount = $vatAmount;
|
||||
$orderVatRateType->orderVatRate = $vatRate;
|
||||
|
||||
//put in Array
|
||||
$orderAmountVATArray[$i] = $orderVatRateType;
|
||||
}
|
||||
|
||||
$orderAmountVAT->orderVatRate = $orderAmountVATArray;
|
||||
$order->orderAmountVAT = $orderAmountVAT;
|
||||
|
||||
$order->orderAmountVATTotal = getIfNotNull($paymorrowResp, "orderAmountVATTotal");
|
||||
|
||||
$order->orderAmountGross = getIfNotNull($paymorrowResp, "orderAmountGross");
|
||||
$order->orderCurrencyCode = getIfNotNull($paymorrowResp, "orderCurrencyCode");
|
||||
|
||||
//loop
|
||||
$orderItemsList = $paymorrowResp->getElementsByTagName('orderItem');
|
||||
|
||||
// Set order items
|
||||
$orderItemsArray = new ArrayObject();
|
||||
$i= 0;
|
||||
for($i;$i<$orderItemsList->length; $i++) {
|
||||
$nodeOrderItem = $orderItemsList->item($i);
|
||||
|
||||
$orderItems = new OrderItemType();
|
||||
$orderItems->itemId = getNodeValueByTagName($nodeOrderItem,'itemId');
|
||||
$orderItems->itemQuantity = getNodeValueByTagName($nodeOrderItem,'itemQuantity');
|
||||
$orderItems->itemUOM = getNodeValueByTagName($nodeOrderItem,'ItemUOM');
|
||||
$orderItems->itemArticleId = getNodeValueByTagName($nodeOrderItem,'itemArticleId');
|
||||
$orderItems->itemDescription = getNodeValueByTagName($nodeOrderItem,'itemDescription');
|
||||
$orderItems->itemCategory = getNodeValueByTagName($nodeOrderItem,'itemCategory');
|
||||
$orderItems->itemUnitPrice = getNodeValueByTagName($nodeOrderItem,'itemUnitPrice');
|
||||
$orderItems->itemCurrencyCode = getNodeValueByTagName($nodeOrderItem,'itemCurrencyCode');
|
||||
$orderItems->itemVatRate = getNodeValueByTagName($nodeOrderItem,'itemVatRate');
|
||||
$orderItems->itemExtendedAmount = getNodeValueByTagName($nodeOrderItem,'itemExtendedAmount');
|
||||
$orderItems->itemAmountInclusiveVAT = getNodeValueByTagName($nodeOrderItem,'itemAmountInclusiveVAT');
|
||||
$orderItems->itemComments = getNodeValueByTagName($nodeOrderItem,'itemComments');
|
||||
|
||||
$orderItemsArray[$i] = $orderItems;
|
||||
}
|
||||
|
||||
$order->orderItems = $orderItemsArray;
|
||||
|
||||
$customer->customerPersonalDetails = $customerPersonalDetails;
|
||||
|
||||
$order->orderCustomer = $customer;
|
||||
|
||||
$request->order = $order;
|
||||
|
||||
$responsePaymorrowOrder = new responsePaymorrowOrder();
|
||||
$responsePaymorrowOrder->paymorrowOrderRequestModified = getIfNotNull($paymorrowResp, "paymorrowOrderRequestModified");
|
||||
$responsePaymorrowOrder->paymorrowOrderRequest = $request;
|
||||
|
||||
$paymorrowOrderResponse->responsePaymorrowOrder = $responsePaymorrowOrder;
|
||||
|
||||
$paymorrowOrderResponse->responseTimestamp = getIfNotNull($paymorrowResp, "responseTimestamp");
|
||||
$paymorrowOrderResponse->responseResultCode = getIfNotNull($paymorrowResp, "responseResultCode");
|
||||
$paymorrowOrderResponse->responseResultURL = getIfNotNull($paymorrowResp, "responseResultURL");
|
||||
|
||||
// Set response Error (if any)
|
||||
$responseError = getIfNotNull($paymorrowResp, "responseError");
|
||||
|
||||
if(!empty ($responseError)) {
|
||||
$respError = new responseErrorType();
|
||||
|
||||
$respError->responseErrorType = getIfNotNull($paymorrowResp, "responseErrorType");
|
||||
$respError->responseErrorNo = getIfNotNull($paymorrowResp, "responseErrorNo");
|
||||
$respError->responseErrorMessage = getIfNotNull($paymorrowResp, "responseErrorMessage");
|
||||
$paymorrowOrderResponse->responseError = $respError;
|
||||
}
|
||||
|
||||
} catch (Exception $e) {
|
||||
$e->getTraceAsString();
|
||||
$paymorrowOrderResponse = null;
|
||||
}
|
||||
return $paymorrowOrderResponse;
|
||||
} // end preparePaymorrowResponse
|
||||
|
||||
/* EOF */
|
||||
@@ -0,0 +1,62 @@
|
||||
<?php
|
||||
function sendHTTP($reqBody, $host, $port, $wsPath) {
|
||||
$res = "";
|
||||
|
||||
flush();
|
||||
|
||||
try {
|
||||
//Paymorrow Server URL
|
||||
if (!$host) {
|
||||
// FOR DEV
|
||||
$host = "test.paymorrow.net";
|
||||
}
|
||||
|
||||
if (!$port) {
|
||||
$port = 443;
|
||||
}
|
||||
|
||||
if (!$wsPath) {
|
||||
// DEFERRED
|
||||
//$wsPath = '/perth/services/PaymorrowDeferredConfirmationService.Paymorrow';
|
||||
// DIRECT / IS THE DEFAULT
|
||||
$wsPath = "/perth/services/PaymorrowService.Paymorrow";
|
||||
}
|
||||
|
||||
// HTTP Protocol settings for sending request
|
||||
$req = "POST ".$wsPath." HTTP/1.1\r\n"
|
||||
."Host: $host\r\n"
|
||||
."Content-Type: text/xml\r\n"
|
||||
."Content-Length: ".strlen($reqBody)."\r\n"
|
||||
."Connection: close\r\n\r\n"
|
||||
.$reqBody;
|
||||
|
||||
flush();
|
||||
|
||||
if (!($fp = fsockopen("ssl://".$host, $port, $errNo, $errStr))) {
|
||||
//echo "Cannot open:".$errStr;
|
||||
flush();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
//data placed on Stream
|
||||
fwrite($fp, $req, strlen($req));
|
||||
|
||||
//Read data from Stream
|
||||
while($data = fread($fp, 32768)) {
|
||||
$res.=$data;
|
||||
}
|
||||
|
||||
fclose($fp) ;
|
||||
|
||||
flush();
|
||||
} catch (Exception $e) {
|
||||
//echo $e->getMessage();
|
||||
}
|
||||
|
||||
flush();
|
||||
|
||||
return $res;
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
@@ -0,0 +1,263 @@
|
||||
<?php
|
||||
$soapBody = new DOMDocument('1.0', 'UTF-8');
|
||||
|
||||
//PHP proxy classes
|
||||
require_once 'PaymorrowServiceClasses.inc.php';
|
||||
|
||||
//require for send the HTTP request to Server
|
||||
require_once 'communication.php';
|
||||
|
||||
// Util Functions for handling Paymorrow request/response.
|
||||
require_once 'UtilFunctions.php';
|
||||
|
||||
// Functions for final normalize of xml string (remove invalid characters)
|
||||
require_once 'NormalizeXML.php';
|
||||
|
||||
/**
|
||||
* This method takes the Paymorrow Order Request object and Authorization Key
|
||||
* and sends it to Paymorrow Server as soap message.
|
||||
* URL and Protocol needs to adjust according to envoirnment.
|
||||
**/
|
||||
function sendRequestToPaymorrow($paymorrowOrderRequest, $authorizationKey) {
|
||||
global $soapBody;
|
||||
|
||||
$soapBodyEle = $soapBody->createElement("S:Body");
|
||||
$soapBody->appendChild($soapBodyEle);
|
||||
$paymorrowEle = $soapBody->createElement("paymorrow");
|
||||
$soapBodyEle->appendChild($paymorrowEle);
|
||||
|
||||
$orderRequestEle = appendIfNotNull("notempty",'paymorrowOrderRequest',null,$paymorrowEle, "1",false);
|
||||
$merchantIdEle = appendIfNotNull($paymorrowOrderRequest->requestMerchantId, "requestMerchantId", $paymorrowOrderRequest->requestMerchantId,$orderRequestEle, "1", false);
|
||||
$requestIdEle = appendIfNotNull($paymorrowOrderRequest->requestId, "requestId", $paymorrowOrderRequest->requestId,$orderRequestEle, "1", false);
|
||||
$requestTimestampEle = appendIfNotNull($paymorrowOrderRequest->requestTimestamp,"requestTimestamp",$paymorrowOrderRequest->requestTimestamp,$orderRequestEle, "1", false);
|
||||
$requestLanguageCodeEle = appendIfNotNull($paymorrowOrderRequest->requestLanguageCode,"requestLanguageCode",$paymorrowOrderRequest->requestLanguageCode,$orderRequestEle, "1", false);
|
||||
|
||||
$orderEle = appendIfNotNull($paymorrowOrderRequest->order,"order",$paymorrowOrderRequest->order,$orderRequestEle, "0", false);
|
||||
$orderIdEle = appendIfNotNull($paymorrowOrderRequest->order->orderId,"orderId",$paymorrowOrderRequest->order->orderId,$orderEle, "1", false);
|
||||
$orderTimestampEle = appendIfNotNull($paymorrowOrderRequest->order->orderTimestamp,"orderTimestamp",$paymorrowOrderRequest->order->orderTimestamp,$orderEle, "1", false);
|
||||
$orderShoppingDurationEle = appendIfNotNull($paymorrowOrderRequest->order->orderShoppingDuration,"orderShoppingDuration",$paymorrowOrderRequest->order->orderShoppingDuration,$orderEle, "1", false);
|
||||
$orderCheckoutDurationEle = appendIfNotNull($paymorrowOrderRequest->order->orderCheckoutDuration,"orderCheckoutDuration",$paymorrowOrderRequest->order->orderCheckoutDuration,$orderEle, "1", false);
|
||||
|
||||
|
||||
$orderCustomerEle = appendIfNotNull($paymorrowOrderRequest->order->orderCustomer,"orderCustomer",$paymorrowOrderRequest->order->orderCustomer,$orderEle, "0", false);
|
||||
$customerTypeEle = appendIfNotNull($paymorrowOrderRequest->order->orderCustomer->orderCustomerType,"orderCustomerType",$paymorrowOrderRequest->order->orderCustomer->orderCustomerType,$orderCustomerEle, "1", true);
|
||||
|
||||
$orderCustomerIdEle = appendIfNotNull($paymorrowOrderRequest->order->orderCustomer->customerId,"customerId",$paymorrowOrderRequest->order->orderCustomer->customerId,$orderCustomerEle, "1", false);
|
||||
$customerGroupIdEle = appendIfNotNull($paymorrowOrderRequest->order->orderCustomer->customerGroupId,"customerGroupId",$paymorrowOrderRequest->order->orderCustomer->customerGroupId,$orderCustomerEle, "1", false);
|
||||
$customerPreferredLanguageEle = appendIfNotNull($paymorrowOrderRequest->order->orderCustomer->customerPreferredLanguage,"customerPreferredLanguage",$paymorrowOrderRequest->order->orderCustomer->customerPreferredLanguage,$orderCustomerEle, "1", false);
|
||||
$customerIPAddressEle = appendIfNotNull($paymorrowOrderRequest->order->orderCustomer->customerIPAddress,"customerIPAddress",$paymorrowOrderRequest->order->orderCustomer->customerIPAddress,$orderCustomerEle, "1", false);
|
||||
|
||||
|
||||
$customerPersonalDetails = $paymorrowOrderRequest->order->orderCustomer->customerPersonalDetails;
|
||||
$customerPersonalDetailsEle = appendIfNotNull($customerPersonalDetails,"customerPersonalDetails",$customerPersonalDetails,$orderCustomerEle, "0", false);
|
||||
appendIfNotNull($customerPersonalDetails->customerSalutation,"customerSalutation",$customerPersonalDetails->customerSalutation,$customerPersonalDetailsEle, "1", false);
|
||||
appendIfNotNull($customerPersonalDetails->customerNamePrefix,"customerNamePrefix",$customerPersonalDetails->customerNamePrefix,$customerPersonalDetailsEle, "1", false);
|
||||
appendIfNotNull($customerPersonalDetails->customerGivenName,"customerGivenName",$customerPersonalDetails->customerGivenName,$customerPersonalDetailsEle, "1", false);
|
||||
appendIfNotNull($customerPersonalDetails->customerMiddleName,"customerMiddleName",$customerPersonalDetails->customerMiddleName,$customerPersonalDetailsEle, "1", false);
|
||||
appendIfNotNull($customerPersonalDetails->customerSurname,"customerSurname",$customerPersonalDetails->customerSurname,$customerPersonalDetailsEle, "1", false);
|
||||
appendIfNotNull($customerPersonalDetails->customerNameSuffix,"customerNameSuffix",$customerPersonalDetails->customerNameSuffix,$customerPersonalDetailsEle, "1", false);
|
||||
appendIfNotNull($customerPersonalDetails->customerOrganizationName,"customerOrganizationName",$customerPersonalDetails->customerOrganizationName,$customerPersonalDetailsEle, "1", false);
|
||||
appendIfNotNull($customerPersonalDetails->customerPhoneNo,"customerPhoneNo",$customerPersonalDetails->customerPhoneNo,$customerPersonalDetailsEle, "1", false);
|
||||
appendIfNotNull($customerPersonalDetails->customerFaxNo,"customerFaxNo",$customerPersonalDetails->customerFaxNo,$customerPersonalDetailsEle, "1", false);
|
||||
appendIfNotNull($customerPersonalDetails->customerMobileNo,"customerMobileNo",$customerPersonalDetails->customerMobileNo,$customerPersonalDetailsEle, "1", false);
|
||||
appendIfNotNull($customerPersonalDetails->customerEmail,"customerEmail",$customerPersonalDetails->customerEmail,$customerPersonalDetailsEle, "1", false);
|
||||
appendIfNotNull($customerPersonalDetails->customerGender,"customerGender",$customerPersonalDetails->customerGender,$customerPersonalDetailsEle, "1",false);
|
||||
appendIfNotNull($customerPersonalDetails->customerDateOfBirth,"customerDateOfBirth",$customerPersonalDetails->customerDateOfBirth,$customerPersonalDetailsEle, "1", false);
|
||||
|
||||
|
||||
$orderCustomerAddress = $paymorrowOrderRequest->order->orderCustomer->customerAddress;
|
||||
$orderCustomerAddressEle = appendIfNotNull($orderCustomerAddress,"customerAddress",$orderCustomerAddress,$orderCustomerEle, "0", false);
|
||||
|
||||
appendIfNotNull($orderCustomerAddress->addressContact,"addressContact",$orderCustomerAddress->addressContact,$orderCustomerAddressEle, "1", false);
|
||||
appendIfNotNull($orderCustomerAddress->addressOrganizationName,"addressOrganizationName",$orderCustomerAddress->addressOrganizationName,$orderCustomerAddressEle, "1", false);
|
||||
appendIfNotNull($orderCustomerAddress->addressDepartment,"addressDepartment",$orderCustomerAddress->addressDepartment,$orderCustomerAddressEle, "1", false);
|
||||
appendIfNotNull($orderCustomerAddress->addressBuilding,"addressBuilding",$orderCustomerAddress->addressBuilding,$orderCustomerAddressEle, "1", false);
|
||||
|
||||
appendIfNotNull($orderCustomerAddress->addressStreet,"addressStreet",$orderCustomerAddress->addressStreet,$orderCustomerAddressEle, "1", false);
|
||||
appendIfNotNull($orderCustomerAddress->addressHouseNo,"addressHouseNo",$orderCustomerAddress->addressHouseNo,$orderCustomerAddressEle, "1", false);
|
||||
appendIfNotNull($orderCustomerAddress->addressPostalCode,"addressPostalCode",$orderCustomerAddress->addressPostalCode,$orderCustomerAddressEle, "1", false);
|
||||
appendIfNotNull($orderCustomerAddress->addressLocality,"addressLocality",$orderCustomerAddress->addressLocality,$orderCustomerAddressEle, "1", false);
|
||||
appendIfNotNull($orderCustomerAddress->addressProvince,"addressProvince",$orderCustomerAddress->addressProvince,$orderCustomerAddressEle, "1", false);
|
||||
appendIfNotNull($orderCustomerAddress->addressCountryCode,"addressCountryCode",$orderCustomerAddress->addressCountryCode,$orderCustomerAddressEle, "1", false);
|
||||
|
||||
//Set Customer History
|
||||
$customerHistory = $paymorrowOrderRequest->order->orderCustomer->customerHistory;
|
||||
|
||||
if($customerHistory != null) {
|
||||
$customerHistoryEle = appendIfNotNull($customerHistory,"customerHistory",$customerHistory,$orderCustomerEle, "0", false);
|
||||
appendIfNotNull($customerHistory->customerSince,"customerSince",$customerHistory->customerSince,$customerHistoryEle, "1", false);
|
||||
|
||||
$customerOrderType =$customerHistory->customerOrders;
|
||||
if($customerOrderType != null ) {
|
||||
$customerOrderTypeEle = appendIfNotNull($customerOrderType,"customerOrders",$customerOrderType,$customerHistoryEle, "0", false);
|
||||
$customerFirstOrder = $customerOrderType->customerFirstOrder;
|
||||
if($customerFirstOrder != null) {
|
||||
$customerFirstOrderEle = appendIfNotNull($customerFirstOrder,"customerFirstOrder",$customerFirstOrder,$customerOrderTypeEle, "0", false);
|
||||
appendIfNotNull($customerFirstOrder->orderDate,"orderDate",$customerFirstOrder->orderDate,$customerFirstOrderEle, "1", false);
|
||||
appendIfNotNull($customerFirstOrder->orderTotalAmount,"orderTotalAmount",$customerFirstOrder->orderTotalAmount,$customerFirstOrderEle, "1", false);
|
||||
appendIfNotNull($customerFirstOrder->orderPaidAmount,"orderPaidAmount",$customerFirstOrder->orderPaidAmount,$customerFirstOrderEle, "1", false);
|
||||
appendIfNotNull($customerFirstOrder->orderPaymentMethod,"orderPaymentMethod",$customerFirstOrder->orderPaymentMethod,$customerFirstOrderEle, "1", false);
|
||||
appendIfNotNull($customerFirstOrder->orderPaymentStatus,"orderPaymentStatus",$customerFirstOrder->orderPaymentStatus,$customerFirstOrderEle, "1", false);
|
||||
}
|
||||
|
||||
$customerLastOrder = $customerOrderType->customerLastOrder;
|
||||
if($customerLastOrder != null) {
|
||||
$customerLastOrderEle = appendIfNotNull($customerLastOrder,"customerLastOrder",$customerLastOrder,$customerOrderTypeEle, "0", false);
|
||||
appendIfNotNull($customerLastOrder->orderDate,"orderDate",$customerLastOrder->orderDate,$customerLastOrderEle, "1", false);
|
||||
appendIfNotNull($customerLastOrder->orderTotalAmount,"orderTotalAmount",$customerLastOrder->orderTotalAmount,$customerLastOrderEle, "1", false);
|
||||
appendIfNotNull($customerLastOrder->orderPaidAmount,"orderPaidAmount",$customerLastOrder->orderPaidAmount,$customerLastOrderEle, "1", false);
|
||||
appendIfNotNull($customerLastOrder->orderPaymentMethod,"orderPaymentMethod",$customerLastOrder->orderPaymentMethod,$customerLastOrderEle, "1", false);
|
||||
appendIfNotNull($customerLastOrder->orderPaymentStatus,"orderPaymentStatus",$customerLastOrder->orderPaymentStatus,$customerLastOrderEle, "1", false);
|
||||
}
|
||||
|
||||
$customerOrdersLast7Days = $customerOrderType->customerOrdersLast7Days;
|
||||
if($customerOrdersLast7Days != null) {
|
||||
$customerOrdersLast7DaysEle = appendIfNotNull($customerOrdersLast7Days,"customerOrdersLast7Days",$customerOrdersLast7Days,$customerOrderTypeEle, "0", false);
|
||||
appendIfNotNull($customerOrdersLast7Days->totalNoOfCustomerOrders,"totalNoOfCustomerOrders",$customerOrdersLast7Days->totalNoOfCustomerOrders,$customerOrdersLast7DaysEle, "1", false);
|
||||
appendIfNotNull($customerOrdersLast7Days->totalAmountOfCustomerOrders,"totalAmountOfCustomerOrders",$customerOrdersLast7Days->totalAmountOfCustomerOrders,$customerOrdersLast7DaysEle, "1", false);
|
||||
appendIfNotNull($customerOrdersLast7Days->totalAmountOfCustomerOrdersPaid,"totalAmountOfCustomerOrdersPaid",$customerOrdersLast7Days->totalAmountOfCustomerOrdersPaid,$customerOrdersLast7DaysEle, "1", false);
|
||||
}
|
||||
|
||||
$customerOrdersLast30Days = $customerOrderType->customerOrdersLast30Days;
|
||||
if($customerOrdersLast30Days != null) {
|
||||
$customerOrdersLast30DaysEle = appendIfNotNull($customerOrdersLast30Days,"customerOrdersLast30Days",$customerOrdersLast30Days,$customerOrderTypeEle, "0", false);
|
||||
appendIfNotNull($customerOrdersLast30Days->totalNoOfCustomerOrders,"totalNoOfCustomerOrders",$customerOrdersLast30Days->totalNoOfCustomerOrders,$customerOrdersLast30DaysEle, "1", false);
|
||||
appendIfNotNull($customerOrdersLast30Days->totalAmountOfCustomerOrders,"totalAmountOfCustomerOrders",$customerOrdersLast30Days->totalAmountOfCustomerOrders,$customerOrdersLast30DaysEle, "1", false);
|
||||
appendIfNotNull($customerOrdersLast30Days->totalAmountOfCustomerOrdersPaid,"totalAmountOfCustomerOrdersPaid",$customerOrdersLast30Days->totalAmountOfCustomerOrdersPaid,$customerOrdersLast30DaysEle, "1", false);
|
||||
}
|
||||
|
||||
$customerOrdersLast180Days = $customerOrderType->customerOrdersLast180Days;
|
||||
if($customerOrdersLast180Days != null) {
|
||||
$customerOrdersLast180DaysEle = appendIfNotNull($customerOrdersLast180Days,"customerOrdersLast180Days",$customerOrdersLast180Days,$customerOrderTypeEle, "0", false);
|
||||
appendIfNotNull($customerOrdersLast180Days->totalNoOfCustomerOrders,"totalNoOfCustomerOrders",$customerOrdersLast180Days->totalNoOfCustomerOrders,$customerOrdersLast180DaysEle, "1", false);
|
||||
appendIfNotNull($customerOrdersLast180Days->totalAmountOfCustomerOrders,"totalAmountOfCustomerOrders",$customerOrdersLast180Days->totalAmountOfCustomerOrders,$customerOrdersLast180DaysEle, "1", false);
|
||||
appendIfNotNull($customerOrdersLast180Days->totalAmountOfCustomerOrdersPaid,"totalAmountOfCustomerOrdersPaid",$customerOrdersLast180Days->totalAmountOfCustomerOrdersPaid,$customerOrdersLast180DaysEle, "1", false);
|
||||
}
|
||||
|
||||
$customerOrdersForEver = $customerOrderType->customerOrdersEver;
|
||||
if($customerOrdersForEver != null) {
|
||||
$customerOrdersForEverEle = appendIfNotNull($customerOrdersForEver,"customerOrdersEver",$customerOrdersForEver,$customerOrderTypeEle, "0", false);
|
||||
appendIfNotNull($customerOrdersForEver->totalNoOfCustomerOrders,"totalNoOfCustomerOrders",$customerOrdersForEver->totalNoOfCustomerOrders,$customerOrdersForEverEle, "1", false);
|
||||
appendIfNotNull($customerOrdersForEver->totalAmountOfCustomerOrders,"totalAmountOfCustomerOrders",$customerOrdersForEver->totalAmountOfCustomerOrders,$customerOrdersForEverEle, "1", false);
|
||||
appendIfNotNull($customerOrdersForEver->totalAmountOfCustomerOrdersPaid,"totalAmountOfCustomerOrdersPaid",$customerOrdersForEver->totalAmountOfCustomerOrdersPaid,$customerOrdersForEverEle, "1", false);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
// History Ends
|
||||
|
||||
$addressShipmentType = $paymorrowOrderRequest->order->orderShippingAddress;
|
||||
$addressShipmentTypeEle = appendIfNotNull($addressShipmentType,"orderShippingAddress",$addressShipmentType,$orderEle, "0",false);
|
||||
appendIfNotNull($addressShipmentType->addressContact,"addressContact",$addressShipmentType->addressContact,$addressShipmentTypeEle, "1", false);
|
||||
appendIfNotNull($addressShipmentType->addressOrganizationName,"addressOrganizationName",$addressShipmentType->addressOrganizationName,$addressShipmentTypeEle, "1", false);
|
||||
appendIfNotNull($addressShipmentType->addressDepartment,"addressDepartment",$addressShipmentType->addressDepartment,$addressShipmentTypeEle, "1", false);
|
||||
appendIfNotNull($addressShipmentType->addressBuilding,"addressBuilding",$addressShipmentType->addressBuilding,$addressShipmentTypeEle, "1", false);
|
||||
appendIfNotNull($addressShipmentType->addressStreet,"addressStreet",$addressShipmentType->addressStreet,$addressShipmentTypeEle, "1", false);
|
||||
appendIfNotNull($addressShipmentType->addressHouseNo,"addressHouseNo",$addressShipmentType->addressHouseNo,$addressShipmentTypeEle, "1", false);
|
||||
appendIfNotNull($addressShipmentType->addressPostalCode,"addressPostalCode",$addressShipmentType->addressPostalCode,$addressShipmentTypeEle, "1", false);
|
||||
appendIfNotNull($addressShipmentType->addressLocality,"addressLocality",$addressShipmentType->addressLocality,$addressShipmentTypeEle, "1", false);
|
||||
appendIfNotNull($addressShipmentType->addressProvince,"addressProvince",$addressShipmentType->addressProvince,$addressShipmentTypeEle, "1", false);
|
||||
appendIfNotNull($addressShipmentType->addressCountryCode,"addressCountryCode",$addressShipmentType->addressCountryCode,$addressShipmentTypeEle, "1", false);
|
||||
|
||||
$orderShipmentDetails = $paymorrowOrderRequest->order->orderShipmentDetails;
|
||||
$orderShipmentDetailsEle = appendIfNotNull($orderShipmentDetails,"orderShipmentDetails",$orderShipmentDetails,$orderEle, "0", false);
|
||||
appendIfNotNull($orderShipmentDetails->shipmentProvider,"shipmentProvider",$orderShipmentDetails->shipmentProvider,$orderShipmentDetailsEle, "1", false);
|
||||
appendIfNotNull($orderShipmentDetails->shipmentMethod,"shipmentMethod",$orderShipmentDetails->shipmentMethod,$orderShipmentDetailsEle, "1", false);
|
||||
|
||||
$order = $paymorrowOrderRequest->order;
|
||||
appendIfNotNull($order->orderExpectedDeliveryDate,"orderExpectedDeliveryDate",$order->orderExpectedDeliveryDate,$orderEle, "1", false);
|
||||
appendIfNotNull($order->orderAmountNet,"orderAmountNet",$order->orderAmountNet,$orderEle, "1", false);
|
||||
|
||||
$orderAmountVAT = $order->orderAmountVAT;
|
||||
$orderAmountVATEle = appendIfNotNull($orderAmountVAT,"orderAmountVAT",$orderAmountVAT,$orderEle, "0", false);
|
||||
|
||||
$orderVATAmountsArray = $orderAmountVAT->orderVatRate;
|
||||
// Loop and Get data
|
||||
foreach ($orderVATAmountsArray as $orderVatRates) {
|
||||
$orderVatRatesEle = appendIfNotNull($orderVatRates,"orderVatRate",$orderVatRates,$orderAmountVATEle, "0", false);
|
||||
appendIfNotNull($orderVatRates->vatRate,"vatRate",$orderVatRates->vatRate,$orderVatRatesEle, "1", true);
|
||||
appendIfNotNull($orderVatRates->orderVatAmount,"orderVatAmount",$orderVatRates->orderVatAmount,$orderVatRatesEle, "1", false);
|
||||
}
|
||||
|
||||
appendIfNotNull($order->orderAmountVATTotal,"orderAmountVATTotal",$order->orderAmountVATTotal,$orderEle, "1", false);
|
||||
appendIfNotNull($order->orderAmountGross,"orderAmountGross",$order->orderAmountGross,$orderEle, "1", false);
|
||||
appendIfNotNull($order->orderCurrencyCode,"orderCurrencyCode",$order->orderCurrencyCode,$orderEle, "1", false);
|
||||
|
||||
$orderItemsArray = $order->orderItems;
|
||||
$orderItemsEle = appendIfNotNull($orderItemsArray,"orderItems",$orderItemsArray,$orderEle, "0", false);
|
||||
|
||||
|
||||
foreach ($orderItemsArray as $orderItem) {
|
||||
$orderItemEle = appendIfNotNull($orderItem,"orderItem",$orderItem,$orderItemsEle, "0", false);
|
||||
appendIfNotNull($orderItem->itemId,"itemId",$orderItem->itemId,$orderItemEle, "1", false);
|
||||
appendIfNotNull($orderItem->itemQuantity,"itemQuantity",$orderItem->itemQuantity,$orderItemEle, "1", false);
|
||||
appendIfNotNull($orderItem->itemUOM,"itemUOM",$orderItem->itemUOM,$orderItemEle, "1", false);
|
||||
appendIfNotNull($orderItem->itemArticleId,"itemArticleId",$orderItem->itemArticleId,$orderItemEle, "1", false);
|
||||
appendIfNotNull($orderItem->itemDescription,"itemDescription",$orderItem->itemDescription,$orderItemEle, "1", false);
|
||||
appendIfNotNull($orderItem->itemCategory,"itemCategory",$orderItem->itemCategory,$orderItemEle, "1", false);
|
||||
appendIfNotNull($orderItem->itemUnitPrice,"itemUnitPrice",$orderItem->itemUnitPrice,$orderItemEle, "1", false);
|
||||
appendIfNotNull($orderItem->itemCurrencyCode,"itemCurrencyCode",$orderItem->itemCurrencyCode,$orderItemEle, "1", false);
|
||||
appendIfNotNull($orderItem->itemVatRate,"itemVatRate",$orderItem->itemVatRate,$orderItemEle, "1", false);
|
||||
appendIfNotNull($orderItem->itemExtendedAmount,"itemExtendedAmount",$orderItem->itemExtendedAmount,$orderItemEle, "1", false);
|
||||
|
||||
$amtVatInc = "" ;
|
||||
|
||||
if($orderItem->itemAmountInclusiveVAT == 1){
|
||||
$amtVatInc = "true";
|
||||
} else {
|
||||
$amtVatInc = "false";
|
||||
}
|
||||
appendIfNotNull($orderItem->itemAmountInclusiveVAT,"itemAmountInclusiveVAT",$amtVatInc,$orderItemEle, "1", false);
|
||||
appendIfNotNull($orderItem->itemComments,"itemComments",$orderItem->itemComments,$orderItemEle, "1", false);
|
||||
}
|
||||
|
||||
$requestMerchantUrls = $paymorrowOrderRequest->requestMerchantUrls;
|
||||
$requestMerchantUrlsEle = appendIfNotNull($requestMerchantUrls,"requestMerchantUrls",$requestMerchantUrls,$orderRequestEle, "0", false);
|
||||
appendIfNotNull($requestMerchantUrls->merchantSuccessUrl,"merchantSuccessUrl",$requestMerchantUrls->merchantSuccessUrl,$requestMerchantUrlsEle, "1", false);
|
||||
appendIfNotNull($requestMerchantUrls->merchantErrorUrl,"merchantErrorUrl",$requestMerchantUrls->merchantErrorUrl,$requestMerchantUrlsEle, "1", false);
|
||||
appendIfNotNull($requestMerchantUrls->merchantPaymentMethodChangeUrl,"merchantPaymentMethodChangeUrl",$requestMerchantUrls->merchantPaymentMethodChangeUrl,$requestMerchantUrlsEle, "1", false);
|
||||
appendIfNotNull($requestMerchantUrls->merchantNotificationUrl,"merchantNotificationUrl",$requestMerchantUrls->merchantNotificationUrl,$requestMerchantUrlsEle, "1", false);
|
||||
|
||||
//--------------------
|
||||
// Make SOAP Message
|
||||
// invoke web service
|
||||
//--------------------
|
||||
$soapEnvStart = "<?xml version=\"1.0\"?><S:Envelope xmlns:S=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">";
|
||||
$soapEnvEnd = "</S:Envelope>";
|
||||
|
||||
$soapBody->normalize();
|
||||
$body = $soapBody->saveXML();
|
||||
|
||||
$body = $body."";
|
||||
|
||||
$body = substr($body, strpos($body, '"?>')+3);
|
||||
$body = str_replace("<paymorrowOrderRequest>", "<ns2:paymorrowOrderRequest>", $body);
|
||||
$body = str_replace("</paymorrowOrderRequest>", "</ns2:paymorrowOrderRequest>", $body);
|
||||
$body = str_replace("<paymorrow>", "<ns2:paymorrow xmlns:ns2=\"http://paymorrow.com/integration/paymorrowservice\">", $body);
|
||||
$body = str_replace("</paymorrow>", "</ns2:paymorrow>", $body);
|
||||
|
||||
$pos1 = strpos($body, '<ns2:paymorrow');
|
||||
$tempreqBody = substr($body, $pos1);
|
||||
$pos1 = strpos($tempreqBody, '</ns2:paymorrow>');
|
||||
$tempreqBody = substr($tempreqBody, 0, $pos1 + strlen('</ns2:paymorrow>'));
|
||||
|
||||
// removes invalid characters from xml
|
||||
$tempreqBody = normalizeXML($tempreqBody);
|
||||
|
||||
$messageSignature = sha1($tempreqBody . $authorizationKey); // create Data signature for soap Header.
|
||||
|
||||
$soapHeader = "<S:Header><S:messageSignature S:mustUnderstand=\"0\">".$messageSignature."</S:messageSignature></S:Header>";
|
||||
|
||||
// Complete request
|
||||
$reqBody = $soapEnvStart . $soapHeader . $body . $soapEnvEnd;
|
||||
|
||||
$res = sendHTTP($reqBody);
|
||||
|
||||
if($res == "") {
|
||||
return null;
|
||||
}
|
||||
|
||||
return preparePaymorrowResponse($res);
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
Reference in New Issue
Block a user