Skip to content

Instantly share code, notes, and snippets.

@clintonb
Last active April 5, 2018 10:34
Show Gist options
  • Save clintonb/c45f4136c26c03d1f4ed to your computer and use it in GitHub Desktop.
Save clintonb/c45f4136c26c03d1f4ed to your computer and use it in GitHub Desktop.
E-Commerce + LMS Settings
# NOTE: I (CCB) use a hosts file to create ecommerce.local and lms.local. If you choose not to do this,
# replace ecommerce.local with localhost and lms.local with 127.0.0.1.
from django.conf import settings
from ecommerce.settings import get_lms_url
from ecommerce.settings.base import JWT_AUTH
ECOMMERCE_URL_ROOT = 'http://ecommerce.local:8002'
settings.LMS_URL_ROOT = 'http://lms.local:8000'
LMS_HEARTBEAT_URL = get_lms_url('/heartbeat')
LMS_DASHBOARD_URL = get_lms_url('/dashboard')
OAUTH2_PROVIDER_URL = get_lms_url('/oauth2')
COMMERCE_API_URL = get_lms_url('/api/commerce/v1/')
ENROLLMENT_API_URL = get_lms_url('/api/enrollment/v1/enrollment')
SOCIAL_AUTH_EDX_OIDC_KEY = '9dc7b18b5f02a950bb79'
SOCIAL_AUTH_EDX_OIDC_SECRET = '568e79a579c88a451b796caeb0f88fa192f03cb6'
SOCIAL_AUTH_EDX_OIDC_URL_ROOT = OAUTH2_PROVIDER_URL
SOCIAL_AUTH_EDX_OIDC_ID_TOKEN_DECRYPTION_KEY = SOCIAL_AUTH_EDX_OIDC_SECRET
from ecommerce.settings.base import JWT_AUTH
ENABLE_COMPREHENSIVE_THEMING = False
EDX_API_KEY = 'edx'
JWT_AUTH.update({
'JWT_SECRET_KEY': 'edx',
'JWT_AUDIENCE': 'lms-key',
'JWT_ISSUERS': ('http://127.0.0.1:8000/oauth2',),
'JWT_LEEWAY': 10,
})
SOCIAL_AUTH_EDX_OIDC_ISSUER = 'http://127.0.0.1:8000/oauth2'
SOCIAL_AUTH_EDX_OIDC_URL_ROOT = 'http://lms.local:8000/oauth2'
SOCIAL_AUTH_EDX_OIDC_KEY = 'ecommerce-key'
SOCIAL_AUTH_EDX_OIDC_SECRET = 'ecommerce-secret'
SOCIAL_AUTH_EDX_OIDC_ID_TOKEN_DECRYPTION_KEY = SOCIAL_AUTH_EDX_OIDC_SECRET
PAYMENT_PROCESSOR_CONFIG = {
'edx': {
'cybersource': {
'merchant_id': 'edx_org',
'transaction_key': '/yIJJejEGoNNcecTyxC9ZD0wR2ZjkkKuOaZnq2BGMGIGQIOKA1rBR009OuvKbPW4J1KLb15BMlaoiUXoj/8/Fp6dy33/aHAU0+yGKcEMxyYXQOBPKjuoChIlMRVkrtWZqP9shGxw1jwHNovmGrvd2ULRIn21Rsq6YnHie7lLLRhXyY2MjnFXfv75eH2rFwfi4hBPbVPvx/r8PwgFIh5otAzsgyIlBjaKJkzbNXd5qCOdNFSBcPcJps3YgVH0ASleI/SZp+Ckuyotd+EhzK0tOehPJAm3L03lkPNeFX9lcemuRkeV53V3nvobn3GaX0td4FAEe8CZBn+IpFC2PoK0tw==',
'soap_api_url': 'https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor/CyberSourceTransaction_1.115.wsdl',
'profile_id': '00D31C4B-4E8F-4E9F-A6B9-1DB8C7C86223',
'access_key': '90a39534dc513e8a81222b158378dda1',
'secret_key': 'ff09d545ddbe4f1e908cc47e3cceb30e4e9ff57a1fe0493392b69a0b75f8ac3df7840f89131d46faa4487071d53576d25047ebb39e9b4af18e9fb5ee1d4f1f66fdb711284c844c4c82bd24f168781e786ecf8b2d3dba4ab5b543c188ca5728e00b8ace43cca14cefbb605ecdc0706eda4cd50785d5754fd691426ddff03fcc7b',
'payment_page_url': 'https://testsecureacceptance.cybersource.com/pay',
'receipt_path': '/commerce/checkout/receipt/',
'cancel_checkout_path': '/commerce/checkout/cancel/',
'send_level_2_3_details': True,
'sop_profile_id': '00D31C4B-4E8F-4E9F-A6B9-1DB8C7C86223',
'sop_access_key': '90a39534dc513e8a81222b158378dda1',
'sop_secret_key': 'ff09d545ddbe4f1e908cc47e3cceb30e4e9ff57a1fe0493392b69a0b75f8ac3df7840f89131d46faa4487071d53576d25047ebb39e9b4af18e9fb5ee1d4f1f66fdb711284c844c4c82bd24f168781e786ecf8b2d3dba4ab5b543c188ca5728e00b8ace43cca14cefbb605ecdc0706eda4cd50785d5754fd691426ddff03fcc7b',
'sop_payment_page_url': 'https://testsecureacceptance.cybersource.com/silent/pay',
},
'paypal': {
'mode': 'sandbox',
'client_id': 'AUQ10EPTFyakMtemuo-KNiA2IzXxXJ-OLEAZJQwcNDkXBpW5InZJM4BhTX0Q2sk959HsVVM3Ewxl2Gy_',
'client_secret': 'EOyu6w6PKHp4dnh2L2yn-1aPaePpx4LuZUqTMYD7GBdgRQeG4DYC9qQhA_cZmNS_034maXljxV6nkVzg',
'receipt_path': '/commerce/checkout/receipt/',
'cancel_checkout_path': '/commerce/checkout/cancel/',
'error_path': '/commerce/checkout/error/',
},
},
}
COMPRESS_ENABLED = False
COMPRESS_OFFLINE = False
from .common import INSTALLED_APPS, MIDDLEWARE_CLASSES, FEATURES
def tuple_without(source_tuple, exclusion_list):
"""Return new tuple excluding any entries in the exclusion list. Needed because tuples
are immutable. Order preserved."""
return tuple([i for i in source_tuple if i not in exclusion_list])
INSTALLED_APPS = tuple_without(INSTALLED_APPS, ['debug_toolbar', 'debug_toolbar_mongo'])
MIDDLEWARE_CLASSES = tuple_without(MIDDLEWARE_CLASSES, [
'django_comment_client.utils.QueryCountDebugMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
])
DEBUG_TOOLBAR_MONGO_STACKTRACES = False
OAUTH_ENFORCE_SECURE = False
FEATURES["ENABLE_CREDIT_API"] = True
FEATURES["ENABLE_CREDIT_ELIGIBILITY"] = True
FEATURES["ENABLE_MOBILE_REST_API"] = True
FEATURES["ENABLE_OAUTH2_PROVIDER"] = True
FEATURES['ENABLE_COMBINED_LOGIN_REGISTRATION'] = True
FEATURES['AUTOMATIC_AUTH_FOR_TESTING'] = True
FEATURES['ENABLE_DISCUSSION_SERVICE'] = False
FEATURES['ENABLE_COURSE_DISCOVERY'] = False
import contracts
contracts.disable_all()
OAUTH_OIDC_ISSUER = 'http://lms.local:8000/oauth2'
JWT_ISSUER = OAUTH_OIDC_ISSUER
# NOTE: If you are using Vagrant, this is the vboxnet0 IP address of
# your HOST machine (e.g. the physical machine on which you are reading this.)
ECOMMERCE_API_URL = 'http://192.168.33.1:8002/api/v2/'
ECOMMERCE_PUBLIC_URL_ROOT = 'http://ecommerce.local:8002'
ECOMMERCE_API_SIGNING_KEY = 'edx'
EDX_API_KEY = 'edx'
CREDIT_PROVIDER_SECRET_KEYS = {}
# LOGGING = get_logger_config(LOG_DIR, logging_env=ENV_TOKENS['LOGGING_ENV'], local_loglevel='DEBUG', debug=True,
# service_variant=SERVICE_VARIANT)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment