Switch branches/tags
Commits on Feb 17, 2018
  1. Adjust MySQL key lengths to 191 characters

    jdigory committed Feb 17, 2018
    - since default encoding is utf8mb4:
        ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
    - the max index prefix length is 767 bytes
    - utf8mb4 max character length is 4 bytes, so 4*191 = 764
    - per:
Commits on Jan 16, 2018
  1. Add x_accel_expires pragma to set X-Accel-Expires header

    jonjensen committed Jan 16, 2018
    This allows us to have an nginx proxy cache responses for a different
    length of time than the end client will based on the Cache-Control
    header. For details see:
Commits on Jan 6, 2018
  1. GatewayLog adjustments

    msjohns1 committed Jan 6, 2018
    * Add fallback to session ID in PayflowPro
    * Allow arbitrary attributes to be added to the Vend::Payment::GatewayLog
    * Pull email field in PaypalExpress directly from $Values; in testing,
      $actual and $opt->{actual} were undefined.
    * Field modifications for gateway log
      + Remove order_md5
      + Add amount, host_ip, username
      + Create cart_md5 that hashes $Vend::Items if it has any items.
        Otherwise, left blank.
Commits on Jan 5, 2018
  1. Prevent bug when using scalar as ARRAY ref

    jdigory committed Jan 5, 2018
    - resulting in error: (Can't use string ("snip") as an ARRAY ref while
      "strict refs" in use at interchange/lib/Vend/ line 353.
Commits on Dec 7, 2017
Commits on Nov 17, 2017
  1. Move version-detecting code earlier in Makefile.PL when stamping

    machack666 committed Nov 17, 2017
    This fixed an issue with not properly stamping when generating via `perl Makefile.PL nocopy`
    Reported-by: Josh Lavin <>
Commits on Nov 14, 2017
  1. Fix non-deterministic UTF8 handling with PostgreSQL database

    machack666 committed Nov 14, 2017
    If using PostgreSQL and versions of DBD::Pg >= 3, code will behave differently if no value is set in
    config for DatabaseDefault PG_ENABLE_UTF8.  This would affect installations which were even opting
    out of all UTF-8 support in Interchange by using the MINIVEND_DISABLE_UTF8 environment variable.
    This happened because the default UTF-8 handling for DBD::Pg as of 3.0 turned into automatically
    decoding UTF-8 data as perl scalarsm so catalogs/stacks which were now using a new version of
    DBD::Pg could run into unexpected behavior (at the very least, increased parsing time due to using
    unicode-aware regexes under-the-hook).
    Specify the default to be off to match the existing state before this module; in all cases, you have
    to opt in to UTF-8 specific IC, so no reason to change this here.
    Reviewed-by: Mark Johnson <>
Commits on Nov 13, 2017
Commits on Nov 6, 2017
  1. PaypalExpress gateway logging bugfixes

    msjohns1 authored and machack666 committed Nov 5, 2017
    * Syntax error
    * Structure of response may change on certain errors, causing deep
      hash references to produce a strict error.
Commits on Nov 4, 2017
  1. GatewayLog module improvements

    msjohns1 committed Jan 8, 2014
    * Switch hash tests from ref() to UNIVSERAL::isa() to keep
      blessed hashes from producing false negatives.
    * Move major failure log writes from debug to global error.
    * Modified DESTROY to call log_it() via eval {} to quiet
      any impact of a failed call on parent code and ensure that
      any unexpected failure is logged to the global error log.
  2. Fix glitch setting result_code to database.

    msjohns1 committed Jan 9, 2010
    Another spot where 0 caused trouble.
  3. Fix glitch on result_code map test.

    msjohns1 committed Jan 9, 2010
    0 is a valid and expected response. Change test from perly true
    to length.
  4. Added new Source option.

    msjohns1 committed Dec 18, 2009
    * New Source option to GatewayLog, accessed via source(), intended to set
      into the request_source field. Default sets to `hostname -s`.
    * Replaced hard-coded set of request_field value from gateway modules with
      value returned from source().
    * Refactored constructor to call out to init() sub for setting params passed
      in appropriately.
    * Adjusted POD in GatewayLog module.
  5. Add gateway_log to

    msjohns1 committed Sep 8, 2009
    * Expanded out gateway_log fields to include new Authnet-specific
      return values.
    * Migrated chunk of log_it() code that would clearly be exactly
      duplicated between implementations into a new write() sub that
      actually updates the database and logs any errors that occur.
  6. Vend::Payment::GatewayLog

    msjohns1 committed Sep 8, 2009
    * New module facilitates adding logging support for all
      transactions through any of the standard gateway modules.
    * Introduce logging support to Vend::Payment::PayflowPro.
    * Fully sever database connections in Vend::Payment when
      global timeout is invoked. Code operating in production
      proved to behave unpredictably when parent and child shared
      the same database server.
    * Add gateway_log table to standard in expected format for each
      DBI database type.
    * Adjusted Vend::Table::DBI to support SQLite's AUTOINCREMENT
      in parallel to same support of MySQL's feature.
Commits on Nov 3, 2017
  1. Add COMPANY var to admin page title

    jdigory committed Nov 3, 2017
    - helps identify various IC sites in browser tabs, also for password
      managers that rely on page title for auto-fill.
  2. Vend::Payment::Braintree payment module

    msjohns1 committed Nov 3, 2017
    Provides Interchange payment module to wrap Net::Braintree CPAN module
    suite for supporting modern Braintree Perl implementation.
    See POD for documentation.
  3. Strap version of Admin create-customer page

    jdigory committed Nov 3, 2017
    which only redirects viewers to the front-end of the website, since the
    original create-customer page is broken for usernick and email-as-login.