private string GerarExibirQrcodePix(DadosPix dadosPix) { string payLoad = new ModelPix().GerarStringPayLoad(dadosPix); string diretorio = HttpContext.Current.Server.MapPath("~"); string caminhoQRCode = new ModelPix().GerarQRCodeLogo(payLoad, diretorio); return(caminhoQRCode); }
//Método responsável por receber dados para geração de string payload public EntPix ToEntity(DadosPix dadosPix) { return(new EntPix() { merchantName = dadosPix.Nome, amount = dadosPix.Valor, merchantCity = dadosPix.Cidade, typeKey = dadosPix.TipoChave, pixKey = dadosPix.ChavePix }); }
//Método responsável por gerar a string do PayLoad public string GerarStringPayLoad(DadosPix dadosPix) { EntPix entPix = ToEntity(dadosPix); string payLoad = CalcularValores(EntPix.Id_Payload_Format_Indicator, "01") + CalcularValores(EntPix.Id_Merchant_Account_Information, GetMerchantAccountInformation(entPix.pixKey)) + CalcularValores(EntPix.Id_Merchant_Category_Code, "0000") + CalcularValores(EntPix.Id_Transaction_Currency, "986") + CalcularValores(EntPix.Id_Transaction_Amount, entPix.amount.ToString("F2").Replace(",", ".")) + CalcularValores(EntPix.Id_Country_Code, "BR") + CalcularValores(EntPix.Id_Merchant_Name, entPix.merchantName) + CalcularValores(EntPix.Id_Merchant_City, entPix.merchantCity) + CalcularValores(EntPix.Id_Additional_Field_Template, GetAdditionalFieldTemplate()) + EntPix.Id_CRC16 + "04"; return(payLoad + CalcularCRC16(payLoad)); }