code: public function execute($request)
      {
          RequestNotSupportedException::assertSupports($this, $request);
  
          /** @var GetStatusInterface $request */
  
          $model = ArrayObject::ensureArrayObject($request->getModel());
  
          if (false == $model['transaction_id']) {
              $request->markNew();
              return;
          }
  
          if (false != $responseCode = $model['response_code']) {
              // Success
              if ('00' === $responseCode) {
                  $request->markCaptured();
                  return;
              }
              // Cancelled by user
              if ('17' === $responseCode) {
                  $request->markCanceled();
                  return;
              }
              // Failure
              $request->markFailed();
              return;
          }
  
          $request->markPending();
      }
docs: {@inheritdoc}