API-деньги Проблема тестирования песочницы в платежном шлюзе - PullRequest
0 голосов
/ 12 января 2020

Я пытаюсь интегрировать платежный шлюз API-Money (https://www.api-money.com/docs/) для моего проекта. Мне нужно создать стандартную учетную запись для денежных транзакций и использую «песочницу» для тестирования предоставленного промежуточного API. Я отслеживаю каждый параметр, как указано в документации, но все еще не могу получить фактический ответ.

Каждый раз, когда я нажимаю на API, все, что я получаю, это 1002 unauthorized access ответ об ошибке. Я даже следовал за их часто задаваемыми вопросами о том, как решить эту ошибку, но не смог решить проблему самостоятельно.

Вот код:

checkApi = () => {
    let api_access_key = "0ULIftpqlaP5pnwFqv4ZVzQCLE6bKeUI";
    let api_secret_key = "t4vh4xRCZn8lRdKgBEH3hBw7Ipo3Cl2d";
    let timestamp = Date.now();

    let version = 1;
    let StringToSign = `${api_access_key}:${timestamp}:${version}:`;


    // let sign = crypto.createHmac('sha256',api_secret_key).update(StringToSign).digest('hex');
    let signTest = crypto.HmacSHA256(StringToSign,api_secret_key);

    let body = {
        email:"testapi@gmail.com",
        tag:"my_wallet"
    }

    let headers = {
        'Content-Type': 'application/json',
        'Authorization': `AUTH ${api_access_key}:${api_secret_key}:${timestamp}:${signTest}`
    }


    axios.post('https://test-emoney-services.w-ha.com/api/accounts/standard', body, {headers:headers})
    .then(result => {
      console.log('api response: ',result)
    })
    .catch(err => console.log(err))
  }

Я использую узел- express оставьте API для моего бэкэнда и отреагируйте на внешний интерфейс. Я использовал оба подхода из бэкэнда или внешнего интерфейса для вызова вызова API, но напрасно.

Пожалуйста, помогите исправить мою проблему. Будем благодарны за любую помощь.

PS Доступ и секрет принадлежат среде тестирования, поэтому я разместил их здесь для справки и легкого доступа.

...