[ [ 'element' => 'paymentMethod', 'rules' => [ [ 'value' => Entity::PAYMENT_METHOD_CC, 'elements' => ['ccNumber', 'ccExpirationDate', 'ccSecurityCode'], ], [ 'value' => Entity::PAYMENT_METHOD_CHECK, 'elements' => [ 'checkType', /*'accountName',*/ 'routingNumber', 'bank', 'accountNumber', 'confirmAccountNumber', ], ], ], ], ], 'paymentMethods' => [ //Entity::PAYMENT_METHOD_CC => 'Credit Card', Entity::PAYMENT_METHOD_CHECK => 'Electronic Check/ACH', ], 'checkTypes' => [ Entity::CHECK_TYPE_BUSINESS_CHECKING => 'Business Checking', Entity::CHECK_TYPE_BUSINESS_SAVING => 'Business Saving', Entity::CHECK_TYPE_PERSONAL_CHECKING => 'Personal Checking', Entity::CHECK_TYPE_PERSONAL_SAVING => 'Personal Saving', ], 'termsContainerId' => 'terms-and-conditions', 'integrityPayment' => call_user_func(function ($env) { $config = [ 'logFilePattern' => constant('BASE_PATH') . '/tmp/payment-log/{year}/{year}-{month}/{date}-ips.log', ]; switch ($env) { case 'production': throw new Exception('Production Integrity Payment credentials are not defined'); default: $config['username'] = 'demo'; $config['password'] = 'password'; } return $config; }, constant('APPLICATION_ENV')), 'spsPayment' => call_user_func(function ($env) { $config = [ 'logFilePattern' => constant('BASE_PATH') . '/tmp/payment-log/{year}/{year}-{month}/{date}-sps.log', ]; switch ($env) { case 'production': throw new Exception('Secure Payment Systems credentials are not defined'); default: $config['merchantId'] = 'ZYX65'; } return $config; }, constant('APPLICATION_ENV')), ];