/** * @param int $paymentProfileId * @param \SubscribePro\Service\Transaction\TransactionInterface $transaction * @return \SubscribePro\Service\Transaction\TransactionInterface * @throws \SubscribePro\Exception\EntityInvalidDataException * @throws \SubscribePro\Exception\HttpException */ public function verifyProfile($paymentProfileId, TransactionInterface $transaction) { if (!$transaction->isVerifyDataValid()) { throw new EntityInvalidDataException('Not all required fields are set.'); } $response = $this->httpClient->post("/services/v1/vault/paymentprofiles/{$paymentProfileId}/verify.json", [self::API_NAME_TRANSACTION => $transaction->getVerifyFormData()]); return $this->retrieveItem($response, self::API_NAME_TRANSACTION, $transaction); }
/** * @param array $data * @param bool $isValid * @dataProvider isVerifyDataValidDataProvider */ public function testIsVerifyDataValid($data, $isValid) { $this->transaction->importData($data); $this->assertEquals($isValid, $this->transaction->isVerifyDataValid()); }