コード例 #1
0
 public function testCreditCardDataConstruction()
 {
     $card = new CreditCardData();
     $card->creditCardNumber = '4231231';
     $card->setExpirationDate('2014-10');
     $card->cardHolderName = 'John Doe';
     $card->secureCode = '123';
     $this->assertSame('4231231', $card->creditCardNumber);
     $this->assertSame('2014', $card->expirationYear);
     $this->assertSame('10', $card->expirationMonth);
     $this->assertSame('John Doe', $card->cardHolderName);
     $this->assertSame('123', $card->secureCode);
 }
コード例 #2
0
 /**
  * @param \DOMDocument $document
  *
  * @return \DOMElement
  */
 public function getXML(\DOMDocument $document)
 {
     $xml = $document->createElement('ns2:DataStorageItem');
     $ccData = $this->creditCardData->getXML($document);
     $dataId = $document->createElement('ns2:HostedDataID');
     $dataId->textContent = $this->hostedDataId;
     if ($this->function != null) {
         $function = $document->createElement('ns2:Function');
         $function->textContent = $this->function;
         $xml->appendChild($function);
     }
     if ($this->declineHostedDataDuplicates != null) {
         $declineDuplicates = $document->createElement('ns2:DeclineHostedDataDuplicates');
         $declineDuplicates->textContent = $this->declineHostedDataDuplicates;
         $xml->appendChild($declineDuplicates);
     }
     $xml->appendChild($ccData);
     $xml->appendChild($dataId);
     return $xml;
 }
コード例 #3
0
 /**
  * @param string $ccNumber
  * @param string $validMonth
  * @param string $validYear
  *
  * @dataProvider dataProvider
  */
 public function testXMLGeneration($ccNumber, $validMonth, $validYear)
 {
     $ccData = new CreditCardData($ccNumber, $validMonth, $validYear);
     $document = new \DOMDocument('1.0', 'UTF-8');
     $xml = $ccData->getXML($document);
     $document->appendChild($xml);
     $elementCCData = $document->getElementsByTagName('ns2:CreditCardData');
     $this->assertEquals(1, $elementCCData->length, 'Expected element CreditCardData not found');
     $children = [];
     /** @var \DOMNode $child */
     foreach ($elementCCData->item(0)->childNodes as $child) {
         $children[$child->nodeName] = $child->nodeValue;
     }
     if ($ccNumber !== null) {
         $this->assertArrayHasKey('ns1:CardNumber', $children, 'Expected element CardNumber not found');
         $this->assertEquals($ccNumber, $children['ns1:CardNumber'], 'Card number did not match');
     } else {
         $this->assertArrayNotHasKey('ns1:CardNumber', $children, 'Unexpected element CardNumber was found');
     }
     $this->assertArrayHasKey('ns1:ExpMonth', $children, 'Expected element ExpMonth not found');
     $this->assertEquals($validMonth, $children['ns1:ExpMonth'], 'Valid month did not match');
     $this->assertArrayHasKey('ns1:ExpYear', $children, 'Expected element ExpYear not found');
     $this->assertEquals($validYear, $children['ns1:ExpYear'], 'Valid year did not match');
 }