componentFactory = $componentFactory; $this->urlBuilder = $urlBuilder; } /** * @inheritdoc */ public function getComponentForToken(PaymentTokenInterface $paymentToken) { $data = json_decode($paymentToken->getTokenDetails() ?: '{}', true); $component = $this->componentFactory->create( [ 'config' => [ 'code' => ConfigProvider::CC_VAULT_CODE, 'nonceUrl' => $this->getNonceRetrieveUrl(), TokenUiComponentProviderInterface::COMPONENT_DETAILS => $data, TokenUiComponentProviderInterface::COMPONENT_PUBLIC_HASH => $paymentToken->getPublicHash(), 'template' => 'Magento_Braintree::form/vault.phtml' ], 'name' => Template::class ] ); return $component; } /** * Get url to retrieve payment method nonce * @return string */ private function getNonceRetrieveUrl() { return $this->urlBuilder->getUrl(ConfigProvider::CODE . '/payment/getnonce', ['_secure' => true]); } }