# Local Debug enviroment setup ## Razer-pay-backend-api * Create `/home/config` * Update these file * baseEnv.properties ```ini #部署国家 DEPLOY_COUNTRY=Singapore MANAGEMENT_DEPLOY_COUNTRY=Malaysia,Singapore DEPLOY_MODE=uat ################通用配置部分#################### #通用redis配置部分 #REDIS_HOST=172.88.1.229 #REDIS_PORT=6379 #REDIS_PASSWORD=clkj123456 REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD=admin allUrls=Malaysia_https://api-uat.pay.razer.com_ws://api-uat.pay.razer.com:9015/websocket,Singapore_https://api-uat-sg.pay.razer.com_ws://content-uat-sg.pay.razer.com:9015/websocket #java api url 前缀 WEBSOCKET_URL=ws://content-uat-sg.pay.razer.com:9015/websocket JAVAAPI_URL_PREFIX=https://api-uat-sg.pay.razer.com #MQ host name #MQ_HOST_NAME=tcp://172.88.1.149:61616 #MQ_USERNAME=admin #MQ_PASSWORD=admin MQ_HOST_NAME=tcp://localhost:61616 MQ_USERNAME=admin MQ_PASSWORD=admin ``` * Singapore_env.properties ```ini 数据库配置 jdbc.driverClassName=com.mysql.cj.jdbc.Driver jdbc.url=jdbc:mysql://localhost:3306/razerpay-singapore-product?useSSL=false&useUnicode=true&characterEncoding=UTF8&characterSetResults=UTF8&serverTimezone=UTC jdbc.username=root jdbc.password=root ``` * launch from command prompt `gradle bootrun` * bypass authentication code - setting breakpoint at BusinessAspect::doAround() class ## razer-pay-wallet-api * create `razer-pay-wallet-api/config/default.json` ```json { "database": { "database": "razerpay-singapore-product", "username": "root", "password": "root", "host": "localhost" }, "redis": { "host": "localhost", "port": 6379, "password": "admin", "topupLimitCheck": "true" }, "tnc": { "title": "Razer Pay Terms of Service & Privacy Policy Update", "content": "Razer Pay is updating its Terms of Service to inform you of the changes to the Wallet Limits for verified and unverified Razer Pay Accounts. The updated Terms of Service will take effect on the date of posting that is 06 May 2020. Your registration and/or continued use of the Razer Pay Service shall constitute your acceptance of the updated Terms of Service. If you would like more information, you may contact our Customer Support – Lina and our other customer support staff." }, "ossConfig": { "region": "oss-ap-southeast-3", "accessKeyId": "LTAI0NCWIPAQ1Z9N", "accessKeySecret": "3sYlH1bc97yYjv5JcwThqyhQMNRa42", "bucket": "certification" }, "awsConfig": { "accessKeyId": "AKIAJXPY3N7XFSIYCIVQ", "secretAccessKey": "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", "imagePath": "certification-production", "region": "ap-southeast-1", "bucket": "rpd-bucket-chenling-singapore", "smtp": { "accessKeyId": "AKIA4YZEDSSVENY7F4BL", "secretAccessKey": "BGYQfUYDbqdWMd79+23DfCyglmPhzx2XLazuTrghNKFv", "emailFrom": "noreply@pay.razer.com", "region": "us-east-1" } }, "deployConfig": { "country": "singapore" }, "firebaseConfig": { "type": "service_account", "project_id": "one-2-pay-my", "private_key_id": "f72deabfab3fd34ea4978c301d515c3540c0a5ce", "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCg7z54SBWgrKlR\nguA6ztrpik/xE5qDH4yvCwYd48c/I9EUZHEGwfeDIP/FQkmGf9+IoLBNhIh2v8Jl\noeiA99357/Bt4mG+/YUbrv9nlvVbbJkdATKuc46gIIa/waBV5JgWpwdIGwcPt6a1\n4+oypVX0TObfw+D/rT4I5SUlktzAAUMxjdEBuJLQxWZVbBu9BMluJRqoQmSBMmHv\nwXVXdnCZdC5mX8LMQQDrZTHG2+ktspfhWB0i1J2VPxmBtswYBSsMHTN50sMaICaV\nwvpHQV/nI0WhdJghOaCHtYMsxyEjsk5u18r1PzYja1j5srU3UnUnb6c4nlJ3g/43\nxAILRfoPAgMBAAECggEAF/zhIluYQa1KxZgM5ScdES9pEAV8g+vpc9PgUwc3FS25\nBeGcyUWTJ4v9I8FoJTCdOIe/D6bgElct2ilCdyq6/vypKS/Tovy14PT6I84n/zsW\nLXEWxVL7INoIS7/ILtVWaBX4a2J/8HNO2ZDBwU/Mmo/138eaG3IOq5PAMDQOTF4H\nEa6nJGRMULQVrM9Lf9ZkAeGn1qEV6Vp0I+g9cJJRQ5CSPboVY0lMfLoAqctQ2l1c\nTZ4O+RlaEFQxPReFtGss4BMuSbyjtODQWcYJj3K+fBXUzY0lSwWuB70ys7Me/1vC\nhGy+40dua4ViCgxjGRNr4V66kAndHmGKltdBAumMvQKBgQDdYTI1yT9xTZfU7T0o\nhCfiVqjsD/zpJoFCTZbzT/9gFM1kjHSIm1N9UwBfyCOfGKydmQtpo8K0DMeIYDJF\natpHNIkw+CHsb4c7ejD5pPccquXaNYOwnhHLYIEnt0K4a7vWRP6fOAr4TRWxDIM0\nIZmjOQgn1c/upoXG8eyen+lOTQKBgQC6GinEDKg7ZDepJypXvAEIXfoPYAwFyuzw\nxDYv4ErfCwR7gvuXIvRpjuueBPUmiodNoiPG7KvBGsJYjm0Cyve6Ez/TDGeXo4wV\nj2t/AMHYcpI6NWSmdoL3Cl8F9mFQKdmr51rmG3YN7sOu4tyv8YD5iPfspdGR5Piv\n5GValVfvywKBgASUmkFapKFnhZi2P+myslCQknYv7n+0eEAy8sieAx6tz4IhFdgt\nvpB9Qyi4L2R/UjMAk6ff54tqKEa+Fsww5ctLXvtQZwNJW3bzlEfWDfbd4ludd9gT\nrTKUEJgNxqeiMwS/8LTCqBdzINvE8oIFn/QsneqVFfROJb50Cv1NObqRAoGAJwZ7\ngagh0yqF3Yvf/jvnf4itenHqs4BFRYvvzQRczv7xdrEV7zCeTlBxKlbhza45B1eb\n5wgUUE87N/TN+Ur0velxdeFhC9R4+MB1i1FuVORZs6kkrR+nAQUEvixXZccQ5VKD\npkNV80ABevgJzT94i1tkmhR/qPd6CvB7LI6qvRcCgYBg+/DwtGwVAe+/INJg9nFN\nN4st/iN+K/XtNssux2n6sTNFS2JU5jFzMz5KvFgezTYEpV++OU5DvsODqXgGa9Ct\nmGk4HcL55Ep0QHlZp5dgRJ+5XP8bjRNeo2Jhvea6ZvQoAXGaF5JfefI+6oiUlV4S\nLfXBWmItyRijbT+7gSZciQ==\n-----END PRIVATE KEY-----\n", "client_email": "firebase-adminsdk-pasnh@one-2-pay-my.iam.gserviceaccount.com", "client_id": "101427092907458528864", "auth_uri": "https://accounts.google.com/o/oauth2/auth", "token_uri": "https://oauth2.googleapis.com/token", "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-pasnh%40one-2-pay-my.iam.gserviceaccount.com" }, "mq": { "address": "localhost", "port": "61613", "user": "admin", "pass": "admin", "protocolVersion": "1.0" }, "rms": { "rmsInitUrl": "https://www.onlinepayment.com.my/MOLPay/API/RazerPay/payment_miniapp.php", "rmsSuccessUrl": "https://www.onlinepayment.com.my//MOLPay/RazerPay/notification.php", "rmsSecret": "2d150dc8ca3eb40bd38124266d0a8e7867ca5f9e94db85d832497b7351a703a3", "rmsApiSecret": "f3a25b8e58a2a222d042eeaa700ad3e58036f862469432eb15dc4ab604d060ce", "visaConfirmUrl": "https://visa-backend-sg.pay.razer.com/visa/v1/card/auth/update", "visaSecretKey": "a11d7c9d70e3703acc3017cdcb8d3d917fbac1b0db87d24623558da2e4e12c2a" }, "recurringPayment": { "recurringPaymentUrl": "https://www.onlinepayment.com.my/MOLPay/API/Recurring/input_v3.php", "recordType": "F" }, "testFilter": { "accounts": [ "60101822379" ], "types": [ "IS_ICON_DISPLAY" ] }, "rmsPrefix": "RZP-", "visaConfig": { "listCardsUrl": "https://api-sg.pay.razer.com/v3/card/list", "changeCardStatusUrl": "https://api-sg.pay.razer.com/v3/card/changeStatus", "showCardDetailsUrl": "https://api-sg.pay.razer.com/v3/card/showCardDetails", "cardEnquiryUrl": "", "getCardStatementUrl": "", "generateCardImageUrl": "", "setCardPinUrl": " https://api-sg.pay.razer.com/v3/card/setPin", "activateCardPinUrl": "https://api-sg.pay.razer.com/v3/card/activate", "convertCardUrl": "https://api-sg.pay.razer.com/v3/card/convert" }, "perx": { "perx_api_host": "https://api-razer.perxtech.io", "perx_client_id": "d0bcb1115b22c807d7d3d0edf0c69a2a798e910edc0cc78cf1c8c35d8717732f", "perx_client_secret": "8ca55ca52b89170d0c28f12b163d9dfca0ced0a857c9dd7aa4b7dde7362caabf", "event_rule_id_ekyc": "483df061-2b26-4b02-a302-3d7cbc411792", "event_rule_id_card_validation": "aa190907-1c74-4030-8b39-a4e43fcc8c28" } } ``` * start docker container for mysql & redis * npm start * bypass some authentication code in `server.js` if needed ```js // add this app.use('/', routes); // bypass below // app.use('/', [auth, jwtMiddleware.processRequest()], routes); // app.use('/', jwtMiddleware.processVisaMiddlewareRequest(), middlewareRoutes); ```