checkout-payment-sample icon indicating copy to clipboard operation
checkout-payment-sample copied to clipboard

Checkout Pro not open

Open felipeusr opened this issue 3 years ago • 0 comments

Alguma coisa falta, mas não sei o que é... A documentação não é clara.

Frontend index.html

<!DOCTYPE html>
<html lang="pt-br">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Checkout Pro Integração</title>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
        <script src="https://secure.mlstatic.com/sdk/javascript/v1/mercadopago.js"></script>
    </head>

    <body>
        <div style="width: 500px; height: 500px; background-color: #f0f0f0;">
            <form class="cho-container" action="http://localhost:3001/pagar" method="post">
                <!--Botão renderizado aqui-->
            </form>
        </div>

        <script src="https://sdk.mercadopago.com/js/v2"></script>
        <script>
            // Adicione as credenciais do SDK
            const mp = new MercadoPago('TEST-a324251b-bd2e-4c0f-9507-c8ec807b6145', {
                locale: 'pt-BR'
            });

            // Inicialize o checkout
            mp.checkout({
                preference: {
                    id: '1'
                },
                render: {
                    container: '.cho-container', // Indique o nome da class onde será exibido o botão de pagamento
                    label: 'Comprar agora', // Muda o texto do botão de pagamento (opcional)
                }
            });
        </script>
    
    </body>
</html>

Server-side (node) index.js

const express = require("express");
const app = express();
const cors = require("cors");
const body_parser = require("body-parser");
const mercadopago = require ('mercadopago');

app.use(express.json());
app.use(cors());
app.use(body_parser.urlencoded({ extended : true }));

mercadopago.configure({
    access_token: 'TEST-3059303028461564-092022-f2dda18bb6dff04b17c65d5fd6a3d2e1-807277607'
});

app.post("/pagar", (req, res) => {
    var preference = {
        items: [
            {
                id: '1',
                title: 'Lightweight Paper Table',
                description: 'Inspired by the classic foldable art of origami',
                category_id: 'home',
                quantity: 1,
                currency_id: 'BRL',
                unit_price: 55
            }
        ]
    };
    mercadopago.preferences.create(preference)
    .then(function (response) {
        res.json({
            id: response.body.id
        });
    }).catch(function (error) {
        console.log(error);
    });
});

app.listen(3001, () => {
    console.info("Server running in 3001 port!");
});

felipeusr avatar Oct 02 '21 02:10 felipeusr