PreApprovalCreate - Thiago-Medeiros/pagseguro-php-sdk GitHub Wiki
Recorrências: Criação
Exemplo
$preApproval = new \PagSeguro\Domains\Requests\PreApproval();
/**
* Moeda utilizada. Indica a moeda na qual o pagamento será feito. No momento, a única opção disponível é BRL (Real).
*
* Presença: Obrigatória.
* Tipo: Texto.
* Formato: Somente o valor BRL é aceito.
*
* @var string $currency
* @options=['BRL']
*/
$preApproval->setCurrency($currency);
/**
* Código de referência da transação. Informa o código que foi usado para fazer referência ao pagamento. Este código
* foi fornecido no momento do pagamento e é útil para vincular as transações do PagSeguro às vendas registradas no seu
* sistema.
*
* Presença: Opcional.
* Formato: Livre, com o limite de 200 caracteres.
* Tipo: Texto.
*
* @var string $reference
*/
$preApproval->setReference($reference);
/** @var \PagSeguro\Domains\ShippingType $shippingType */
$preApproval->setShipping()->setType()->instance($shippingType);
/** @var \PagSeguro\Domains\Address $address */
$preApproval->setShipping()->setAddress()->instance($address);
/**
* Nome completo do comprador. Especifica o nome completo do comprador que está realizando o pagamento. Este campo é
* opcional e você pode enviá-lo caso já tenha capturado os dados do comprador em seu sistema e queira evitar que ele
* preencha esses dados novamente no PagSeguro.
*
* Presença: Opcional.
* Tipo: Texto.
* Formato: No mínimo duas sequências de caracteres, com o limite total de 50 caracteres.
*
* @var string $senderName
*/
$payment->setSender()->setName($senderName);
/**
* E-mail do comprador. Especifica o e-mail do comprador que está realizando o pagamento. Este campo é opcional e você
* pode enviá-lo caso já tenha capturado os dados do comprador em seu sistema e queira evitar que ele preencha esses
* dados novamente no PagSeguro.
*
* Presença: Opcional.
* Tipo: Texto.
* Formato: um e-mail válido (p.e., [email protected]), com no máximo 60 caracteres.
*
* @var string $senderEmail
*/
$payment->setSender()->setEmail($senderEmail);
/** @var \PagSeguro\Domains\Phone $phone */
$preApproval->setSender()->setPhone()->instance($phone);
/** @var \PagSeguro\Domains\Address $address */
$preApproval->setShipping()->setAddress()->instance($address);
/**
* Indica se a assinatura será gerenciada pelo PagSeguro (auto) ou pelo Vendedor (manual). Neste caso usaremos o valor
* "auto".
*
* Presença: Opcional. Se não for informado assume-se que seu valor é
* manual (gerenciado pelo vendedor)
* Tipo: Texto.
* Formato: Aceita os valores "auto" ou "manual".
*
* @var string $preApprovalCharge
*/
$preApproval->setPreApproval()->setCharge($preApprovalCharge);
/**
* Nome/Identificador da assinatura.
*
* Presença: Obrigatória.
* Tipo: Texto.
* Formato: Livre, com limite de 100 caracteres.
*
* @var string $preApprovalName
*/
$preApproval->setPreApproval()->setName($preApprovalName);
/**
* Detalhes/Descrição da assinatura.
*
* Presença: Opcional.
* Tipo: Texto.
* Formato: Livre, com limite de 255 caracteres.
*
* @var string $preApprovalDetails
*/
$preApproval->setPreApproval()->setDetails($preApprovalDetails);
/**
* Valor exato de cada cobrança.
*
* Presença: Obrigatório para o modelo automático.
* Tipo: Número.
* Formato: Decimal, com duas casas decimais separadas por ponto
* (p.e, 1234.56). Deve ser um valor maior ou igual a 1.00 e menor ou
* igual a 2000.00
* Obs.: Não pode ser utilizado em conjunto com
* preApprovalMaxAmountPerPayment
*
* @var float $preApprovalAmountPerPayment
*/
$preApproval->setPreApproval()->setAmountPerPayment($preApprovalAmountPerPayment);
/**
* Valor máximo que pode ser cobrado por mês de vigência da
* assinatura, independente de sua periodicidade.
*
* Presença: Obrigatória quando a assinatura é gerenciada pelo
* vendedor (charge = manual). Não é utilizada quando a assinatura é
* gerenciada pelo PagSeguro (charge = auto).
* Tipo: Número.
* Formato: Decimal, com duas casas decimais separadas por ponto
* (p.e, 1234.56). Deve ser um valor maior ou igual a 1.00 e menor ou
* igual a 2000.00
*
* @var float $preApprovalAmountPerPeriod
*/
$preApproval->setPreApproval()->setMaxAmountPerPeriod($preApprovalAmountPerPeriod);
/**
* Periodicidade da cobrança.
*
* Presença: Obrigatória.
* Tipo: Texto.
* Formato: Case insensitive. Reconhece os valores WEEKLY,
* MONTHLY, BIMONTHLY, TRIMONTHLY, SEMIANNUALLY, YEARLY.
*
* @var string $preApprovalPeriod
*/
$preApproval->setPreApproval()->setPeriod($preApprovalPeriod);
/**
* Valor máximo que pode ser cobrado durante a vigência da
* assinatura.
*
* Presença: Obrigatória.
* Tipo: Número.
* Formato: Decimal, com duas casas decimais separadas por ponto
* (p.e, 1234.56). Deve ser um valor maior ou igual a 1.00 e menor ou
* igual a 35000.00
*
* @var float $preApprovalMaxTotalAmount
*/
$preApproval->setPreApproval()->setMaxTotalAmount($preApprovalMaxTotalAmount);
/**
* Início da vigência da assinatura.
*
* Presença: Opcional, podendo ser utilizado apenas quando a
* assinatura é gerenciada pelo vendedor (charge = manual).
* Tipo: Data/Hora.
* Formato: YYYY-MM-DDThh:mm:ss.sTZD. Assume valores maiores
* que a data atual e menores ou iguais a data atual + 2 anos.
*
* @var string $preApprovalInitialDate
*/
$preApproval->setPreApproval()->setInitialDate($preApprovalInitialDate);
/**
* Fim da vigência da assinatura.
*
* Presença: Obrigatória.
* Tipo: Data/Hora.
* Formato: YYYY-MM-DDThh:mm:ss.sTZD. Assume valores maiores
* que a data atual ou maiores que o valor definido em
* preApprovalInitialDate, não podendo ter uma diferença superior a 2
* anos da data de início.
*
* @var string $preApprovalFinalDate
*/
$preApproval->setPreApproval()->setFinalDate($preApprovalFinalDate);
/**
* URL de redirecionamento após o pagamento. Determina a URL para a qual o comprador será redirecionado após o final do
* fluxo de pagamento. Este parâmetro permite que seja informado um endereço de específico para cada pagamento
* realizado.
*
* Presença: Opcional.
* Tipo: Texto.
* Formato: Uma URL válida, com limite de 255 caracteres.
*
* @var string $preApprovalRedirectUrl
*/
$preApproval->setRedirectUrl($preApprovalRedirectUrl);
/**
* URL para onde o comprador será redirecionado, durante o fluxo de
* aprovação, caso deseje alterar/revisar as regras da assinatura.
*
* Presença: Opcional.
* Tipo: Texto.
* Formato: Uma URL válida, com limite de 255 caracteres.
*
* @var string $preApprovalReviewUrl
*/
$preApproval->setReviewUrl($preApprovalReviewUrl);
try {
$response = $preApproval->register(
/** @var \PagSeguro\Domains\AccountCredentials | \PagSeguro\Domains\ApplicationCredentials $credential */
$credential
);
} catch (Exception $e) {
die($e->getMessage());
}