AuthorizationCreateCompany - Thiago-Medeiros/pagseguro-php-sdk GitHub Wiki
Solicitando autorização - Sugestão de Cadastro: Empresarial
Para utilizar o modelo de aplicações do PagSeguro é necessário que você crie uma aplicação. Esta aplicação será responsável por centralizar as autorizações concedidas pelos seus clientes. Para criar uma nova aplicação, acesse os menus Aplicações >>> Minhas aplicações ou o link https://pagseguro.uol.com.br/aplicacao/listagem.jhtml e clique em “Criar nova aplicação”
Exemplo
/**
* Ao criar uma autorização você também pode encaminhar os dados do cliente. Assim, caso o e-mail do vendedor enviado
* via API já esteja cadastrado na base, será sugerido o login com este e-mail. Caso ele não tenha conta, os dados
* serão utilizados como sugestão para o cadastro e assim facilitando o cadastro do cliente.
*/
$authorization = new \PagSeguro\Domains\Requests\Authorization();
/**
* Identificador usado para fazer referência à autorização da sua requisição.
*
* Presença: Opcional.
* Tipo: Texto.
* Formato: Livre, com limite total de 20 caracteres.
*
* @var string $reference
*/
$authorization->setReference($reference);
/**
* URL para onde o comprador será redirecionado após a finalização do fluxo de autorização. Caso seja informado na
* chamada, será utilizada esta ao invés da URL informada no cadastro da aplicação.
*
* Presença: Obrigatória.
* Tipo: Texto.
* Formato: Uma URL válida, com limite de 255 caracteres
*
* @var string $redirectUrl
*/
$authorization->setRedirectUrl($redirectUrl);
/**
* URL para onde a notificação será direcionada após a finalização do fluxo de autorização. Caso seja informado na
* chamada, será utilizada esta ao invés da URL informada no cadastro da aplicação.
*
* Presença: Obrigatória.
* Tipo: Texto.
* Formato: Uma URL válida, com limite de 255 caracteres.
*
* @var string $notificationUrl
*/
$authorization->setNotificationUrl($notificationUrl);
/**
* Permissões a serem autorizadas
* Presença: Obrigatória.
* Tipo: Texto.
*
* Valores aceitos:
* CREATE_CHECKOUTS - A aplicação poderá direcionar compradores para o PagSeguro e intermediar pagamentos
* RECEIVE_TRANSACTION_NOTIFICATIONS - A aplicação poderá receber e consultar notificações das transações que ela
* intermediou SEARCH_TRANSACTIONS - A aplicação poderá consultar as transações que ela intermediou
* MANAGE_PAYMENT_PRE_APPROVALS - A aplicação poderá gerenciar e utilizar pré-aprovações de pagamentos
* DIRECT_PAYMENT - A aplicação poderá gerenciar pagamentos via checkout transparente.
*/
$authorization->addPermission(\PagSeguro\Enum\Authorization\Permissions::CREATE_CHECKOUTS);
$authorization->addPermission(\PagSeguro\Enum\Authorization\Permissions::SEARCH_TRANSACTIONS);
$authorization->addPermission(\PagSeguro\Enum\Authorization\Permissions::RECEIVE_TRANSACTION_NOTIFICATIONS);
$authorization->addPermission(\PagSeguro\Enum\Authorization\Permissions::MANAGE_PAYMENT_PRE_APPROVALS);
$authorization->addPermission(\PagSeguro\Enum\Authorization\Permissions::DIRECT_PAYMENT);
/**
* Agrupa os dados do responsável legal pela empresa
*
* @var \PagSeguro\Domains\Authorization\Partner $authorizationPartner
*/
$authorizationPartner = new \PagSeguro\Domains\Authorization\Partner(
'John Doe',
new DateTime('10-10-1990'),
$document,
new \PagSeguro\Domains\Phone('12', '13141231', \PagSeguro\Enum\Authorization\PhoneEnum::HOME)
);
/**
* Agrupa os dados de empresa
*
* @var \PagSeguro\Domains\Authorization\Company $authorizationCompany
*/
$authorizationCompany = new \PagSeguro\Domains\Authorization\Company(
'John Doe',
'http://www.example.com',
new \PagSeguro\Domains\Document('CNPJ', '32137524000115'),
new \PagSeguro\Domains\Phone('12', '13131313', \PagSeguro\Enum\Authorization\PhoneEnum::BUSINESS),
/** @var \PagSeguro\Domains\Address $address */
$address,
$authorizationPartner
);
/** @var \PagSeguro\Domains\Authorization\Account $accountCompany */
$accountCompany = new \PagSeguro\Domains\Authorization\Account('[email protected]', $authorizationCompany);
/** @var \PagSeguro\Domains\Requests\Authorization $authorization */
$authorization->setAccount(
$accountCompany
);
try {
$response = $authorization->register(
/** @var \PagSeguro\Domains\AccountCredentials | \PagSeguro\Domains\ApplicationCredentials $credential */
$credential
);
} catch (Exception $e) {
die($e->getMessage());
}