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. --> <!-- For JSDelivr use the code below. -->
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çoBifrost.initialize().then((status) =>{ if(status){ Bifrost.showMessage('Msg no PINPAD'); }}).catch(() => { Bifrost.terminate();}); // Fazendo um pagamento via créditoBifrost.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 });});