Home
Button Mobile Webdesign em Foco
Newsletter Webdesign em Foco
Support Webdesign em Foco
Contribuition Webdesign em Foco
Doe para a Webdesign em Foco
Suporte da Webdesign em Foco
Fechar

Checkout Transparente Pagseguro em PHP, JS e Python - #02 Cartao de Crédito Criptografado

08/05/2023

Nesse tutorial aprenderemos como realizar o checkout transparente do Pagseguro utilizando cartão de crédito criptografado e linguagem de programação PHP.

PHP - Pagseguro - Cartão de Crédito

Antes de mais nada cabe lembrar que precisaremos inicializar o servidor de PHP, no caso o Xampp. Para o projeto criaremos 4 arquivos:

- index.php
- KeyController.php
- PayController.php
- javascript.js

javascript.js

O javascript ficará responsável por criptografar o cartão. Vamos iniciar deixando pronta nossa função de invocação:

(function(win,doc){
    'use strict';

})(window,document);

index.php

O index.php abrigará o formulário html em que o usuário digitará os dados do cartão de crédito:

<?php
include('KeyController.php');
$objKey = new KeyController();
?>
    <!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha3/dist/css/bootstrap.min.css">
</head>
<body>
<form method="post" name="formCard" id="formCard" action="PayController.php">
    <div class="col-6 m-auto">
        <input type="text" name="publicKey" id="publicKey" value="<?php echo $objKey::getPublicKey(); ?>">
        <input type="text" name="encriptedCard" id="encriptedCard">
        <input type="text" class="form-control" name="cardNumber" id="cardNumber" maxlength="16" placeholder="Número do Cartão">
        <input type="text" class="form-control" name="cardHolder" id="cardHolder" placeholder="Nome no Cartão">
        <input type="text" class="form-control" name="cardMonth" id="cardMonth" maxlength="2" placeholder="Mês de Validade do Cartão">
        <input type="text" class="form-control" name="cardYear" id="cardYear" maxlength="4" placeholder="Ano do Cartão">
        <input type="text" class="form-control" name="cardCvv" id="cardCvv" maxlength="4" placeholder="CVV do Cartão">
        <input type="submit" class="btn btn-primary" value="Pagar">
    </div>
</form>


    <script src="javascript.js"></script>
</body>
</html>

KeyController.php

No arquivo KeyController buscaremos a chave pública do nosso sistema:

<?php
class KeyController{

    public static function getPublicKey()
    {
        $data['type'] = "card";
        $curl = curl_init('https://sandbox.api.pagseguro.com/public-keys/');
        curl_setopt($curl,CURLOPT_HTTPHEADER,Array(
            'Content-Type: application/json',
            'Authorization: SEU_TOKEN'
        ));
        curl_setopt($curl,CURLOPT_POST,true);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
        curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,false);
        curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));
        $retorno = curl_exec($curl);
        curl_close($curl);
        return json_decode($retorno)->public_key;
    }
}

Por hoje é só! Fiquem com Deus! Sucesso nos códigos e na vida!

Precisa de um professor? webdesignemfoco@gmail.com

Receba as aulas da Webdesign em Foco em Seu Email
Suporte Webdesign em Foco

Posts Relacionados

Checkout Transparente Pagseguro em PHP, JS e Python - #14 Pagamento com Pix
Nesse tutorial aprenderemos como fazer a integração do Python com o Pagseguro disponibilizando a forma de pagamento pix para o usuário.
Saiba mais!
Checkout Transparente Pagseguro em PHP, JS e Python - #02B Cartao de Crédito Criptografado
Nessa aula finalizaremos o checkout transparente utilizando o Pagseguro e a linguagem de programação PHP.
Saiba mais!
Pagseguro
Nesse curso será abordado a temática de vendas online com pagseguro através do redirecionamento, lightbox e checkout transparente.
Saiba mais!