Angular e mercado pago - Resolvido

17 respostas Resolvido
G

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

D

será a falta do P maiúsculo?

window.MercadoPago.etc ?
R

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>
G

Os dois são o mesmo erro

J

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:

G

Vem do exemplo do marcadopago, mas usando o javascript.

J

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.

G

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

G

Não funcionou também

R

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

R

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

G

Coloquei as imagens

G

Segunda tento. obrigado

G

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 .

F

tenta dessa forma

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

G

Mas aonde devo colocar o window ?

J
Solucao aceita

Faz dessa forma:

Exemplo pegando a versao dessa lib do mercadopago.

G

Funcionou @javaflex

Obrigado

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