コード例 #1
0
 /**
  * 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())
 {
     $request = new PaymentRequest();
     $array = new SafeArrayAccess($data);
     $request->addTimestamp($array['@timestamp'])->addType($array['@type'])->addMerchantId($array['merchantid'])->addAccount($array['account'])->addChannel($array['channel'])->addOrderId($array['orderid'])->addHash($array['sha1hash'])->addPaymentsReference($array['pasref'])->addAuthCode($array['authcode'])->addRefundHash($array['refundhash'])->addFraudFilter($array['fraudfilter'])->addMobile($array['mobile'])->addToken($array['token']);
     $autoSettle = $this->denormaliseAutoSettle($array);
     if ($autoSettle != null) {
         $request->addAutoSettle($autoSettle);
     }
     $card = $this->denormaliseCard($array);
     if ($card != null) {
         $request->addCard($card);
     }
     $recurring = $this->denormaliseRecurring($array);
     if ($recurring != null) {
         $request->addRecurring($recurring);
     }
     $tssInfo = $this->denormaliseTssInfo($array);
     if ($tssInfo != null) {
         $request->addTssInfo($tssInfo);
     }
     $mpi = $this->denormaliseMpi($array);
     if ($mpi != null) {
         $request->addMpi($mpi);
     }
     $request->setAmount($this->denormaliseAmount($array));
     $request->setComments($this->denormaliseComments($array));
     return $request;
 }
コード例 #2
0
 /**
  * Tests conversion of {@link PaymentRequest} to and from XML using setters for DCCInfo.
  */
 public function testPaymentRequestXmlDCCInfoFluentSetters()
 {
     $request = new PaymentRequest();
     $request->addAccount(SampleXmlValidationUtils::DCC_RATE_ACCOUNT)->addMerchantId(SampleXmlValidationUtils::DCC_RATE_MERCHANT_ID)->addType(PaymentType::DCC_RATE_LOOKUP);
     $card = new Card();
     $card->addExpiryDate(SampleXmlValidationUtils::DCC_RATE_CARD_EXPIRY_DATE)->addNumber(SampleXmlValidationUtils::DCC_RATE_CARD_NUMBER)->addType(SampleXmlValidationUtils::DCC_RATE_CARD_TYPE)->addCardHolderName(SampleXmlValidationUtils::DCC_RATE_CARD_HOLDER_NAME);
     $request->addCard($card);
     $dccInfo = new DccInfo();
     $dccInfo->addDccProcessor(SampleXmlValidationUtils::DCC_RATE_CCP);
     $request->addDccInfo($dccInfo);
     $request->addAmount(SampleXmlValidationUtils::DCC_RATE_AMOUNT)->addCurrency(SampleXmlValidationUtils::DCC_RATE_CURRENCY);
     $autoSettle = new AutoSettle();
     $autoSettle->addFlag(SampleXmlValidationUtils::$AUTO_SETTLE_FLAG->getFlag());
     $request->addAutoSettle($autoSettle)->addTimeStamp(SampleXmlValidationUtils::DCC_RATE_TIMESTAMP)->addOrderId(SampleXmlValidationUtils::DCC_RATE_ORDER_ID)->addHash(SampleXmlValidationUtils::DCC_RATE_REQUEST_HASH);
     // convert to XML
     $xml = $request->toXml();
     // Convert from XML back to PaymentRequest
     /* @var PaymentRequest $fromXmlRequest */
     $fromXmlRequest = new PaymentRequest();
     $fromXmlRequest = $fromXmlRequest->fromXml($xml);
     SampleXmlValidationUtils::checkUnmarshalledDccRateLookUpPaymentRequest($fromXmlRequest, $this);
 }