PayU integration by Krzysztof Gzocha
  • Namespace
  • Class

Namespaces

  • Team3
    • PayU
      • Annotation
      • Communication
        • CurlRequestBuilder
        • HttpStatusParser
        • Notification
        • Process
          • NotificationProcess
          • ResponseDeserializer
        • Request
          • Model
        • Response
          • Model
        • Sender
      • Configuration
        • Credentials
      • Order
        • Autocomplete
          • Strategy
        • Model
          • Buyer
          • Money
          • Products
          • ShippingMethods
          • Traits
        • Transformer
          • UserOrder
            • Strategy
              • Product
              • ShippingMethod
      • PropertyExtractor
        • Reader
      • Serializer
      • SignatureCalculator
        • Encoder
          • Algorithms
          • Strategy
        • ParametersSorter
        • Validator
      • ValidatorBuilder

Classes

  • Team3\PayU\ValidatorBuilder\ValidatorBuilder

Interfaces

  • Team3\PayU\ValidatorBuilder\ValidatorBuilderInterface
 1 <?php
 2 /**
 3  * @author Krzysztof Gzocha <krzysztof.gzocha@xsolve.pl>
 4  */
 5 namespace Team3\PayU\Order\Autocomplete;
 6 
 7 use Psr\Log\LoggerInterface;
 8 use Team3\PayU\Order\Autocomplete\Strategy\AutocompleteStrategyInterface;
 9 use Team3\PayU\Order\Autocomplete\Strategy\CustomerIpStrategy;
10 use Team3\PayU\Order\Autocomplete\Strategy\MerchantPosIdStrategy;
11 use Team3\PayU\Order\Autocomplete\Strategy\SignatureStrategy;
12 use Team3\PayU\Order\Autocomplete\Strategy\TotalAmountStrategy;
13 use Team3\PayU\SignatureCalculator\OrderSignatureCalculatorFactory;
14 use Team3\PayU\SignatureCalculator\OrderSignatureCalculatorInterface;
15 
16 class OrderAutocompleteFactory implements OrderAutocompleteFactoryInterface
17 {
18     /**
19      * @param LoggerInterface $logger
20      *
21      * @return OrderAutocompleteInterface
22      */
23     public function build(LoggerInterface $logger)
24     {
25         $orderAutocomplete = new OrderAutocomplete($logger);
26         foreach ($this->getStrategies($logger) as $strategy) {
27             $orderAutocomplete->addStrategy($strategy);
28         }
29 
30         return $orderAutocomplete;
31     }
32 
33     /**
34      * @param LoggerInterface $logger
35      *
36      * @return AutocompleteStrategyInterface
37      */
38     private function getStrategies(LoggerInterface $logger)
39     {
40         return [
41             new CustomerIpStrategy(),
42             new MerchantPosIdStrategy(),
43             new TotalAmountStrategy(),
44             new SignatureStrategy($this->getSignatureCalculator($logger)),
45         ];
46     }
47 
48     /**
49      * @param LoggerInterface $logger
50      *
51      * @return OrderSignatureCalculatorInterface
52      */
53     private function getSignatureCalculator(LoggerInterface $logger)
54     {
55         $calculatorFactory = new OrderSignatureCalculatorFactory();
56 
57         return $calculatorFactory->build($logger);
58     }
59 }
60 
PayU integration by Krzysztof Gzocha API documentation generated by ApiGen