1: <?php
2: /**
3: * Partner API Library
4: *
5: * @copyright Copyright (c) 2020 Asseco Data Systems SA
6: * @license license.txt
7: */
8:
9: require_once 'operation.php';
10: require_once 'certumPartnerAPI/messages/messageVerifyOrder.php';
11: require_once 'certumPartnerAPI/messages/messageVerifyOrderResponse.php';
12:
13: /*
14: <operation name="verifyOrder" parameterOrder="verifyOrder">
15: <input message="tns:PartnerServicePortType_verifyOrder">
16: </input>
17: <output message="tns:PartnerServicePortType_verifyOrderResponse">
18: </output>
19: </operation>
20: */
21:
22: /**
23: * This class represents the verifyOrder WSDL operation.
24: *
25: * It is based on the PartnerAPIOperation class and derives some properties and methods from that class.
26: *
27: * @method PartnerAPIMessageVerifyOrderResponse getResponseMessage() A complete response from a service
28: *
29: * @package operations
30: */
31: class PartnerAPIOperationVerifyOrder extends PartnerAPIOperation {
32:
33: /**
34: * @var PartnerAPIMessageVerifyOrder
35: */
36: protected $_input = NULL;
37:
38: /**
39: * @var PartnerAPIMessageVerifyOrderResponse
40: */
41: protected $_output = NULL;
42:
43: /**
44: * @var string
45: */
46: protected $_operation = 'verifyOrder';
47:
48: /**
49: * The constructor.
50: *
51: * It initializes input and output data.
52: */
53: public function __construct() {
54: $this->_input = new PartnerAPIMessageVerifyOrder();
55: $this->_output = new PartnerAPIMessageVerifyOrderResponse();
56: }
57:
58: /**
59: * Sets an order ID for the request.
60: *
61: * It is required to set this parameter.
62: *
63: * @param string $orderID
64: * @return PartnerAPIOperationVerifyOrder
65: */
66: public function setOrderID($orderID) {
67: $this->_input->verifyOrder->verifyOrderParameters->setOrderID($orderID);
68: return $this;
69: }
70:
71: /**
72: * Sets a note for the request.
73: *
74: * It is required to set this parameter.
75: *
76: * @param string $note
77: * @return PartnerAPIOperationVerifyOrder
78: */
79: public function setNote($note) {
80: $this->_input->verifyOrder->verifyOrderParameters->setNote($note);
81: return $this;
82: }
83:
84: /**
85: * Adds a document to the request.
86: *
87: * Adding a document is optional.
88: * When adding, the third parameter $files have to be an associative
89: * array where keys are file names and values are file contents.
90: * array('fileName' => 'fileContents')
91: *
92: * @param string $type
93: * @param string $description
94: * @param array $files An array of file names and file contents
95: * @return PartnerAPIOperationVerifyOrder
96: */
97: public function addDocument($type, $description, $files) {
98: $docs = $this->_input->verifyOrder->verifyOrderParameters->documents;
99: if (is_null($docs)) {
100: $docs = new PartnerAPITypeDocuments();
101: $this->_input->verifyOrder->verifyOrderParameters->setDocuments($docs);
102: }
103: $doc = new PartnerAPITypeDocument();
104: $doc->setType($type)->setDescription($description);
105: foreach ($files as $fileName => $fileContents) {
106: $file = new PartnerAPITypeFile();
107: $file->setFileName($fileName)->setContent($fileContents);
108: $doc->files->addFile($file);
109: }
110: $docs->addDocument($doc);
111: return $this;
112: }
113: }
114: