pagarme-bifrost-js
    TypeScript icon, indicating that this package has built-in type declarations

    0.2.5 • Public • Published

    PagarME Bifrost.JS

    Uma forma mais fácil de implementar o websocket da Pagar.me em seu sistema.

    Como Usar

    NPM / Yarn

    npm install pagarme-bifrost-js --save
     
    # For Yarn, use the command below. 
    yarn add pagarme-bifrost-js

    CDN

    <!-- For UNPKG use the code below. -->
    <script src="https://unpkg.com/pagarme-bifrost-js@latest/dist/index.umd.js"></script>
     
    <!-- For JSDelivr use the code below. -->
    <script src="https://cdn.jsdelivr.net/npm/pagarme-bifrost-js@latest/dist/index.umd.js"></script>
     
    <script>
      console.log(PagarMeBifrost);
    </script> 

    API

    Classe

    Iniciando a classe

    import PagarMeBifrost from 'pagarme-bifrost-js';
     
    const Bifrost = new PagarMeBifrost({
      contextId: 'ABC123',
      encryptionKey: 'ENCKEY',
    });

    Construtor

    Argumentos
    Propiedade Tipo Default
    debug boolean Ativa o modo de Debug
    host string Endereço de conexão do WebSocket
    contextId string ID do contexto de conexão
    baudRate number Taxa de comunicação
    encryptionKey string Chave de criptografia Pagar.ME
    pinPadMaxCharLine number Quantidade máxima de caracteres por linha do PinPad
    pinPadMaxChar number Quantidade máxima de caracteres na tela do PinPad
    pinPanDisplayLines number Número de linhas disponíveis no PinPad

    initialize

    Inicializa o WebSocket. Caso esteja tudo Ok, será retornado true, senão um Error

      Bifrost.initialize();

    terminate

    Finaliza o WebSocket. Caso esteja tudo Ok, será retornado true, senão um Error

      Bifrost.terminate();

    status

    Retorna o status do WebSocket. Caso esteja tudo Ok, será retornado um objeto de status BifrostServiceStatus, senão um Error

      /**
       * @typedef {object} BifrostServiceStatus
       * @property {boolean} connected - Is device connected
       * @property {string} contextId - Device Context
       * @property {string} connectedDeviceId - Connected Device Id
       */
      Bifrost.status();

    showMessage

    Exibe uma mensagem ou array de mensagens no display do Pinpad.

      Bifrost.showMessage('MSG' || ['MSG']);

    payment

    Inicializa o processo de pagamento no WebSocket, você deve passar dois parâmetros. O primeiro é o valor (float) e o segundo o metodo de pagamento ('credit'|'debit'|1|2). Caso esteja tudo Ok, será retornado PinPadProcessedCardReturn, senão um Error

      /**
       * @typedef {object} PinPadProcessedCardReturn
       * @property {string} card_hash
       * @property {string} card_holder_name
       * @property {number} error_code
       * @property {boolean} is_online_pin
       * @property {number} payment_method
       * @property {number} status
       */
      const amount = 10; // Float
      const method = 'credit'; // 'credit'|'debit'|1|2
      Bifrost.payment(amount, method);

    finish

    Finaliza o processo de pagamento no WebSocket, após o pagamento iniciado e o backEnd processado ele, você deve passar os códigos devolvidos pelo backend para o serviço de WebSocket. Caso esteja tudo Ok, será retornado a resposta do serviço Object, senão um Error

      Bifrost.finish({
        code: '', // Código devolvido pelo servidor
        emvData: '', // Código devolvido pelo servidor
        messages: [''], // Array de mensagens para serem mostradas no PinPad
      });

    Exemplo

    import PagarMeBifrost from 'pagarme-bifrost-js';
     
    const Bifrost = new PagarMeBifrost({
      contextId: 'ABC123',
      encryptionKey: 'ENCKEY',
    });
    // Inicializando o serviço
    Bifrost.initialize()
    .then((status) =>{
      if(status){
        Bifrost.showMessage('Msg no PINPAD');
      }
    })
    .catch(() => {
      Bifrost.terminate();
    });
     
    // Fazendo um pagamento via crédito
    Bifrost.payment(10.00, 'credit')
    .then((response) => {
      /* Após enviar para o backend a resposta (response)
      * você vai receber os dados para a finalização 
      * */
      Bifrost.finish({
        code: '', // Código devolvido pelo servidor
        emvData: '', // Código devolvido pelo servidor
        messages: [''], // Array de mensagens para serem mostradas no PinPad
      });
    });
     

    Install

    npm i pagarme-bifrost-js

    DownloadsWeekly Downloads

    3

    Version

    0.2.5

    License

    MIT

    Unpacked Size

    197 kB

    Total Files

    11

    Last publish

    Collaborators

    • avatar