8 use Braintree\Result\Error;
9 use Braintree\Result\Successful;
12 use Magento\Payment\Gateway\Validator\ResultInterfaceFactory;
24 private $errorCodeProvider;
34 ResultInterfaceFactory $resultFactory,
38 parent::__construct($resultFactory);
40 $this->errorCodeProvider = $errorCodeProvider;
46 public function validate(array $validationSubject)
49 $response = $this->subjectReader->readResponseObject($validationSubject);
55 $validationResult = $validator(
$response);
57 if (!$validationResult[0]) {
58 $isValid = $validationResult[0];
59 $errorMessages = array_merge($errorMessages, $validationResult[1]);
62 $errorCodes = $this->errorCodeProvider->getErrorCodes(
$response);
64 return $this->
createResult($isValid, $errorMessages, $errorCodes);
76 [
$response->message ??
__(
'Braintree error response.')]
createResult($isValid, array $fails=[], array $errorCodes=[])
__construct(ResultInterfaceFactory $resultFactory, SubjectReader $subjectReader, ErrorCodeProvider $errorCodeProvider)
validate(array $validationSubject)