/** * Tests the hash calculation for an auth payment. */ public function testVerifySigHashGeneration() { $card = new Card(); $request = new ThreeDSecureRequest(); $request->addType(ThreeDSecureType::VERIFY_SIG)->addTimeStamp(SampleXmlValidationUtils::TIMESTAMP)->addMerchantId(SampleXmlValidationUtils::MERCHANT_ID)->addOrderId(SampleXmlValidationUtils::ORDER_ID)->addAmount(SampleXmlValidationUtils::AMOUNT)->addCurrency(SampleXmlValidationUtils::CURRENCY)->addCard($card->addNumber(SampleXmlValidationUtils::CARD_NUMBER)); $request->hash(SampleXmlValidationUtils::SECRET); $this->assertEquals(SampleXmlValidationUtils::REQUEST_HASH, $request->getHash()); }
private function denormaliseCard(\ArrayAccess $array) { $cardData = $array['card']; if (is_null($cardData)) { return null; } $data = new SafeArrayAccess($cardData); $card = new Card(); $card->addNumber($data['number'])->addExpiryDate($data['expdate'])->addCardHolderName($data['chname'])->addType($data['type'])->addIssueNumber($data['issueno']); $cvn = $this->denormaliseCVN($data); $card->setCvn($cvn); return $card; }
/** * Denormalizes data back into an object of the given class. * * @param mixed $data data to restore * @param string $class the expected class to instantiate * @param string $format format the given data was extracted from * @param array $context options available to the denormalizer * * @return object */ public function denormalize($data, $class, $format = null, array $context = array()) { if (is_null($data)) { return null; } $this->format = $format; $this->context = $context; $data = new SafeArrayAccess($data); $card = new Card(); $card->addNumber($data['number'])->addExpiryDate($data['expdate'])->addCardHolderName($data['chname'])->addType($data['type'])->addIssueNumber($data['issueno'])->addReference($data['ref'])->addPayerReference($data['payerref']); $cvn = $this->denormaliseCVN($data); $card->setCvn($cvn); return $card; }
/** * Tests the hash calculation for a card-update transaction. */ public function testDccAuthHashGeneration() { $card = new Card(); $card->addNumber(SampleXmlValidationUtils::DCC_AUTH_CARD_NUMBER)->addExpiryDate(SampleXmlValidationUtils::DCC_AUTH_CARD_EXPIRY_DATE)->addCardHolderName(SampleXmlValidationUtils::DCC_AUTH_CARD_HOLDER_NAME)->addType(SampleXmlValidationUtils::DCC_AUTH_CARD_TYPE); // add dccinfo. Note that the type is not set as it is already defaulted to 1 $dccInfo = new DccInfo(); $dccInfo->addDccProcessor(SampleXmlValidationUtils::DCC_AUTH_CCP); $request = new PaymentRequest(); $request->addTimeStamp(SampleXmlValidationUtils::DCC_AUTH_TIMESTAMP)->addMerchantId(SampleXmlValidationUtils::DCC_AUTH_MERCHANT_ID)->addAmount(SampleXmlValidationUtils::DCC_AUTH_AMOUNT)->addCurrency(SampleXmlValidationUtils::DCC_AUTH_CURRENCY)->addOrderId(SampleXmlValidationUtils::DCC_AUTH_ORDER_ID)->addCard($card)->addDccInfo($dccInfo); $request->hash(SampleXmlValidationUtils::SECRET); $this->assertEquals(SampleXmlValidationUtils::DCC_AUTH_REQUEST_HASH, $request->getHash()); }