Пример #1
0
 /**
  * {@inheritdoc}
  */
 public function getConfigTreeBuilder()
 {
     $treeBuilder = new TreeBuilder();
     $rootNode = $treeBuilder->root('nexy_paybox_direct');
     $rootNode->children()->scalarNode('client')->defaultNull()->end()->arrayNode('options')->addDefaultsIfNotSet()->children()->integerNode('timeout')->end()->booleanNode('production')->end()->end()->end()->arrayNode('paybox')->isRequired()->addDefaultsIfNotSet()->children()->scalarNode('version')->isRequired()->cannotBeEmpty()->validate()->ifNotInArray(Version::getKeys('strtolower'))->thenInvalid('Invalid Paybox version')->end()->end()->scalarNode('site')->isRequired()->cannotBeEmpty()->end()->scalarNode('rank')->isRequired()->cannotBeEmpty()->end()->scalarNode('identifier')->isRequired()->cannotBeEmpty()->end()->scalarNode('key')->isRequired()->cannotBeEmpty()->end()->scalarNode('default_currency')->validate()->ifNotInArray(Currency::getKeys('strtolower'))->thenInvalid('Invalid Paybox currency')->end()->end()->scalarNode('default_activity')->validate()->ifNotInArray(Activity::getKeys('strtolower'))->thenInvalid('Invalid Paybox activity')->end()->end()->end()->end()->end();
     return $treeBuilder;
 }
Пример #2
0
 /**
  * Paybox base options validation.
  *
  * @param OptionsResolver $resolver
  */
 private function configureOptions(OptionsResolver $resolver)
 {
     $resolver->setDefaults(['timeout' => 10, 'production' => false, 'paybox_default_currency' => Currency::EURO]);
     $resolver->setDefined(['paybox_default_activity']);
     $resolver->setRequired(['paybox_version', 'paybox_site', 'paybox_rank', 'paybox_identifier', 'paybox_key']);
     $resolver->setAllowedTypes('timeout', 'int');
     $resolver->setAllowedTypes('production', 'bool');
     $resolver->setAllowedTypes('paybox_version', 'string');
     $resolver->setAllowedTypes('paybox_default_currency', 'int');
     $resolver->setAllowedTypes('paybox_site', 'string');
     $resolver->setAllowedTypes('paybox_rank', 'string');
     $resolver->setAllowedTypes('paybox_identifier', 'string');
     $resolver->setAllowedTypes('paybox_key', 'string');
     $resolver->setAllowedValues('paybox_version', Version::getConstants());
     $resolver->setAllowedValues('paybox_default_activity', Activity::getConstants());
 }