Angular e mercado pago - Resolvido

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

será a falta do P maiúsculo?

window.MercadoPago.etc ?
1 curtida

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>
1 curtida

Os dois são o mesmo erro

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:

1 curtida

Vem do exemplo do marcadopago, mas usando o javascript.

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.

1 curtida

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

Não funcionou também

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

1 curtida

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

1 curtida

Coloquei as imagens

Segunda tento. obrigado

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 .

tenta dessa forma

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

1 curtida

Mas aonde devo colocar o window ?

Faz dessa forma:

Exemplo pegando a versao dessa lib do mercadopago.

1 curtida

Funcionou @javaflex

Obrigado