Sistema de pagamento com cartão de credito
Para implementar um sistema de pagamento com cartão de crédito usando o PagSeguro e PHP, você pode seguir os passos abaixo:
-
Acesse o site do PagSeguro e crie uma conta ou faça login se já tiver uma.
-
No painel de controle do PagSeguro, obtenha as credenciais necessárias (Token de Produção, Token de Sandbox, e Email de Vendedor).
-
Certifique-se de que você tem o PHP instalado no seu servidor.
-
Se você não tiver o Composer instalado, faça o download e instale a partir do site oficial: Composer.
-
Crie um novo diretório para o seu projeto e dentro dele, crie um arquivo
composer.json
com o seguinte conteúdo:
{
"require": {
"pagseguro/pagseguro-php-sdk": "dev-main"
}
}
- No terminal, dentro do diretório do seu projeto, execute o comando
composer install
para instalar a biblioteca do PagSeguro.
-
Crie um arquivo PHP (por exemplo,
checkout.php
) para a página de pagamento. -
No início do arquivo, inclua a biblioteca do PagSeguro:
require_once 'vendor/autoload.php';
-
No corpo do arquivo, crie um formulário com os campos necessários para a transação (número do cartão, data de validade, código CVV, etc.).
-
No script de processamento do formulário, utilize o código PHP para criar uma transação no PagSeguro:
$paymentData = [
'email' => 'SEU_EMAIL_DE_VENDEDOR',
'token' => 'SEU_TOKEN_DE_PRODUCAO',
'paymentMode' => 'default',
'paymentMethod' => 'creditCard',
'receiverEmail' => 'SEU_EMAIL_DE_VENDEDOR',
'currency' => 'BRL',
'itemId1' => '1',
'itemDescription1' => 'Produto de Exemplo',
'itemAmount1' => '10.00',
'itemQuantity1' => '1',
'notificationURL' => 'URL_PARA_NOTIFICACAO_DE_PAGAMENTO',
'reference' => 'REF1234', // Referência única para a transação
'senderName' => $_POST['senderName'],
'senderAreaCode' => $_POST['senderAreaCode'],
'senderPhone' => $_POST['senderPhone'],
'senderEmail' => $_POST['senderEmail'],
'senderCPF' => $_POST['senderCPF'],
'installmentQuantity' => '1',
'installmentValue' => '10.00',
'creditCardToken' => $_POST['creditCardToken'],
'billingAddressStreet' => $_POST['billingAddressStreet'],
'billingAddressNumber' => $_POST['billingAddressNumber'],
'billingAddressComplement' => $_POST['billingAddressComplement'],
'billingAddressDistrict' => $_POST['billingAddressDistrict'],
'billingAddressPostalCode' => $_POST['billingAddressPostalCode'],
'billingAddressCity' => $_POST['billingAddressCity'],
'billingAddressState' => $_POST['billingAddressState'],
'billingAddressCountry' => 'BRA'
];
$credentials = new \PagSeguroAccountCredentials($paymentData['email'], $paymentData['token']);
$payment = new \PagSeguroPaymentRequest($credentials);
$payment->setCurrency($paymentData['currency']);
$payment->setReference($paymentData['reference']);
$payment->addItem(
$paymentData['itemId1'],
$paymentData['itemDescription1'],
$paymentData['itemQuantity1'],
$paymentData['itemAmount1']
);
$payment->setSender(
$_POST['senderName'],
$_POST['senderEmail'],
$_POST['senderAreaCode'],
$_POST['senderPhone']
);
$payment->setShippingAddress(
$_POST['billingAddressStreet'],
$_POST['billingAddressNumber'],
$_POST['billingAddressComplement'],
$_POST['billingAddressDistrict'],
$_POST['billingAddressCity'],
$_POST['billingAddressState'],
$_POST['billingAddressPostalCode'],
'BRA'
);
try {
$credentials->authorize(
new \PagSeguroApplicationCredentials(),
\PagSeguroConfig::getAccountCredentials()
);
$transaction = \PagSeguroTransactionService::createTransaction($credentials, $payment);
if ($transaction) {
// A transação foi criada com sucesso
echo 'Pagamento bem-sucedido!';
} else {
// Falha ao criar a transação
echo 'Ocorreu um erro ao processar o pagamento.';
}
} catch (\Exception $e) {
echo 'Ocorreu um erro: ' . $e->getMessage();
}
Agora, você deve ser capaz de testar o sistema de pagamento com cartão de crédito usando o PagSeguro. Lembre-se de que isso é apenas um exemplo básico e que existem muitos aspectos de segurança e validação que você deve considerar em uma implementação real.
Além disso, é importante ler a documentação do PagSeguro e entender completamente como lidar com pagamentos de forma segura e em conformidade com as regulamentações locais.