@@ -482,18 +482,21 @@ private function uploadTransaction(callable $requestClosure): UploadTransaction
482482 $ uploadSegment = $ this ->responseHandler ->extractUploadSegment ($ request , $ response );
483483 $ transaction ->setInitialization ($ uploadSegment );
484484
485- $ segment = $ this ->segmentFactory ->createTransferSegment ();
486- $ segment ->setTransactionKey ($ transaction ->getKey ());
487- $ segment ->setSegmentNumber (1 );
488- $ segment ->setIsLastSegment (true );
489- $ segment ->setNumSegments ($ transaction ->getNumSegments ());
490- $ segment ->setOrderData ($ transaction ->getOrderData ());
491- $ segment ->setTransactionId ($ transaction ->getInitialization ()->getTransactionId ());
492-
493- if ($ segment ->getTransactionId ()) {
494- $ transaction ->addSegment ($ segment );
495- $ transaction ->setKey ($ segment ->getTransactionId ());
496- $ this ->transferTransfer ($ transaction );
485+ // Segments can be many but requires realization of buffering.
486+ if ($ transaction ->getNumSegments () === 1 ) {
487+ $ segment = $ this ->segmentFactory ->createTransferSegment ();
488+ $ segment ->setTransactionKey ($ transaction ->getKey ());
489+ $ segment ->setSegmentNumber (1 );
490+ $ segment ->setIsLastSegment (true );
491+ $ segment ->setNumSegments ($ transaction ->getNumSegments ());
492+ $ segment ->setOrderData ($ transaction ->getOrderData ());
493+ $ segment ->setTransactionId ($ transaction ->getInitialization ()->getTransactionId ());
494+
495+ if ($ segment ->getTransactionId ()) {
496+ $ transaction ->addSegment ($ segment );
497+ $ transaction ->setKey ($ segment ->getTransactionId ());
498+ $ this ->transferTransfer ($ transaction );
499+ }
497500 }
498501
499502 return $ transaction ;
0 commit comments