Class: Rubyqrpay::Generator
- Inherits:
-
Object
- Object
- Rubyqrpay::Generator
- Defined in:
- lib/rubyqrpay/constants.rb,
lib/rubyqrpay/generator.rb
Constant Summary collapse
- ID_PAYLOAD_FORMAT =
'00'- ID_POI_METHOD =
'01'- ID_MERCHANT_INFORMATION_32 =
'32'- ID_MERCHANT_INFORMATION_33 =
'33'- ID_MERCHANT_CATEGORY_CODE =
'52'- ID_TRANSACTION_CURRENCY =
'53'- ID_TRANSACTION_AMOUNT =
'54'- ID_TIP_OF_CONVENIENCE_INDICATOR =
'55'- ID_VALUE_OF_CONVENIENCE_FEE_FIXED =
'56'- ID_VALUE_OF_CONVENIENCE_FEE_PERCENTAGE =
'57'- ID_COUNTRY =
'58'- ID_MERCHANT_NAME =
'59'- ID_MERCHANT_CITY =
'60'- ID_POSTAL_CODE =
'61'- ID_ADDITIONAL_DATA_FIELD =
'62'- ID_MERCHANT_INFORMATION_LANGUAGE =
'64'- ID_CRC =
'63'- PAYLOAD_FORMAT_EMV_QRCPS_MERCHANT_PRESENTED_MODE =
'01'- POI_METHOD_STATIC =
'11'- POI_METHOD_DYNAMIC =
'12'- CONVENIENCE_INDICATOR_FIXED =
'02'- CONVENIENCE_INDICATOR_PERCENTAGE =
'03'- MERCHANT_INFORMATION_TEMPLATE_ID_GUID =
'00'- ID_SERVICE_CODE_ERIP =
ID_MERCHANT_INFORMATION_32
'01'- ID_PAYER_UNIQUE =
'10'- ID_PAYER_NUMBER =
'11'- ID_AMOUNT_EDIT_POSSIBILITY =
'12'- ID_SERVICE_PRODUCER_CODE =
ID_MERCHANT_INFORMATION_33
'03'- ID_SERVICE_CODE =
'04'- ID_OUTLET =
'05'- ID_ORDER_CODE =
'06'- ID_BILL_NUMBER =
ID_ADDITIONAL_DATA_FIELD
'01'- ID_MOBILE_NUMBER =
'02'- ID_STORE_LABEL =
'03'- ID_LOYALTY_NUMBER =
'04'- ID_REFERENCE_LABEL =
'05'- ID_CUSTOMER_LABEL =
'06'- ID_TERMINAL_LABEL =
'07'- ID_PURPOSE_OF_TRANSACTION =
'08'- ID_CONSUMER_DATA_REQUEST =
'09'- ID_LANGUAGE_REFERENCE =
ID_MERCHANT_INFORMATION_LANGUAGE
'00'- ID_MERCHANT_NAME_ALTERNATE =
'01'- ID_MERCHANT_CITY_ALTERNATE =
'02'- GUID_PROMPTPAY_32 =
'by.raschet'- GUID_PROMPTPAY_33 =
'by.epos.'- CRC_SYMBOL_SIZE =
'04'- AEP_DEFAULT =
'11'- AEP_FALSE =
'12'- K_SIZE_FUNC =
0.15
- B_SIZE_FUNC =
140
Class Method Summary collapse
Class Method Details
.generate_payload(opts) ⇒ Object
11 12 13 14 15 16 17 |
# File 'lib/rubyqrpay/generator.rb', line 11 def self.generate_payload(opts) opts = Rubyqrpay::Validator.validate_payload(opts) unless opts.nil? payload = generation(opts) percent_encode payload end end |
.generate_png(url, payload, **opts) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/rubyqrpay/generator.rb', line 19 def self.generate_png(url, payload, **opts) opts_default = {size: size_func(url, payload).to_i, level: :l} qrcode = RQRCode::QRCode.new("#{url}#{payload}", level: opts[:level] || opts_default[:level]) png = qrcode.as_png(resize_gte_to: false, resize_exactly_to: false, fill: 'white', color: 'black', size: opts[:size] || opts_default[:size], border_modules: 4, module_px_size: 6) qrcode_to_base64(png) end |