rtml 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +4 -0
- data/Manifest.txt +396 -0
- data/PostInstall.txt +2 -0
- data/README.rdoc +42 -0
- data/Rakefile +33 -0
- data/app_generators/rtml/USAGE +5 -0
- data/app_generators/rtml/rtml_generator.rb +78 -0
- data/app_generators/rtml/templates/rails_template.rb +36 -0
- data/app_generators/rtml/templates/rtml/MIT-LICENSE +20 -0
- data/app_generators/rtml/templates/rtml/README +109 -0
- data/app_generators/rtml/templates/rtml/Rakefile +38 -0
- data/app_generators/rtml/templates/rtml/app/controllers/beryl_controller.rb +70 -0
- data/app_generators/rtml/templates/rtml/app/controllers/rtml/magcard_demo_controller.rb +9 -0
- data/app_generators/rtml/templates/rtml/app/controllers/rtml/oe/btmlpa_controller.rb +158 -0
- data/app_generators/rtml/templates/rtml/app/controllers/rtml/rtml_app_controller.rb +252 -0
- data/app_generators/rtml/templates/rtml/app/controllers/rtml/tml_app_controller.rb +418 -0
- data/app_generators/rtml/templates/rtml/app/helpers/beryl_helper.rb +72 -0
- data/app_generators/rtml/templates/rtml/app/helpers/beryl_tml_helpers/auth_result.rb +56 -0
- data/app_generators/rtml/templates/rtml/app/helpers/beryl_tml_helpers/common.rb +19 -0
- data/app_generators/rtml/templates/rtml/app/helpers/beryl_tml_helpers/index.rb +82 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/magcard_demo_helper.rb +2 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/magcard_demo_tml_helpers/authorized.rb +10 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/magcard_demo_tml_helpers/common.rb +20 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/magcard_demo_tml_helpers/index.rb +33 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_helper.rb +2 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/auth_result.rb +23 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/common.rb +23 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/dynamic.rb +11 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/icc.rb +384 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/index.rb +191 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/oe/btmlpa_tml_helpers/receipt.rb +152 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/rtml_app_helper.rb +74 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/rtml_app_tml_helpers/common.rb +9 -0
- data/app_generators/rtml/templates/rtml/app/helpers/rtml/tml_app_helper.rb +43 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/card.rb +83 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/card_avs.rb +14 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/card_cvv.rb +14 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/card_parser.rb +21 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/card_pin.rb +18 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/emv_card_data.rb +25 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/mag_card_data.rb +21 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/reference_code.rb +26 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/state.rb +12 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/terminal.rb +8 -0
- data/app_generators/rtml/templates/rtml/app/models/rtml/transaction.rb +68 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/auth_result/another_rcpt.rtml.erb +15 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/auth_result/receipt.rtml.erb +108 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/auth_result/receipt_single_column.rtml.erb +106 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/index/about.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/index/admin.rtml.erb +4 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/index/construction.rtml.erb +10 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/index/idle.rtml.erb +13 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/index/main_menu.rtml.erb +12 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/index/menu_credit.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/beryl/index/menu_debit.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/beryl_color.rtml.erb +24 -0
- data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/beryl_mono.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/magcard_demo_color.rtml.erb +24 -0
- data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/magcard_demo_mono.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/oe/btmlpa_i5100.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/oe/btmlpa_i8550.rtml.erb +17 -0
- data/app_generators/rtml/templates/rtml/app/views/layouts/rtml/uml.html.erb +11 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/authorized.html.erb +15 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/authorized/main.rtml.erb +5 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/index.html.erb +15 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/index/_error.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/index/enter_amount.rtml.erb +5 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/magcard_demo/index/main.rtml.erb +4 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/dynamic/response.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/icc.rtml.erb +760 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_enter_amount.rtml.erb +4 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_about.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_duplicate.rtml.erb +9 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_examples.rtml.erb +9 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_logo.rtml.erb +11 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_other.rtml.erb +20 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_refund.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_reversal.rtml.erb +9 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_sale.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/_menu_sale_cashback.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/about.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/assert.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/card_nmb.rtml.erb +19 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/compl_txn.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/confirm_rev.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/duplicate_na.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/error_scr.rtml.erb +4 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/main_menu.rtml.bak +31 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/main_menu.rtml.erb +40 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/print_pf.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/rd_sale_disp.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/read_refund.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/read_scb.rtml.erb +10 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/reject_trans.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/remove_card.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/rev_bad.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/scb_check_f.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/sign_check.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/subm_err.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/to_man_entry.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/trans_abrt.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/index/void_trans.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/receipt/_receipt.rtml.erb +29 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/oe/btmlpa/receipt/error_paper.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/rtml_app/_default_development.html.erb +167 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/rtml_app/_default_header.html.erb +12 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/rtml_app/_default_production.html.erb +8 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/rtml_app/charts.html.erb +14 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/tml_app/do_tml_redirect.rtml.erb +7 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/tml_app/get_terminal_info.rtml.erb +26 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/tml_app/rescue_action_in_public.rtml.erb +9 -0
- data/app_generators/rtml/templates/rtml/app/views/rtml/tml_app/rescue_action_locally.rtml.erb +42 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/common.rb +303 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/force.rb +46 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/return.rb +22 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/sale.rb +49 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/_confirmation.rtml.erb +10 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/_receipt_agreement.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/_receipt_footer.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/_receipt_header.rtml.erb +4 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/ask_cashback.rtml.erb +11 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/card_imprint.rtml.erb +7 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/check_cb.rtml.erb +11 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/conf_debit.rtml.erb +5 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/confirm_sale.rtml.erb +4 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/confrm_force.rtml.erb +4 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/cvv_skipped.rtml.erb +10 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/disp_avs.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/do_avs_zip.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/enter_amount.rtml.erb +12 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/enter_card.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/enter_cashbk.rtml.erb +10 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/enter_cvv2.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/enter_expiry.rtml.erb +9 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/fraud_check1.rtml.erb +6 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/fraud_check2.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/frc_aprvl.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/frc_avs_zip.rtml.erb +8 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/frc_bad_aprv.rtml.erb +5 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/frd_chk_fail.rtml.erb +5 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/invalid_exp.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/no_entr_crd.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/remove_card.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/swipe_card.rtml.erb +7 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/trans_abort.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/trans_reject.rtml.erb +1 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/views/void_ref.rtml.erb +10 -0
- data/app_generators/rtml/templates/rtml/components/rtml/features/void.rb +30 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/card_parser_widget.rb +90 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/display_widget.rb +66 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/element_builder_widget.rb +123 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/emv_support_widget.rb +365 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/form_submit_widget.rb +65 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/get_transaction_variables_widget.rb +33 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/get_variable_widget.rb +39 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/receipt_widget.rb +66 -0
- data/app_generators/rtml/templates/rtml/components/rtml/widgets/screen_builder_widget.rb +49 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090825132217_create_rtml_states.rb +15 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090825132401_create_rtml_terminals.rb +16 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090825132530_create_rtml_transactions.rb +24 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090825134118_create_rtml_cards.rb +23 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090825134622_create_rtml_emv_card_data.rb +20 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090825134629_create_rtml_mag_card_data.rb +17 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090825135838_create_rtml_card_parsers.rb +19 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090826103509_create_reference_codes.rb +14 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090915030044_add_batch_to_rtml_transactions.rb +10 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090915031155_add_additional_data_to_rtml_transactions.rb +10 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20090915031156_add_hidden_data_to_rtml_transactions.rb +10 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20091016133313_create_rtml_card_avs.rb +16 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20091016135800_create_rtml_card_cvvs.rb +16 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20091016135810_create_rtml_card_pins.rb +16 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20091016135820_reverse_card_transaction_relationship.rb +11 -0
- data/app_generators/rtml/templates/rtml/db/migrate/20100127115105_convert_rtml_migrations_to_rails_migrations.rb +31 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/USAGE +25 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/rtml_controller_generator.rb +49 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/common_tml_helper.rb +20 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/controller.rb +3 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/css_color.css +37 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/css_mono.css +12 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/functional_test.rb +11 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/helper.rb +2 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/layout_color.rtml.erb +24 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/layout_mono.rtml.erb +3 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/tml_helper.rb +16 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/view.html.erb +15 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_controller/templates/view.rtml.erb +2 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_document/USAGE +8 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_document/rtml_document_generator.rb +45 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_document/templates/controller.rb +7 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_document/templates/functional_test.rb +10 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_document/templates/helper.rb +2 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_document/templates/view.rtml.erb +11 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_widget/USAGE +8 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_widget/rtml_widget_generator.rb +66 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_widget/templates/basic_widget.rb +57 -0
- data/app_generators/rtml/templates/rtml/generators/rtml_widget/templates/basic_widget_no_help.rb +27 -0
- data/app_generators/rtml/templates/rtml/init.rb +40 -0
- data/app_generators/rtml/templates/rtml/install.rb +18 -0
- data/app_generators/rtml/templates/rtml/lib/environment.rb +61 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/action_controller/request.rb +9 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/action_controller/routing/route_set.rb +34 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/action_view/base.rb +74 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/action_view/partial_template.rb +24 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/active_record.rb +13 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/active_support/dependencies.rb +25 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/array.rb +15 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/attr_boolean.rb +10 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/hash.rb +28 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/nil_class.rb +20 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/rake.rb +19 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/regexp.rb +16 -0
- data/app_generators/rtml/templates/rtml/lib/extensions/string.rb +37 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins.rb +23 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/MIT-LICENSE +20 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/README +36 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/Rakefile +44 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/init.rb +25 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/lib/action_controller/filters/before_render_filter.rb +30 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/lib/before_render.rb +43 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/lib/before_render_instance.rb +45 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/lib/filter_chain_has_many_types_of_filters.rb +87 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/lib/filter_has_before_render.rb +26 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/tasks/before_render_tasks.rake +25 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/test/before_render_test.rb +29 -0
- data/app_generators/rtml/templates/rtml/lib/other_plugins/before_render/test/test_helper.rb +24 -0
- data/app_generators/rtml/templates/rtml/lib/rtml.rb +77 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/beryl/constants.rb +12 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/beryl/version.rb +11 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/common/renderable.rb +13 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/include.rb +30 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/layout.rb +59 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/next.rb +188 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/screen.rb +91 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/screen/iterators.rb +63 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/screen/next_screen_methods.rb +70 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/screen/variable_methods.rb +73 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/support/importer.rb +55 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/tml_document.rb +318 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/tml_document/screen_methods.rb +79 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/tml_document/variable_methods.rb +83 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/core/variable.rb +123 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/debug/browser_emulator.rb +59 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/debug/rtml_controller_test_case.rb +7 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/debug/rtml_core_unit_test.rb +11 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/debug/unit_test.rb +3 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/delegation.rb +8 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/doc.rb +12 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/element.rb +75 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/errors/widget_accessor_failure.rb +9 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/events/event_handler.rb +79 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/events/event_processor.rb +106 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/events/processors.rb +10 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/events/processors/defaults_processor.rb +18 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/events/processors/key_processor.rb +21 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/feature.rb +32 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/feature_config.rb +195 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/features.rb +18 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/features/array_of_feature_instances.rb +17 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/features/controller_class_methods.rb +30 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/features/controller_instance_methods.rb +35 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers.rb +21 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/controller_helpers.rb +59 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/controller_helpers/menu_helpers.rb +193 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/action_view_wrapper.rb +23 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/event_helpers.rb +28 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/layout_helpers.rb +47 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/widget_support.rb +181 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/widget_support/class_methods.rb +28 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/core_helpers/yield_helpers.rb +33 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/proxy_helpers/feature_helpers.rb +17 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/render_helper.rb +71 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/terminal_helpers.rb +21 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/test_helpers.rb +6 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/test_helpers/tml_validation_assertions.rb +10 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/test_helpers/variable_assertions.rb +27 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/view_helpers/form_helpers.rb +70 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/helpers/view_helpers/rtml_form_builder.rb +174 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/oe/btmlpa_constants.rb +48 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/proxying/method_missing_methods.rb +14 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/proxying/rtml_interface.rb +33 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/proxying/sandbox.rb +18 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/text_utils.rb +51 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/tml_param_parser.rb +95 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/validation/dom_rule_parser.rb +61 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/validation/dom_tag.rb +52 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/validation/predefined_variable_rule_parser.rb +97 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/validation/tml_validator.rb +16 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/version.rb +11 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/widgets/property.rb +11 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/widgets/property_accessors.rb +59 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/widgets/widget.rb +251 -0
- data/app_generators/rtml/templates/rtml/lib/rtml/widgets/widget_class_methods.rb +213 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/dot.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_can.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_cand.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_en.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_end.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_i.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_icd.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_icl.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_icr.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_ics.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_icsw.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_icv.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_int.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_int2.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_men.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_mend.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_next.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_no.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_nod.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_ok.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_okd.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_pic1.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_pic2.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_pic3.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_pic4.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_top.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_txn.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_yes.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/btmlpa/nbg_yesd.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/btmlpa.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/can_dn.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/can_up.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/conf.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/iccemv.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/images.lib +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/magcard.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/no_dn.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/no_up.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/ok_dn.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/ok_up.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/top.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/yes_dn.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/images/rtml/oe/examples/yes_up.gif +0 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/beryl_color.css +37 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/beryl_mono.css +17 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/charts.css +0 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/oe/btmlpa/i5100.css +12 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/oe/btmlpa/i8550.css +37 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/oe/btmlpa/receipt.css +4 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/oe/examples/i5100.css +12 -0
- data/app_generators/rtml/templates/rtml/public/stylesheets/rtml/oe/examples/i8550.css +37 -0
- data/app_generators/rtml/templates/rtml/reporting/110409 +227 -0
- data/app_generators/rtml/templates/rtml/reporting/linecount.rb +42 -0
- data/app_generators/rtml/templates/rtml/rules/predefined_tml_variables.rb +63 -0
- data/app_generators/rtml/templates/rtml/rules/tml_document_structure.rb +84 -0
- data/app_generators/rtml/templates/rtml/rules/varns/audio.rb +30 -0
- data/app_generators/rtml/templates/rtml/rules/varns/card.rb +17 -0
- data/app_generators/rtml/templates/rtml/rules/varns/card/emv.rb +31 -0
- data/app_generators/rtml/templates/rtml/rules/varns/card/mag.rb +8 -0
- data/app_generators/rtml/templates/rtml/rules/varns/card/parser.rb +7 -0
- data/app_generators/rtml/templates/rtml/rules/varns/card/pin.rb +6 -0
- data/app_generators/rtml/templates/rtml/rules/varns/cfgm.rb +15 -0
- data/app_generators/rtml/templates/rtml/rules/varns/com.rb +9 -0
- data/app_generators/rtml/templates/rtml/rules/varns/err.rb +14 -0
- data/app_generators/rtml/templates/rtml/rules/varns/gma/event.rb +13 -0
- data/app_generators/rtml/templates/rtml/rules/varns/gprs.rb +8 -0
- data/app_generators/rtml/templates/rtml/rules/varns/imager.rb +8 -0
- data/app_generators/rtml/templates/rtml/rules/varns/ip.rb +15 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oebr.rb +42 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oebr/3rdparty.rb +7 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oebr/backlight.rb +4 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oebr/cache.rb +1 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oebr/connect.rb +5 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oebr/connection.rb +5 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oebr/offline.rb +5 -0
- data/app_generators/rtml/templates/rtml/rules/varns/oegw.rb +12 -0
- data/app_generators/rtml/templates/rtml/rules/varns/payment.rb +21 -0
- data/app_generators/rtml/templates/rtml/rules/varns/ppp.rb +11 -0
- data/app_generators/rtml/templates/rtml/rules/varns/terminal.rb +29 -0
- data/app_generators/rtml/templates/rtml/tasks/rtml_tasks.rake +78 -0
- data/app_generators/rtml/templates/rtml/template.rb +64 -0
- data/app_generators/rtml/templates/rtml/test/core/element_test.rb +17 -0
- data/app_generators/rtml/templates/rtml/test/core/screen_test.rb +91 -0
- data/app_generators/rtml/templates/rtml/test/core/tml_document_test.rb +53 -0
- data/app_generators/rtml/templates/rtml/test/functional/beryl_controller_test.rb +13 -0
- data/app_generators/rtml/templates/rtml/test/functional/btmlpa_controller_test.rb +13 -0
- data/app_generators/rtml/templates/rtml/test/functional/magcard_demo_controller_test.rb +20 -0
- data/app_generators/rtml/templates/rtml/test/functional/rtml_app_controller_test.rb +9 -0
- data/app_generators/rtml/templates/rtml/test/functional/rtml_routing_test.rb +19 -0
- data/app_generators/rtml/templates/rtml/test/functional/tml_controller_params_test.rb +20 -0
- data/app_generators/rtml/templates/rtml/test/rtml_test_helper.rb +44 -0
- data/app_generators/rtml/templates/rtml/test/validation/predefined_variable_rule_parser_test.rb +11 -0
- data/app_generators/rtml/templates/rtml/uninstall.rb +1 -0
- data/app_generators/rtml/templates/rtml/update.rb +57 -0
- data/bin/rtml +36 -0
- data/lib/rtml.rb +4 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/tasks/reglob.rake +28 -0
- data/test/test_generator_helper.rb +29 -0
- data/test/test_helper.rb +3 -0
- data/test/test_rtml.rb +11 -0
- data/test/test_rtml_generator.rb +43 -0
- metadata +516 -0
data/app_generators/rtml/templates/rtml/app/views/beryl/auth_result/receipt_single_column.rtml.erb
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
<table width='100%'>
|
|
2
|
+
<%spacer = "<tr><td class='small'><br/></td></tr>"%>
|
|
3
|
+
<%=spacer%>
|
|
4
|
+
<tr>
|
|
5
|
+
<td align='center' class='large bold'>
|
|
6
|
+
<%=receipt_text(controller.feature_config.common.receipt_header)%>
|
|
7
|
+
</td>
|
|
8
|
+
</tr>
|
|
9
|
+
<%=spacer%>
|
|
10
|
+
<tr>
|
|
11
|
+
<td align='left'>
|
|
12
|
+
<%=@transaction.created_at.strftime("%m/%d/%y %H:%M:%S")%>
|
|
13
|
+
</td>
|
|
14
|
+
</tr>
|
|
15
|
+
<tr><td align='left'>TID: <%=tid_for_transaction(@transaction)%></td></tr>
|
|
16
|
+
<%if @transaction.card%>
|
|
17
|
+
<tr><td align='left'>Entry Method: <%=@transaction.card.input_type.to_s.titleize%></td></tr>
|
|
18
|
+
<%end%>
|
|
19
|
+
<%unless @transaction.batch.blank?%>
|
|
20
|
+
<tr><td align='left'>Batch #: <%=@transaction.batch%></td></tr>
|
|
21
|
+
<%end%>
|
|
22
|
+
<%unless @transaction.additional_data.empty?
|
|
23
|
+
@transaction.additional_data.each do |label, value|%>
|
|
24
|
+
<tr><td align='left'><%=label.to_s.titleize%>:<%=value%></td></tr>
|
|
25
|
+
<%end
|
|
26
|
+
end%>
|
|
27
|
+
<tr><td align='left'>REF #:<%=@transaction.reference_code.to_s%></td></tr>
|
|
28
|
+
<%=spacer%>
|
|
29
|
+
<tr><td class='bold'>Auth Code: <%=@transaction.auth_code%></td></tr>
|
|
30
|
+
<tr><td class='bold'><getvar name='card.pan' format='n#*n4' /></td></tr>
|
|
31
|
+
<%((@transaction.payment_order.empty?) ? @transaction.payment_data.keys : @transaction.payment_order).each do |key|%>
|
|
32
|
+
<%value = (@transaction.payment_data.key? key) ? @transaction.payment_data[key] : nil%>
|
|
33
|
+
<%unless [:cashback, :total].include? key%>
|
|
34
|
+
<%if key.nil? or key.blank? or key == :blank or value == :blank%>
|
|
35
|
+
<%=spacer%>
|
|
36
|
+
<%elsif @transaction.payment_data.key? key%>
|
|
37
|
+
<%if value.kind_of? String%>
|
|
38
|
+
<tr>
|
|
39
|
+
<td align='left' class='bold'><%=key.to_s.titleize%>: <%=value%></td>
|
|
40
|
+
</tr>
|
|
41
|
+
<%elsif value.nil?%>
|
|
42
|
+
<tr>
|
|
43
|
+
<td align='left' class='bold'><%=key.to_s.titleize%></td>
|
|
44
|
+
</tr>
|
|
45
|
+
<%else%>
|
|
46
|
+
<tr>
|
|
47
|
+
<td align='left' class='bold'><%=key.to_s.titleize%>: <%=integer_as_currency value%></td>
|
|
48
|
+
</tr>
|
|
49
|
+
<%end%>
|
|
50
|
+
<%end%>
|
|
51
|
+
<%end%>
|
|
52
|
+
<%end%>
|
|
53
|
+
<%if @transaction.amount_other and @transaction.amount_other > 0%>
|
|
54
|
+
<%if @transaction.payment_data.key? :cashback and @transaction.payment_order.include? :cashback%>
|
|
55
|
+
<tr>
|
|
56
|
+
<td align='left' class='bold'>
|
|
57
|
+
Cashback: <%=integer_as_currency(@transaction.payment_data[:cashback] || @transaction.amount_other)%>
|
|
58
|
+
</td>
|
|
59
|
+
</tr>
|
|
60
|
+
<%end%>
|
|
61
|
+
<%if @transaction.payment_data.key? :total and @transaction.payment_order.include? :total%>
|
|
62
|
+
<tr>
|
|
63
|
+
<td align='left' class='bold'>
|
|
64
|
+
Total: <%=integer_as_currency(@transaction.payment_data[:total]||(@transaction.payment_data[:amount]||@transaction.amount)+@transaction.amount_other)%>
|
|
65
|
+
</td>
|
|
66
|
+
</tr>
|
|
67
|
+
<%end%>
|
|
68
|
+
<%end%>
|
|
69
|
+
<%=spacer%>
|
|
70
|
+
<tr>
|
|
71
|
+
<td align='center' class='small'>
|
|
72
|
+
<%=@transaction.message%>
|
|
73
|
+
</td>
|
|
74
|
+
</tr>
|
|
75
|
+
<%=spacer%>
|
|
76
|
+
<tr>
|
|
77
|
+
<td align='left'>
|
|
78
|
+
<%if @duplicate || @transaction.hidden_data[:duplicate]%>
|
|
79
|
+
(DUPLICATE TRANSACTION)
|
|
80
|
+
<%else%>
|
|
81
|
+
<getvar name='signature_line' />
|
|
82
|
+
<%end%>
|
|
83
|
+
</td>
|
|
84
|
+
</tr>
|
|
85
|
+
<%=spacer%>
|
|
86
|
+
<tr>
|
|
87
|
+
<td align='center'>
|
|
88
|
+
<%=receipt_text(controller.feature_config.common.receipt_agreement)%>
|
|
89
|
+
</td>
|
|
90
|
+
</tr>
|
|
91
|
+
<%=spacer%>
|
|
92
|
+
<tr>
|
|
93
|
+
<td align='center'>
|
|
94
|
+
<%=receipt_text(controller.feature_config.common.receipt_footer)%>
|
|
95
|
+
</td>
|
|
96
|
+
</tr>
|
|
97
|
+
<%=spacer%>
|
|
98
|
+
<tr>
|
|
99
|
+
<td align='center'>
|
|
100
|
+
<getvar name='owner' /> COPY
|
|
101
|
+
</td>
|
|
102
|
+
</tr>
|
|
103
|
+
</table>
|
|
104
|
+
<br/><br/><br/>
|
|
105
|
+
<br/><br/><br/>
|
|
106
|
+
<br/><br/><br/>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<table width='100%' height='100%'>
|
|
2
|
+
<tr><td align='center'><h1><%=controller.controller_name.titleize%></h1></td></tr>
|
|
3
|
+
<tr><td align='center'>
|
|
4
|
+
Beryl v<%=Rtml::Beryl::VERSION::STRING%><br/>
|
|
5
|
+
RubyTML v<%=Rtml::VERSION::STRING%><br/>
|
|
6
|
+
Ruby v<%=VERSION%> / Rails v<%=Rails::VERSION::STRING%>
|
|
7
|
+
</td></tr>
|
|
8
|
+
</table>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<table width='100%' height='100%'>
|
|
2
|
+
<tr>
|
|
3
|
+
<td valign='middle' align='center'>
|
|
4
|
+
<h1><%=controller.controller_name.titleize%></h1>
|
|
5
|
+
</td>
|
|
6
|
+
</tr>
|
|
7
|
+
<tr>
|
|
8
|
+
<td align='center'><br/></td>
|
|
9
|
+
</tr>
|
|
10
|
+
<tr>
|
|
11
|
+
<td align='center'>Please Swipe Card<br/>or Press MENU</td>
|
|
12
|
+
</tr>
|
|
13
|
+
</table>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<%content_for :title do%>Main Menu<%end%>
|
|
2
|
+
|
|
3
|
+
<table width='100%'>
|
|
4
|
+
<tr><td align='left'>1. </td><td align='left'><%=link_to 'Credit Card', :anchor => :menu_credit%></td></tr>
|
|
5
|
+
<tr><td align='left'>2. </td><td align='left'><%=link_to 'Debit Card', :anchor => :menu_debit%></td></tr>
|
|
6
|
+
<!--
|
|
7
|
+
<tr><td><%=link_to '3. EBT', :anchor => :construction%></td></tr>
|
|
8
|
+
<tr><td><%=link_to '4. Reprint', :anchor => :construction%></td></tr>
|
|
9
|
+
<tr><td><%=link_to '5. Reports', :anchor => :construction%></td></tr>
|
|
10
|
+
<tr><td><%=link_to '6. Settle', :anchor => :construction%></td></tr>
|
|
11
|
+
-->
|
|
12
|
+
</table>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<table height="240" width="240" class="menu">
|
|
2
|
+
<tr><td align="center" valign="middle">
|
|
3
|
+
<table height="240" width="240">
|
|
4
|
+
<tr><td align="center" valign="middle">
|
|
5
|
+
<table width="100%" height="240">
|
|
6
|
+
<tr><td align="center" valign="middle">
|
|
7
|
+
<table class="c_small" height="77">
|
|
8
|
+
<tr><td align="left" valign="middle">
|
|
9
|
+
RTML Application (layout_graphic.rtml.erb)
|
|
10
|
+
</td></tr>
|
|
11
|
+
</table>
|
|
12
|
+
</td></tr>
|
|
13
|
+
<tr><td align="center">
|
|
14
|
+
<table width="240" border="0" height="163">
|
|
15
|
+
<tr><td align='center' valign='middle' class='c_bold_large'>
|
|
16
|
+
<%=yield%>
|
|
17
|
+
</td></tr>
|
|
18
|
+
</table>
|
|
19
|
+
</td></tr>
|
|
20
|
+
</table>
|
|
21
|
+
</td></tr>
|
|
22
|
+
</table>
|
|
23
|
+
</td></tr>
|
|
24
|
+
</table>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<table height="240" width="240" class="menu">
|
|
2
|
+
<tr><td align="center" valign="middle">
|
|
3
|
+
<table height="240" width="240">
|
|
4
|
+
<tr><td align="center" valign="middle">
|
|
5
|
+
<table width="100%" height="240">
|
|
6
|
+
<tr><td align="center" valign="middle">
|
|
7
|
+
<table class="c_small" height="77">
|
|
8
|
+
<tr><td align="left" valign="middle">
|
|
9
|
+
RTML Application (layout_graphic.rtml.erb)
|
|
10
|
+
</td></tr>
|
|
11
|
+
</table>
|
|
12
|
+
</td></tr>
|
|
13
|
+
<tr><td align="center">
|
|
14
|
+
<table width="240" border="0" height="163">
|
|
15
|
+
<tr><td align='center' valign='middle' class='c_bold_large'>
|
|
16
|
+
<%=yield%>
|
|
17
|
+
</td></tr>
|
|
18
|
+
</table>
|
|
19
|
+
</td></tr>
|
|
20
|
+
</table>
|
|
21
|
+
</td></tr>
|
|
22
|
+
</table>
|
|
23
|
+
</td></tr>
|
|
24
|
+
</table>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<table height="240" width="240" class="menu">
|
|
2
|
+
<tr><td align="center" valign="middle">
|
|
3
|
+
<table height="240" width="240">
|
|
4
|
+
<tr><td align="center" valign="middle">
|
|
5
|
+
<table width="100%" height="240">
|
|
6
|
+
<tr><td align="center">
|
|
7
|
+
<table width="240" border="0" height="163">
|
|
8
|
+
<tr><td align='center' valign='middle' class='c_bold_large'>
|
|
9
|
+
<%=yield%>
|
|
10
|
+
</td></tr>
|
|
11
|
+
</table>
|
|
12
|
+
</td></tr>
|
|
13
|
+
</table>
|
|
14
|
+
</td></tr>
|
|
15
|
+
</table>
|
|
16
|
+
</td></tr>
|
|
17
|
+
</table>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
5
|
+
<title>RTML Charts for <%=params[:controller].titleize%>#<%=params[:for].titleize%></title>
|
|
6
|
+
<%=stylesheet_link_tag 'rtml/charts'%>
|
|
7
|
+
</head>
|
|
8
|
+
<body>
|
|
9
|
+
<%=yield%>
|
|
10
|
+
</body>
|
|
11
|
+
</html>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
5
|
+
<title><%=params[:controller]%> - <%=params[:action]%></title>
|
|
6
|
+
<%=render :partial => 'rtml/rtml_app/default_header'%>
|
|
7
|
+
</head>
|
|
8
|
+
<body>
|
|
9
|
+
<%if ENV['RAILS_ENV'] == 'production'%>
|
|
10
|
+
<%=render :partial => "rtml/rtml_app/default_production"%>
|
|
11
|
+
<%else # this could include test %>
|
|
12
|
+
<%=render :partial => "rtml/rtml_app/default_development"%>
|
|
13
|
+
<%end%>
|
|
14
|
+
</body>
|
|
15
|
+
</html>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
|
|
2
|
+
<html>
|
|
3
|
+
<head>
|
|
4
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
5
|
+
<title><%=params[:controller]%> - <%=params[:action]%></title>
|
|
6
|
+
<%=render :partial => 'rtml/rtml_app/default_header'%>
|
|
7
|
+
</head>
|
|
8
|
+
<body>
|
|
9
|
+
<%if ENV['RAILS_ENV'] == 'production'%>
|
|
10
|
+
<%=render :partial => "rtml/rtml_app/default_production"%>
|
|
11
|
+
<%else # this could include test %>
|
|
12
|
+
<%=render :partial => "rtml/rtml_app/default_development"%>
|
|
13
|
+
<%end%>
|
|
14
|
+
</body>
|
|
15
|
+
</html>
|
|
@@ -0,0 +1,760 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
2
|
+
|
|
3
|
+
<tml xmlns="http://www.ingenico.co.uk/tml">
|
|
4
|
+
|
|
5
|
+
<head>
|
|
6
|
+
<defaults cancel="<%=@index%>"/>
|
|
7
|
+
<error uri="#error_scr"/>
|
|
8
|
+
</head>
|
|
9
|
+
|
|
10
|
+
<!-- use the same stylesheet as tmlapp.tml -->
|
|
11
|
+
|
|
12
|
+
<!-- String containing PIN verification method -->
|
|
13
|
+
<vardcl name="txt_cvm" perms="rw---"/>
|
|
14
|
+
|
|
15
|
+
<!-- list of EMV applications that will be displayed for manual selection -->
|
|
16
|
+
<vardcl name="btmlpa.emv.selection_list" perms="rw---"/>
|
|
17
|
+
|
|
18
|
+
<!-- used to select a particular item from the list -->
|
|
19
|
+
<vardcl name="btmlpa.emv.selected_item" perms="rw---"/>
|
|
20
|
+
|
|
21
|
+
<vardcl name="app_item"/>
|
|
22
|
+
<vardcl name="app_sel_mode"/>
|
|
23
|
+
<vardcl name="app_list"/>
|
|
24
|
+
<vardcl name="aid_list"/>
|
|
25
|
+
<vardcl name="index" type="integer"/>
|
|
26
|
+
<vardcl name="count" type="integer"/>
|
|
27
|
+
<vardcl name="app"/>
|
|
28
|
+
<vardcl name="aid"/>
|
|
29
|
+
<vardcl name="app_status"/>
|
|
30
|
+
<vardcl name="sep"/>
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
<!--===========================================================================
|
|
34
|
+
If card requires cardholder confirmation, display the list
|
|
35
|
+
else, check if there are several applications or only a single one
|
|
36
|
+
============================================================================-->
|
|
37
|
+
<screen id="check_apps">
|
|
38
|
+
<setvar name="count" lo="tmlvar:card.emv.app_status_list" op="number"/>
|
|
39
|
+
<next uri="<%=@assert%>">
|
|
40
|
+
<variant uri="#man_app_sel" lo="tmlvar:card.emv.selected_app" op="equal" ro="manual"/>
|
|
41
|
+
<variant uri="#chk_multi" lo="tmlvar:card.emv.selected_app" op="equal" ro=""/>
|
|
42
|
+
</next>
|
|
43
|
+
</screen>
|
|
44
|
+
|
|
45
|
+
<!--===========================================================================
|
|
46
|
+
Check if there are several applications or only a single one.
|
|
47
|
+
If there are several applications, display the list fo manual selection , even if not required (best practice)
|
|
48
|
+
If there is only a single one, try to select it automatically
|
|
49
|
+
============================================================================-->
|
|
50
|
+
<screen id="chk_multi">
|
|
51
|
+
<next uri="#man_app_sel">
|
|
52
|
+
<variant uri="#auto_app_sel" lo="tmlvar:count" op="equal" ro="1"/>
|
|
53
|
+
</next>
|
|
54
|
+
</screen>
|
|
55
|
+
|
|
56
|
+
<!--===========================================================================
|
|
57
|
+
Enable automatic application selection
|
|
58
|
+
============================================================================-->
|
|
59
|
+
<screen id="auto_app_sel" next="#final_select" timeout="1">
|
|
60
|
+
<!-- save the label of the application that will be used for the transaction -->
|
|
61
|
+
<setvar name="btmlpa.emv.txn_app" lo="tmlvar:card.emv.app_list"/>
|
|
62
|
+
|
|
63
|
+
<setvar name="app_sel_mode" lo="auto"/>
|
|
64
|
+
<setvar name="card.emv.selected_app" lo=""/>
|
|
65
|
+
|
|
66
|
+
<display>
|
|
67
|
+
<table class="message"><tr><td>
|
|
68
|
+
<span>
|
|
69
|
+
|
|
70
|
+
Auto selection
|
|
71
|
+
|
|
72
|
+
</span>
|
|
73
|
+
</td></tr></table>
|
|
74
|
+
</display>
|
|
75
|
+
</screen>
|
|
76
|
+
|
|
77
|
+
<!--===========================================================================
|
|
78
|
+
Enable cardholder manual application selection
|
|
79
|
+
============================================================================-->
|
|
80
|
+
<screen id="man_app_sel" timeout="1">
|
|
81
|
+
<setvar name="app_sel_mode" lo="manual"/>
|
|
82
|
+
<next uri="<%=@assert%>">
|
|
83
|
+
<variant uri="#prepare_list" lo="card.emv.app_list" op="not_equal" ro=""/>
|
|
84
|
+
</next>
|
|
85
|
+
<display>
|
|
86
|
+
<table class="message"><tr><td>
|
|
87
|
+
<span>
|
|
88
|
+
|
|
89
|
+
Manual selection
|
|
90
|
+
|
|
91
|
+
</span>
|
|
92
|
+
</td></tr></table>
|
|
93
|
+
</display>
|
|
94
|
+
</screen>
|
|
95
|
+
|
|
96
|
+
<!--=========================================================
|
|
97
|
+
Building an application list for user selection
|
|
98
|
+
===========================================================-->
|
|
99
|
+
|
|
100
|
+
<!-- Enable cardholder manual application selection -->
|
|
101
|
+
<screen id="prepare_list">
|
|
102
|
+
<setvar name="sep" lo=""/>
|
|
103
|
+
<setvar name="app_list" lo=""/>
|
|
104
|
+
<setvar name="aid_list" lo=""/>
|
|
105
|
+
<setvar name="btmlpa.emv.selection_list" lo=""/>
|
|
106
|
+
<setvar name="index" lo="0"/>
|
|
107
|
+
<setvar name="count" lo="tmlvar:card.emv.app_status_list" op="number"/>
|
|
108
|
+
<next uri="<%=@assert%>">
|
|
109
|
+
<variant uri="#check_status" lo="0" op="less" ro="tmlvar:count"/>
|
|
110
|
+
</next>
|
|
111
|
+
</screen>
|
|
112
|
+
|
|
113
|
+
<!--
|
|
114
|
+
Copy the active applications into the list to be displayed. Inactive applications
|
|
115
|
+
are just skipped.
|
|
116
|
+
-->
|
|
117
|
+
<screen id="check_status" next="#copy_app1">
|
|
118
|
+
<setvar name="app_status" lo="tmlvar:card.emv.app_status_list" op="item" ro="tmlvar:index"/>
|
|
119
|
+
<next uri="<%=@assert%>">
|
|
120
|
+
<variant uri="#copy_app1" lo="tmlvar:app_status" op="equal" ro="active"/>
|
|
121
|
+
<variant uri="#loop_app" lo="tmlvar:app_status" op="equal" ro="inactive"/>
|
|
122
|
+
</next>
|
|
123
|
+
</screen>
|
|
124
|
+
|
|
125
|
+
<!--
|
|
126
|
+
Copy an application into the list of application to be displayed
|
|
127
|
+
-->
|
|
128
|
+
<screen id="copy_app1" next="#copy_app2">
|
|
129
|
+
<setvar name="app" lo="tmlvar:card.emv.app_list" op="item" ro="tmlvar:index"/>
|
|
130
|
+
<strtemplate name="app_item" format="%1%2: %3">
|
|
131
|
+
<getvar name="sep" />
|
|
132
|
+
<getvar name="index" format="^00"/>
|
|
133
|
+
<getvar name="app" />
|
|
134
|
+
</strtemplate>
|
|
135
|
+
</screen>
|
|
136
|
+
|
|
137
|
+
<screen id="copy_app2" next="#loop_app">
|
|
138
|
+
<setvar name="btmlpa.emv.selection_list" lo="tmlvar:btmlpa.emv.selection_list" op="plus" ro="tmlvar:app_item" />
|
|
139
|
+
<setvar name="app" lo="tmlvar:sep" op="plus" ro="tmlvar:app" />
|
|
140
|
+
<setvar name="app_list" lo="tmlvar:app_list" op="plus" ro="tmlvar:app" />
|
|
141
|
+
<setvar name="aid" lo="tmlvar:card.emv.aid_list" op="item" ro="tmlvar:index"/>
|
|
142
|
+
<setvar name="aid" lo="tmlvar:sep" op="plus" ro="tmlvar:aid"/>
|
|
143
|
+
<setvar name="aid_list" lo="tmlvar:aid_list" op="plus" ro="tmlvar:aid"/>
|
|
144
|
+
<setvar name="sep" lo=";"/>
|
|
145
|
+
</screen>
|
|
146
|
+
|
|
147
|
+
<!--
|
|
148
|
+
Move forward the index for application status check process
|
|
149
|
+
-->
|
|
150
|
+
<screen id="loop_app">
|
|
151
|
+
<setvar name="index" lo="tmlvar:index" op="plus" ro="1"/>
|
|
152
|
+
<next uri="#check_status">
|
|
153
|
+
<variant uri="#select_first" lo="tmlvar:index" op="equal" ro="tmlvar:count"/>
|
|
154
|
+
</next>
|
|
155
|
+
</screen>
|
|
156
|
+
|
|
157
|
+
<!--
|
|
158
|
+
Check whether the list of available applications is empty or not
|
|
159
|
+
-->
|
|
160
|
+
<screen id="select_first">
|
|
161
|
+
<setvar name="count" lo="tmlvar:app_list" op="number"/>
|
|
162
|
+
<next uri="#rej_no_app">
|
|
163
|
+
<variant uri="#show_app_lst" lo="0" op="less" ro="tmlvar:count"/>
|
|
164
|
+
</next>
|
|
165
|
+
</screen>
|
|
166
|
+
|
|
167
|
+
<!--
|
|
168
|
+
If none of the application sare active, abort the transaction
|
|
169
|
+
-->
|
|
170
|
+
<screen id="rej_no_app" next="<%=@abort%>">
|
|
171
|
+
<display>
|
|
172
|
+
<table border="2" class="warning"><tr><td>
|
|
173
|
+
<span>
|
|
174
|
+
|
|
175
|
+
All applications are inactive.<br/>
|
|
176
|
+
Transaction will be rejected.
|
|
177
|
+
|
|
178
|
+
</span>
|
|
179
|
+
</td></tr></table>
|
|
180
|
+
</display>
|
|
181
|
+
</screen>
|
|
182
|
+
|
|
183
|
+
<!--===========================================================================
|
|
184
|
+
Show the list of available applications for cardholder selection
|
|
185
|
+
============================================================================-->
|
|
186
|
+
<!-- input a value from the list -->
|
|
187
|
+
<screen id="show_app_lst" cancel="<%=@abort%>">
|
|
188
|
+
<setvar name="btmlpa.emv.selected_item" lo="tmlvar:btmlpa.emv.selection_list" op="item" ro="0"/>
|
|
189
|
+
<next uri="<%=@assert%>">
|
|
190
|
+
<variant uri="#select_aid1" lo="tmlvar:btmlpa.emv.selected_item" op="not_equal" ro=""/>
|
|
191
|
+
</next>
|
|
192
|
+
<display>
|
|
193
|
+
<form>
|
|
194
|
+
<div class="title">
|
|
195
|
+
<span class="title">
|
|
196
|
+
Select ICC Application:
|
|
197
|
+
</span>
|
|
198
|
+
</div>
|
|
199
|
+
<div class="menu">
|
|
200
|
+
<input type="list" name="btmlpa.emv.selected_item" value="tmlvar:btmlpa.emv.selection_list" rows="4" width="100%" multiple="no" />
|
|
201
|
+
</div>
|
|
202
|
+
</form>
|
|
203
|
+
</display>
|
|
204
|
+
</screen>
|
|
205
|
+
|
|
206
|
+
<!--===========================================================================
|
|
207
|
+
Based on cardholder selection, fill the card.emv.selected_aid
|
|
208
|
+
============================================================================-->
|
|
209
|
+
|
|
210
|
+
<!-- get the aid value from the list value -->
|
|
211
|
+
<screen id="select_aid1" cancel="<%=@index%>" timeout="1">
|
|
212
|
+
|
|
213
|
+
<!-- formatting 'btmlpa.emv.selected_item' to contain only the first two digits, but not the rest of the list item.
|
|
214
|
+
for instance, if you have selected "00: VISA CREDIT" from the list on the
|
|
215
|
+
'show_app_lst' screen, after format operation,
|
|
216
|
+
'btmlpa.emv.selected_item' will contain only "00" -->
|
|
217
|
+
<setvar name="btmlpa.emv.selected_item" lo="tmlvar:btmlpa.emv.selected_item" op="format" format="nn"/>
|
|
218
|
+
<!-- 'btmlpa.emv.selected_item' contains only digits, so it can be cast into integer -->
|
|
219
|
+
<setvar name="index" lo="tmlvar:btmlpa.emv.selected_item"/>
|
|
220
|
+
|
|
221
|
+
<!-- set up variables for the card parser -->
|
|
222
|
+
<setvar name="card.emv.selected_app" lo=""/>
|
|
223
|
+
<setvar name="card.emv.selected_aid" lo="tmlvar:aid_list" op="item" ro="tmlvar:index"/>
|
|
224
|
+
|
|
225
|
+
<!-- set variables that will be used in other modules of the BTMLPA
|
|
226
|
+
such as receipt printing -->
|
|
227
|
+
<setvar name="btmlpa.emv.txn_aid" lo="tmlvar:card.emv.selected_aid" />
|
|
228
|
+
<setvar name="btmlpa.emv.txn_app" lo="tmlvar:app_list" op="item" ro="tmlvar:index" />
|
|
229
|
+
|
|
230
|
+
<next uri="<%=@assert%>">
|
|
231
|
+
<variant uri="#final_select" lo="tmlvar:card.emv.selected_aid" op="not_equal" ro=""/>
|
|
232
|
+
</next>
|
|
233
|
+
<display>
|
|
234
|
+
<table class="message"><tr><td>
|
|
235
|
+
<span>
|
|
236
|
+
|
|
237
|
+
<getvar name="btmlpa.emv.txn_app"/><br/>
|
|
238
|
+
<getvar name="btmlpa.emv.txn_aid"/><br/>
|
|
239
|
+
|
|
240
|
+
</span>
|
|
241
|
+
</td></tr></table>
|
|
242
|
+
</display>
|
|
243
|
+
</screen>
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
<!--===========================================================================
|
|
247
|
+
Final application selection and initialization after application
|
|
248
|
+
auto/manual choice
|
|
249
|
+
============================================================================-->
|
|
250
|
+
|
|
251
|
+
<screen id="final_select" next="#chk_resel">
|
|
252
|
+
<tform>
|
|
253
|
+
<baddata max="1" next="<%=@abort%>">
|
|
254
|
+
<table border="2" class="warning"><tr><td>
|
|
255
|
+
<span>
|
|
256
|
+
|
|
257
|
+
<getvar name="err.baddata_reason"/> <br/>
|
|
258
|
+
err.high = <getvar name="err.code.high"/> <br/>
|
|
259
|
+
err.low = <getvar name="err.code.low"/><br/>
|
|
260
|
+
card.emv.apdu_list: <getvar name="card.emv.apdu_list"/>
|
|
261
|
+
|
|
262
|
+
</span>
|
|
263
|
+
</td></tr></table>
|
|
264
|
+
</baddata>
|
|
265
|
+
<card parser="icc_emv" parser_params="final_select"/>
|
|
266
|
+
</tform>
|
|
267
|
+
</screen>
|
|
268
|
+
|
|
269
|
+
<!--===========================================================================
|
|
270
|
+
Ensure the final selection was ok. If not, application list shall be
|
|
271
|
+
re-displayed
|
|
272
|
+
If application selection was OK, go to PIN check
|
|
273
|
+
If application selection failed, try to select another one
|
|
274
|
+
============================================================================-->
|
|
275
|
+
<screen id="chk_resel">
|
|
276
|
+
<next uri="#icc_get_cvm">
|
|
277
|
+
<!-- application selection failed -->
|
|
278
|
+
<variant uri="#dsp_selfld" lo="tmlvar:err.code.low" op="equal" ro="-32817"/>
|
|
279
|
+
<variant uri="#dsp_selfld" lo="tmlvar:err.code.low" op="equal" ro="-4380"/>
|
|
280
|
+
</next>
|
|
281
|
+
</screen>
|
|
282
|
+
|
|
283
|
+
<!--####################################################################-->
|
|
284
|
+
<!-- these screens are not used by the BTMLPA. They can be used to safely cancel an initiated transaction.
|
|
285
|
+
This can be used, for example, to read the customer name from an EMV card after the application selection, but to correctly
|
|
286
|
+
stop the transaction from going further
|
|
287
|
+
this cancellation should not be required for normal EMV transaction-->
|
|
288
|
+
|
|
289
|
+
<screen id="cncltran" next="#dspcncl">
|
|
290
|
+
<tform>
|
|
291
|
+
<baddata max="1" next="<%=@abort%>">
|
|
292
|
+
<table border="2" class="warning"><tr><td>
|
|
293
|
+
<span>
|
|
294
|
+
|
|
295
|
+
<getvar name="err.baddata_reason"/>
|
|
296
|
+
|
|
297
|
+
</span>
|
|
298
|
+
</td></tr></table>
|
|
299
|
+
</baddata>
|
|
300
|
+
<card parser="icc_emv" parser_params="cancel"/>
|
|
301
|
+
</tform>
|
|
302
|
+
</screen>
|
|
303
|
+
|
|
304
|
+
<screen id="dspcncl" next="<%=@abort%>">
|
|
305
|
+
<display>
|
|
306
|
+
The transaction has been canceled <br/>
|
|
307
|
+
Cardholder name = <getvar name="card.cardholder_name"/><br/>
|
|
308
|
+
AAC = <getvar name="card.emv.aac"/>
|
|
309
|
+
</display>
|
|
310
|
+
</screen>
|
|
311
|
+
<!--####################################################################-->
|
|
312
|
+
|
|
313
|
+
<!--===========================================================================
|
|
314
|
+
If final application selection failed, prompt the cardholder for another
|
|
315
|
+
application selection if a list was previously displayed
|
|
316
|
+
============================================================================-->
|
|
317
|
+
<screen id="dsp_selfld">
|
|
318
|
+
<next uri="#auto_app_sel">
|
|
319
|
+
<variant uri="#man_app_sel" lo="tmlvar:app_sel_mode" op="equal" ro="manual"/>
|
|
320
|
+
</next>
|
|
321
|
+
<display>
|
|
322
|
+
<table border="2" class="warning"><tr><td>
|
|
323
|
+
<span>
|
|
324
|
+
|
|
325
|
+
<getvar name="err.baddata_reason"/> <br/>
|
|
326
|
+
err.high = <getvar name="err.code.high"/> <br/>
|
|
327
|
+
err.low = <getvar name="err.code.low"/><br/>
|
|
328
|
+
card.emv.apdu_list: <getvar name="card.emv.apdu_list"/><br/>
|
|
329
|
+
app: <getvar name="card.emv.app_list"/><br/>
|
|
330
|
+
status: <getvar name="card.emv.app_status_list"/>
|
|
331
|
+
|
|
332
|
+
</span>
|
|
333
|
+
</td></tr></table>
|
|
334
|
+
</display>
|
|
335
|
+
</screen>
|
|
336
|
+
|
|
337
|
+
|
|
338
|
+
|
|
339
|
+
|
|
340
|
+
<!-- icc screen analyses card verification method -->
|
|
341
|
+
<screen id="icc_get_cvm" next="#chksign">
|
|
342
|
+
|
|
343
|
+
<tform>
|
|
344
|
+
<baddata max="1" next="<%=@abort%>">
|
|
345
|
+
<table border="2" class="warning"><tr><td>
|
|
346
|
+
<span>
|
|
347
|
+
|
|
348
|
+
<getvar name="err.baddata_reason"/>
|
|
349
|
+
err.high = <getvar name="err.code.high"/> <br/>
|
|
350
|
+
err.low = <getvar name="err.code.low"/><br/>
|
|
351
|
+
card.emv.apdu_list: <getvar name="card.emv.apdu_list"/>
|
|
352
|
+
|
|
353
|
+
</span>
|
|
354
|
+
</td></tr></table>
|
|
355
|
+
</baddata>
|
|
356
|
+
<card parser="icc_emv" parser_params="get_cvm"/>
|
|
357
|
+
</tform>
|
|
358
|
+
</screen>
|
|
359
|
+
|
|
360
|
+
<screen id="chksign">
|
|
361
|
+
<setvar name="txt_cvm" lo=""/>
|
|
362
|
+
<next uri="#chkcvm">
|
|
363
|
+
<variant lo="tmlvar:card.emv.signature" op="equal" ro="1" uri="#set_sign"/>
|
|
364
|
+
</next>
|
|
365
|
+
</screen>
|
|
366
|
+
|
|
367
|
+
<screen id="set_sign" next="#chkcvm">
|
|
368
|
+
<setvar name="txt_cvm" lo=" + SIGNATURE"/>
|
|
369
|
+
</screen>
|
|
370
|
+
|
|
371
|
+
<screen id="chkcvm">
|
|
372
|
+
<next uri="<%=@assert%>">
|
|
373
|
+
<variant lo="tmlvar:card.parser.verdict" op="equal" ro="reject" uri="<%=@reject%>"/>
|
|
374
|
+
<variant lo="tmlvar:card.parser.cvm" op="equal" ro="pin" uri="#enter_pin"/>
|
|
375
|
+
<variant lo="tmlvar:card.parser.cvm" op="equal" ro="pin_online" uri="#online_cvm"/>
|
|
376
|
+
<variant lo="tmlvar:card.parser.cvm" op="equal" ro="no_cv" uri="#cv_no_cv"/>
|
|
377
|
+
<variant lo="tmlvar:card.parser.cvm" op="equal" ro="" uri="#icc_rsk_mgmt"/>
|
|
378
|
+
</next>
|
|
379
|
+
</screen>
|
|
380
|
+
|
|
381
|
+
<!-- Empty form, just to set the cvr -->
|
|
382
|
+
<screen id="online_cvm" next="#bypass_cvm" timeout="1">
|
|
383
|
+
<display>
|
|
384
|
+
<table class="message"><tr><td>
|
|
385
|
+
<span>
|
|
386
|
+
|
|
387
|
+
ONLINE PIN <getvar name="txt_cvm"/>
|
|
388
|
+
|
|
389
|
+
</span>
|
|
390
|
+
</td></tr></table>
|
|
391
|
+
</display>
|
|
392
|
+
</screen>
|
|
393
|
+
|
|
394
|
+
<screen id="bypass_cvm" next="#icc_get_cvm">
|
|
395
|
+
<setvar name="card.parser.cvr" lo="bypassed"/>
|
|
396
|
+
</screen>
|
|
397
|
+
|
|
398
|
+
<!-- Empty form, just to set the cvr -->
|
|
399
|
+
<screen id="cv_no_cv" next="#icc_get_cvm" timeout="1">
|
|
400
|
+
<setvar name="card.parser.cvr" lo="ok"/>
|
|
401
|
+
<display>
|
|
402
|
+
<table class="message"><tr><td>
|
|
403
|
+
<span>
|
|
404
|
+
|
|
405
|
+
NO CVM <getvar name="txt_cvm"/>
|
|
406
|
+
|
|
407
|
+
</span>
|
|
408
|
+
</td></tr></table>
|
|
409
|
+
</display>
|
|
410
|
+
</screen>
|
|
411
|
+
|
|
412
|
+
<!--
|
|
413
|
+
Check if it is last attempt
|
|
414
|
+
in case user presses cancel we should set present him next type of
|
|
415
|
+
card verification method
|
|
416
|
+
-->
|
|
417
|
+
<screen id="enter_pin" cancel="#cvr_no_pin" timeout="1">
|
|
418
|
+
<next uri="<%=@assert%>">
|
|
419
|
+
<variant lo="tmlvar:card.emv.last_attempt" op="equal" ro="0" uri="#enterpin"/>
|
|
420
|
+
<variant lo="tmlvar:card.emv.last_attempt" op="equal" ro="1" uri="#enterpinlast"/>
|
|
421
|
+
</next>
|
|
422
|
+
<display>
|
|
423
|
+
<table class="message"><tr><td>
|
|
424
|
+
<span>
|
|
425
|
+
|
|
426
|
+
Offline PIN <getvar name="txt_cvm"/>
|
|
427
|
+
|
|
428
|
+
</span>
|
|
429
|
+
</td></tr></table>
|
|
430
|
+
</display>
|
|
431
|
+
</screen>
|
|
432
|
+
|
|
433
|
+
<!--
|
|
434
|
+
in case user presses cancel we should present him next type of
|
|
435
|
+
card verification method
|
|
436
|
+
-->
|
|
437
|
+
<screen id="enterpin" cancel="#cvr_no_pin" next="#verify_pin">
|
|
438
|
+
<tform>
|
|
439
|
+
|
|
440
|
+
<baddata max="1" next="<%=@abort%>">
|
|
441
|
+
<table border="2" class="warning"><tr><td>
|
|
442
|
+
<span>
|
|
443
|
+
|
|
444
|
+
<getvar name="err.baddata_reason"/><br/>
|
|
445
|
+
err.high = <getvar name="err.code.high"/> <br/>
|
|
446
|
+
err.low = <getvar name="err.code.low"/><br/>
|
|
447
|
+
|
|
448
|
+
</span>
|
|
449
|
+
</td></tr></table>
|
|
450
|
+
</baddata>
|
|
451
|
+
<!-- calls SSA for secure PIN entry -->
|
|
452
|
+
<pinentry type="icc" prompt="Enter PIN" />
|
|
453
|
+
|
|
454
|
+
</tform>
|
|
455
|
+
</screen>
|
|
456
|
+
|
|
457
|
+
<!--
|
|
458
|
+
Sets cvr to "failed" as the customer refused to enter pin (instead of
|
|
459
|
+
"failed" "bypassed" value may be used to bypass "pin" method)
|
|
460
|
+
-->
|
|
461
|
+
<screen id="cvr_no_pin" next="#icc_get_cvm">
|
|
462
|
+
<setvar name="card.parser.cvr" lo="failed"/>
|
|
463
|
+
</screen>
|
|
464
|
+
|
|
465
|
+
<!--
|
|
466
|
+
in case user presses cancel we should present him next type of
|
|
467
|
+
card verification method
|
|
468
|
+
-->
|
|
469
|
+
<screen id="enterpinlast" timeout="3" cancel="#cvr_no_pin" next="#pinlast">
|
|
470
|
+
<display>
|
|
471
|
+
<table class="message"><tr><td>
|
|
472
|
+
<span>
|
|
473
|
+
|
|
474
|
+
Last Try.
|
|
475
|
+
|
|
476
|
+
</span>
|
|
477
|
+
</td></tr></table>
|
|
478
|
+
</display>
|
|
479
|
+
</screen>
|
|
480
|
+
|
|
481
|
+
<!--
|
|
482
|
+
in case user preses cancel we should present him next type of
|
|
483
|
+
card verification method
|
|
484
|
+
-->
|
|
485
|
+
<screen id="pinlast" cancel="#cvr_no_pin" next="#verify_pin">
|
|
486
|
+
<tform>
|
|
487
|
+
<baddata next="<%=@abort%>">
|
|
488
|
+
<table border="2" class="warning"><tr><td>
|
|
489
|
+
<span>
|
|
490
|
+
|
|
491
|
+
<getvar name="err.baddata_reason"/>
|
|
492
|
+
|
|
493
|
+
</span>
|
|
494
|
+
</td></tr></table>
|
|
495
|
+
</baddata>
|
|
496
|
+
|
|
497
|
+
<pinentry type="icc" prompt="Enter PIN"/>
|
|
498
|
+
|
|
499
|
+
</tform>
|
|
500
|
+
</screen>
|
|
501
|
+
|
|
502
|
+
<!-- Verifies pin -->
|
|
503
|
+
<screen id="verify_pin">
|
|
504
|
+
<next uri="<%=@assert%>">
|
|
505
|
+
<variant lo="tmlvar:card.parser.verdict" op="equal" ro="reject" uri="<%=@reject%>"/>
|
|
506
|
+
|
|
507
|
+
<variant lo="tmlvar:card.parser.cvr" op="equal" ro="ok" uri="#icc_get_cvm"/>
|
|
508
|
+
<variant lo="tmlvar:card.parser.cvr" op="equal" ro="ok_msg" uri="#pin_ok_msg"/>
|
|
509
|
+
<variant lo="tmlvar:card.parser.cvr" op="equal" ro="failed" uri="#wrong_pin"/>
|
|
510
|
+
<variant lo="tmlvar:card.parser.cvr" op="equal" ro="pin_tries" uri="#wrong_pin"/>
|
|
511
|
+
</next>
|
|
512
|
+
<tform>
|
|
513
|
+
<baddata max="1" next="<%=@abort%>">
|
|
514
|
+
<table border="2" class="warning"><tr><td>
|
|
515
|
+
<span>
|
|
516
|
+
|
|
517
|
+
<getvar name="err.baddata_reason"/><br/>
|
|
518
|
+
err.high = <getvar name="err.code.high"/> <br/>
|
|
519
|
+
err.low = <getvar name="err.code.low"/>
|
|
520
|
+
|
|
521
|
+
</span>
|
|
522
|
+
</td></tr></table>
|
|
523
|
+
</baddata>
|
|
524
|
+
<card parser="icc_emv" parser_params="verify"/>
|
|
525
|
+
</tform>
|
|
526
|
+
</screen>
|
|
527
|
+
|
|
528
|
+
<!-- Notifies that user entered correct pin -->
|
|
529
|
+
<screen id="pin_ok_msg" timeout="1" cancel="#icc_get_cvm" next="#icc_get_cvm">
|
|
530
|
+
<display>
|
|
531
|
+
<table class="message"><tr><td>
|
|
532
|
+
<span>
|
|
533
|
+
|
|
534
|
+
PIN OK
|
|
535
|
+
|
|
536
|
+
</span>
|
|
537
|
+
</td></tr></table>
|
|
538
|
+
</display>
|
|
539
|
+
</screen>
|
|
540
|
+
|
|
541
|
+
<!-- Notifies that user entered incorrect pin -->
|
|
542
|
+
<screen id="wrong_pin" timeout="1" cancel="#icc_get_cvm">
|
|
543
|
+
<next uri="<%=@assert%>">
|
|
544
|
+
<variant lo="tmlvar:card.parser.cvr" op="equal" ro="failed" uri="#enter_pin"/>
|
|
545
|
+
<variant lo="tmlvar:card.parser.cvr" op="equal" ro="pin_tries" uri="#icc_get_cvm"/>
|
|
546
|
+
</next>
|
|
547
|
+
<display>
|
|
548
|
+
<table class="message"><tr><td>
|
|
549
|
+
<span>
|
|
550
|
+
|
|
551
|
+
Incorrect PIN
|
|
552
|
+
|
|
553
|
+
</span>
|
|
554
|
+
</td></tr></table>
|
|
555
|
+
</display>
|
|
556
|
+
</screen>
|
|
557
|
+
|
|
558
|
+
<!-- Perform the risk management.
|
|
559
|
+
The "icc_emv" parser will:
|
|
560
|
+
analyse amount and transaction type;
|
|
561
|
+
analyse previous submission attempt ("oebr.econn" TML value);
|
|
562
|
+
update "card.parser.verdict" variable;
|
|
563
|
+
fill "card.parser.reject_reason" variable, if necessary.
|
|
564
|
+
-->
|
|
565
|
+
|
|
566
|
+
<screen id="icc_rsk_mgmt" next="#chk_verdict">
|
|
567
|
+
<setvar name="btmlpa.emv.txn_aid" lo="tmlvar:card.emv.aid"/>
|
|
568
|
+
<setvar name="payment.txn_date" lo="tmlvar:terminal.datetime"/>
|
|
569
|
+
<setvar name="payment.auth_code" lo=""/>
|
|
570
|
+
<setvar name="payment.auth_resp_code" lo=""/>
|
|
571
|
+
<tform>
|
|
572
|
+
<baddata max="1" next="<%=@abort%>">
|
|
573
|
+
<table border="2" class="warning"><tr><td>
|
|
574
|
+
<span>
|
|
575
|
+
|
|
576
|
+
<getvar name="err.baddata_reason"/><br/>
|
|
577
|
+
err.high=<getvar name="err.code.high"/><br/>
|
|
578
|
+
err.low=<getvar name="err.code.low"/>
|
|
579
|
+
card.emv.apdu_list: <getvar name="card.emv.apdu_list"/>
|
|
580
|
+
|
|
581
|
+
</span>
|
|
582
|
+
</td></tr></table>
|
|
583
|
+
</baddata>
|
|
584
|
+
<card parser="icc_emv" parser_params="risk_mgmt"/>
|
|
585
|
+
</tform>
|
|
586
|
+
</screen>
|
|
587
|
+
|
|
588
|
+
<screen id="chk_verdict">
|
|
589
|
+
<setvar name="oebr.submit_mode" lo="tmlvar:card.parser.verdict"/>
|
|
590
|
+
<next uri="<%=@assert%>">
|
|
591
|
+
<variant lo="tmlvar:card.parser.verdict" op="equal" ro="reject" uri="#off_rej"/>
|
|
592
|
+
<variant lo="tmlvar:card.parser.verdict" op="equal" ro="offline" uri="#off_comp"/>
|
|
593
|
+
<variant lo="tmlvar:card.parser.verdict" op="equal" ro="online" uri="#icc_submit"/>
|
|
594
|
+
</next>
|
|
595
|
+
|
|
596
|
+
</screen>
|
|
597
|
+
|
|
598
|
+
|
|
599
|
+
|
|
600
|
+
<screen id="off_rej" next="<%=@abort%>" timeout="1">
|
|
601
|
+
<display>
|
|
602
|
+
<table border="2" class="warning"><tr><td>
|
|
603
|
+
<span>
|
|
604
|
+
|
|
605
|
+
REJECTED
|
|
606
|
+
|
|
607
|
+
</span>
|
|
608
|
+
</td></tr></table>
|
|
609
|
+
</display>
|
|
610
|
+
</screen>
|
|
611
|
+
|
|
612
|
+
<screen id="off_comp" next="#icc_submit" timeout="1">
|
|
613
|
+
<display>
|
|
614
|
+
<table border="0" class="message"><tr><td>
|
|
615
|
+
<span>
|
|
616
|
+
|
|
617
|
+
TRANSACTION PROCESSED OFFLINE
|
|
618
|
+
|
|
619
|
+
</span>
|
|
620
|
+
</td></tr></table>
|
|
621
|
+
</display>
|
|
622
|
+
</screen>
|
|
623
|
+
|
|
624
|
+
<!--==========================================
|
|
625
|
+
Submits transaction data to host
|
|
626
|
+
============================================ -->
|
|
627
|
+
|
|
628
|
+
<!-- In case of the successful online submit (oebr.submit_mode ="online") the next screen that will be executed will be
|
|
629
|
+
the dynamic TML page generated by the host.
|
|
630
|
+
In case of the successful offline submit the next screen is determined by the "next" attribute.
|
|
631
|
+
In case of a submission error, no values are submitted and the next screen is determined by the "econn" attribute -->
|
|
632
|
+
<screen id="icc_submit" next="<%=@receipt%>">
|
|
633
|
+
<!-- to process the test cards that are expired. Remove for normal operations -->
|
|
634
|
+
<setvar name="card.expiry_date" lo="2010/12/31"/>
|
|
635
|
+
<!-- set the submit mode to either online or offline -->
|
|
636
|
+
<setvar name="oebr.submit_mode" lo="tmlvar:card.parser.verdict"/>
|
|
637
|
+
<submit tgt="/btmlpa/auth" econn="#icc_conn_fld">
|
|
638
|
+
<getvar name="oebr.submit_mode"/>
|
|
639
|
+
<getvar name="payment.trans_type"/>
|
|
640
|
+
<getvar name="card.pan"/>
|
|
641
|
+
<getvar name="card.issue_number"/>
|
|
642
|
+
<getvar name="card.expiry_date"/>
|
|
643
|
+
<getvar name="card.cardholder_name"/>
|
|
644
|
+
<getvar name="card.effective_date"/>
|
|
645
|
+
<getvar name="transid"/>
|
|
646
|
+
<getvar name="payment.amount"/>
|
|
647
|
+
<getvar name="payment.amount_other"/>
|
|
648
|
+
<getvar name="currency_code"/>
|
|
649
|
+
<getvar name="card.input_type"/>
|
|
650
|
+
<getvar name="card.mag.iso2_track"/>
|
|
651
|
+
<!-- ICC data -->
|
|
652
|
+
<getvar name="card.emv.aid"/>
|
|
653
|
+
<getvar name="card.emv.aip"/>
|
|
654
|
+
<getvar name="card.emv.auc"/>
|
|
655
|
+
<getvar name="card.emv.atc"/>
|
|
656
|
+
<getvar name="card.emv.aac"/>
|
|
657
|
+
<getvar name="card.emv.tc"/>
|
|
658
|
+
<getvar name="card.emv.arqc"/>
|
|
659
|
+
<getvar name="card.emv.iad"/>
|
|
660
|
+
<getvar name="card.emv.tvr"/>
|
|
661
|
+
<getvar name="card.emv.unumber"/>
|
|
662
|
+
<getvar name="payment.txn_date"/>
|
|
663
|
+
<getvar name="oebr.time_zone"/>
|
|
664
|
+
</submit>
|
|
665
|
+
</screen>
|
|
666
|
+
|
|
667
|
+
<!--===========================================================================
|
|
668
|
+
This screen is used when the host is unreachable
|
|
669
|
+
============================================================================-->
|
|
670
|
+
<!-- this screen is reached in case there was an error with either online or offline submit
|
|
671
|
+
first check which one of then caused the error-->
|
|
672
|
+
|
|
673
|
+
<screen id="icc_conn_fld">
|
|
674
|
+
<next uri="<%=@assert%>">
|
|
675
|
+
<variant lo="tmlvar:oebr.submit_mode" op="equal" ro="online" uri="#con_fld_onln"/>
|
|
676
|
+
<variant lo="tmlvar:oebr.submit_mode" op="equal" ro="offline" uri="#con_fld_ofln"/>
|
|
677
|
+
</next>
|
|
678
|
+
</screen>
|
|
679
|
+
|
|
680
|
+
<!-- submission error during online submission. The card should perform its risk management to see if it is ok to do an
|
|
681
|
+
offline transaction or the transaction should be rejected -->
|
|
682
|
+
<screen id="con_fld_onln" next="#icc_rsk_mgmt" timeout="2">
|
|
683
|
+
<display>
|
|
684
|
+
<table border="2" class="warning"><tr><td>
|
|
685
|
+
<span>
|
|
686
|
+
|
|
687
|
+
HOST IS UNREACHABLE
|
|
688
|
+
|
|
689
|
+
</span>
|
|
690
|
+
</td></tr></table>
|
|
691
|
+
</display>
|
|
692
|
+
</screen>
|
|
693
|
+
|
|
694
|
+
<!-- this screen is reached if an offline submission failed. This occurs
|
|
695
|
+
if the Offline Transaction Pull is full and OEGW can not be reached to clear the pull.
|
|
696
|
+
The transaction should be rejected -->
|
|
697
|
+
<screen id="con_fld_ofln" next="#off_rej" timeout="2">
|
|
698
|
+
<display>
|
|
699
|
+
<table border="2" class="warning"><tr><td>
|
|
700
|
+
<span>
|
|
701
|
+
|
|
702
|
+
OFFLINE TRANSACTION PULL IS FULL
|
|
703
|
+
|
|
704
|
+
</span>
|
|
705
|
+
</td></tr></table>
|
|
706
|
+
</display>
|
|
707
|
+
</screen>
|
|
708
|
+
|
|
709
|
+
|
|
710
|
+
<!-- Screen which dynamic TML may refer to -->
|
|
711
|
+
<screen id="icc_tc_aac" cancel="<%=@abort%>">
|
|
712
|
+
<setvar name="oebr.submit_mode" lo="offline"/>
|
|
713
|
+
<next uri="<%=@void%>">
|
|
714
|
+
<variant lo="tmlvar:card.emv.tc" op="not_equal" ro="" uri="<%=@receipt%>"/>
|
|
715
|
+
</next>
|
|
716
|
+
<submit tgt="<%=url_for :only_path => true, :action => 'auth'%>" econn="<%=@compl_txn%>">
|
|
717
|
+
<getvar name="card.emv.aac"/>
|
|
718
|
+
<getvar name="card.emv.tc"/>
|
|
719
|
+
<getvar name="transid"/>
|
|
720
|
+
</submit>
|
|
721
|
+
</screen>
|
|
722
|
+
|
|
723
|
+
|
|
724
|
+
<screen id="error_scr">
|
|
725
|
+
<display>
|
|
726
|
+
<table border="2" class="warning"><tr><td>
|
|
727
|
+
<span>
|
|
728
|
+
|
|
729
|
+
code-low: <getvar name="err.code.low"/> <br/>
|
|
730
|
+
code-high: <getvar name="err.code.high"/> <br/>
|
|
731
|
+
baddata_reason: <getvar name="err.baddata_reason"/> <br/>
|
|
732
|
+
descr: <getvar name="err.description"/> <br/>
|
|
733
|
+
|
|
734
|
+
</span>
|
|
735
|
+
</td></tr></table>
|
|
736
|
+
</display>
|
|
737
|
+
</screen>
|
|
738
|
+
|
|
739
|
+
|
|
740
|
+
|
|
741
|
+
|
|
742
|
+
</tml>
|
|
743
|
+
|
|
744
|
+
<!--========================================================================
|
|
745
|
+
|
|
746
|
+
COPYRIGHT (C) 2008 Ingenico
|
|
747
|
+
ALL RIGHTS RESERVED
|
|
748
|
+
|
|
749
|
+
Copyright in the whole and every part of this software program belongs to
|
|
750
|
+
Ingenico. It may not be used, sold, licensed, transferred, copied
|
|
751
|
+
or reproduced in whole or in part in any manner or form other than in
|
|
752
|
+
accordance with and subject to the terms of a licence from Ingenico
|
|
753
|
+
or with the prior written consent of Ingenico or as permitted by
|
|
754
|
+
applicable law.
|
|
755
|
+
This software program contains confidential and proprietary information and
|
|
756
|
+
must not be disclosed, in whole or in part, to any person or organisation
|
|
757
|
+
without the prior written consent of Ingenico.
|
|
758
|
+
Any copies or reproductions of this software program (in whole or in part)
|
|
759
|
+
made by any method must also include a copy of this legend.
|
|
760
|
+
========================================================================-->
|