Angular e mercado pago - Resolvido

17 respostas Resolvido
guilhermebhte

Angular.

https://www.mercadopago.com.br/developers/pt/guides/online-payments/checkout-api/receiving-payment-by-card

Coloquei este link <script src="https://secure.mlstatic.com/sdk/javascript/v1/mercadopago.js"></script>, no index.html

Dá erro no MercadoPago, conforme imagem

window.Mercadopago.setPublishableKey("YOUR_PUBLIC_KEY");

Está faltando algo ?

Procurei e não vi um npm, por exemplo

17 Respostas

dern0s

será a falta do P maiúsculo?

window.MercadoPago.etc ?
rodriguesabner

Eu uso o pagseguro, a integraçao é bem parecida… Sempre tive muita dúvida e erro tbm, mas quando botei o script dentro do <body> funcionou de boas.

<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
<script type="text/javascript" src=
        "https://stc.sandbox.pagseguro.uol.com.br/pagseguro/api/v2/checkout/pagseguro.directpayment.js"></script>
............
</body>
guilhermebhte

Os dois são o mesmo erro

javaflex

Da onde vem esse window? Lembrando que no Angular as coisas sao mais burocráticas e nao pode acessar diretamente o objeto window do browser como se fosse js puro. Essa é uma das formas de ter acesso:

guilhermebhte

Vem do exemplo do marcadopago, mas usando o javascript.

javaflex

Mas você não ta usando javascript puro, se fosse seria mais fácil como no exemplo do Mercado Livre. Segue o exemplo que passei pra ter acesso ao window pelo Angular.

guilhermebhte

Entendi e sei.

mas o erro continua.

providers: [
    SnackBarComponent,
    MenuItems,
    {
      provide: DEFAULT_CURRENCY_CODE,
      useValue: ''
    },
    {
      provide: NGX_MAT_FILE_INPUT_CONFIG,
      useValue: config
    },
    {
      provide: MAT_DATE_LOCALE,
      useValue: 'pt-BR'
    },
    {
      provide: Window, 
      useValue: window
    }
  ],

Coloquei no construtor

private window: Window

E o erro continua

Ao dar npm start, mostra o erro

alem destas

guilhermebhte

Não funcionou também

rodriguesabner

Não funciona dá erro? O q acontece?

rodriguesabner

Agora que vi o post com os erros, tenta isso:

guilhermebhte

Coloquei as imagens

guilhermebhte

Segunda tento. obrigado

guilhermebhte

Neste link https://github.com/maximegris/angular-electron/issues/334#issuecomment-557546151, ele disse para alterar o código src/typings.d.ts. Mas não achei .

Felipe_Teixeira1

tenta dessa forma

(window as any).Mercadopago.setPublishableKey(“YOUR_PUBLIC_KEY”);

guilhermebhte

Mas aonde devo colocar o window ?

javaflex
Solucao aceita

Faz dessa forma:

Exemplo pegando a versao dessa lib do mercadopago.

guilhermebhte

Funcionou @javaflex

Obrigado

Criado 16 de outubro de 2020
Ultima resposta 22 de out. de 2020
Respostas 17
Participantes 5