original_string: public function createSession(
          $amount,
          $currency,
          HpsBuyerData $buyer = null,
          HpsPaymentData $payment = null,
          HpsShippingInfo $shippingAddress = null,
          $lineItems = null,
          HpsOrderData $orderData = null
      ) {
          $payload = array(
              'TransactionType' => 'WT',
              'OverridePaymentMethod' => 'MPPWLT',
              'Amount' => $this->formatAmount($amount),
              'CurrencyCode' => $this->currencyStringToNumeric($currency),
              'OverrideCheckoutType' => $this->getCheckoutType($orderData),
              'ConnectTimeout' => '10000',
              'TransactionMode' => 'S',
              'OrderNumber' => $orderData->orderNumber,
              'IPAddress' => $orderData->ipAddress,
              'BrowserHeader' => $orderData->browserHeader,
              'UserAgent' => $orderData->userAgent,
              'OriginUrl' => $orderData->originUrl,
              'TermUrl' => $orderData->termUrl,
          );
          if ($orderData->orderId !== null) {
              $payload['OrderId'] = $orderData->orderId;
          }
          if ($buyer !== null) {
              $payload = array_merge($payload, $this->hydrateBuyerData($buyer));
          }
          if ($payment !== null) {
              $payload = array_merge($payload, $this->hydratePaymentData($payment));
          }
          if ($shippingAddress !== null) {
              $payload = array_merge(
                  $payload,
                  $this->hydrateShippingInfo($shippingAddress)
              );
          }
          if ($lineItems !== null) {
              $payload = array_merge($payload, $this->hydrateLineItems($lineItems));
          }
          return $this->submitTransaction($payload, 'cmpi_lookup');
      }
code: public function createSession(
          $amount,
          $currency,
          HpsBuyerData $buyer = null,
          HpsPaymentData $payment = null,
          HpsShippingInfo $shippingAddress = null,
          $lineItems = null,
          HpsOrderData $orderData = null
      ) {
          $payload = array(
              'TransactionType' => 'WT',
              'OverridePaymentMethod' => 'MPPWLT',
              'Amount' => $this->formatAmount($amount),
              'CurrencyCode' => $this->currencyStringToNumeric($currency),
              'OverrideCheckoutType' => $this->getCheckoutType($orderData),
              'ConnectTimeout' => '10000',
              'TransactionMode' => 'S',
              'OrderNumber' => $orderData->orderNumber,
              'IPAddress' => $orderData->ipAddress,
              'BrowserHeader' => $orderData->browserHeader,
              'UserAgent' => $orderData->userAgent,
              'OriginUrl' => $orderData->originUrl,
              'TermUrl' => $orderData->termUrl,
          );
          if ($orderData->orderId !== null) {
              $payload['OrderId'] = $orderData->orderId;
          }
          if ($buyer !== null) {
              $payload = array_merge($payload, $this->hydrateBuyerData($buyer));
          }
          if ($payment !== null) {
              $payload = array_merge($payload, $this->hydratePaymentData($payment));
          }
          if ($shippingAddress !== null) {
              $payload = array_merge(
                  $payload,
                  $this->hydrateShippingInfo($shippingAddress)
              );
          }
          if ($lineItems !== null) {
              $payload = array_merge($payload, $this->hydrateLineItems($lineItems));
          }
          return $this->submitTransaction($payload, 'cmpi_lookup');
      }
code_tokens: public function createSession ( $ amount , $ currency , HpsBuyerData $ buyer = null , HpsPaymentData $ payment = null , HpsShippingInfo $ shippingAddress = null , $ lineItems = null , HpsOrderData $ orderData = null ) { $ payload = array ( 'TransactionType' => 'WT' , 'OverridePaymentMethod' => 'MPPWLT' , 'Amount' => $ this -> formatAmount ( $ amount ) , 'CurrencyCode' => $ this -> currencyStringToNumeric ( $ currency ) , 'OverrideCheckoutType' => $ this -> getCheckoutType ( $ orderData ) , 'ConnectTimeout' => '10000' , 'TransactionMode' => 'S' , 'OrderNumber' => $ orderData -> orderNumber , 'IPAddress' => $ orderData -> ipAddress , 'BrowserHeader' => $ orderData -> browserHeader , 'UserAgent' => $ orderData -> userAgent , 'OriginUrl' => $ orderData -> originUrl , 'TermUrl' => $ orderData -> termUrl , ) ; if ( $ orderData -> orderId !== null ) { $ payload [ 'OrderId' ] = $ orderData -> orderId ; } if ( $ buyer !== null ) { $ payload = array_merge ( $ payload , $ this -> hydrateBuyerData ( $ buyer ) ) ; } if ( $ payment !== null ) { $ payload = array_merge ( $ payload , $ this -> hydratePaymentData ( $ payment ) ) ; } if ( $ shippingAddress !== null ) { $ payload = array_merge ( $ payload , $ this -> hydrateShippingInfo ( $ shippingAddress ) ) ; } if ( $ lineItems !== null ) { $ payload = array_merge ( $ payload , $ this -> hydrateLineItems ( $ lineItems ) ) ; } return $ this -> submitTransaction ( $ payload , 'cmpi_lookup' ) ; }
docstring: Responsible for initiating the MasterPass transaction. The Lookup Message
  is constructed and sent to the Centinel platform for processing. The Lookup
  Message requires transaction specific data elements to be formatted on the
  request message. Please refer to the Message API section for the complete
  list of required message elements.
  
  The Centinel platform will then redirect the consumer back to the TermUrl
  representing a web page  on the merchant's website. At that point, the
  merchant will process the Authenticate message to retrieve the status from
  the MasterPass processing.
  
  @param mixed                   $amount          amount to be authorized
  @param string                  $currency        currency code
  @param HpsBuyerData            $buyer           buyer information
  @param HpsPaymentData          $payment         payment information
  @param HpsShippingInfo         $shippingAddress shipping information
  @param array<int, HpsLineItem> $lineItems       line items from order
  @param HpsOrderData            $orderData       Cardinal/MasterPass specific
  data
  
  @return object
docstring_tokens: Responsible for initiating the MasterPass transaction . The Lookup Message is constructed and sent to the Centinel platform for processing . The Lookup Message requires transaction specific data elements to be formatted on the request message . Please refer to the Message API section for the complete list of required message elements .