react-fps-hk-qrcode
Version:
React component for displaying a Hong Kong Fast Payment System QR Code
41 lines (34 loc) • 1.1 kB
JavaScript
import React,{Component} from "react";
var QRCode = require('qrcode.react');
const emvEncode = require('./emv-code')
const crc16 = require('./crc-16-ccitt')
const pad = require('./pad')
class FasterPaymentSystemQRCode extends Component {
render(){
let qrcode = <div>Invalid or missing input data.</div>
const { bank_code, fps_id, mobile, email, mcc="0000", currency="344", amount, reference="" } = this.props;
let account = null
if(fps_id) { account = "02" }
if(mobile&&bank_code) { account = "03" }
if(email&&bank_code) { account = "04" }
if( account ){
const msg = emvEncode({
"account": account,
"bank_code": bank_code || "",
"fps_id": fps_id,
"mobile": mobile,
"email": email,
"mcc": mcc,
"currency": currency,
"amount": amount,
"reference": reference
});
if( msg ){
const crc = pad(crc16(msg).toString(16),4).toUpperCase();
qrcode = <QRCode value={msg+crc}/>
}
}
return (qrcode);
}
};
export default FasterPaymentSystemQRCode;