You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

8.1 KiB

Local Debug enviroment setup

Razer-pay-backend-api

  • Create /home/config

  • Update these file

    • baseEnv.properties

      #部署国家
      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

      数据库配置
      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

    {
        "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

    // add this
    app.use('/', routes);
    
    // bypass below
    // app.use('/', [auth, jwtMiddleware.processRequest()], routes);
    // app.use('/', jwtMiddleware.processVisaMiddlewareRequest(), middlewareRoutes);