2016-11-10 4 views
0

Существует проблема, когда я пытаюсь создать транзакцию с fake-valid-nonce в моем тестеПри создании сделки с поддельными-Валид-одноразовым номером в тесте, результат транзакции показывает мне сообщение: «Шлюз Отклонено: дублировать»

. Вот код о создании сделки:

const createTransaction = (price, nonceFromTheClient, customerBrainTreeId) => { 
    const transactionToken = new Promise((resolve, reject) => { 
    gateway.transaction.sale(
     { 
     amount: price, 
     customerId: customerBrainTreeId, 
     paymentMethodNonce: nonceFromTheClient, 
     options: { 
      submitForSettlement: true 
     } 
     }, 
     (error, result) => { 
     if (error) { 
      logger.error(`create transaction error: ${error}`); 
      reject(error); 
     } else { 
      resolve(result); 
     } 
     }); 
    }); 

    return transactionToken; 
}; 

А вот код о тесте:

it(‘**************************',() => { 
    return PaymentService.createTransaction("104.0", 'fake-valid-nonce', null) 
    .then(result => { 
     expect(result.success).to.be.true; 
     expect(result.transaction.status).to.be.equals('submitted_for_settlement'); 
     expect(result.transaction.type).to.be.equals('sale'); 
    }); 
}); 

Когда я запустить тест в первый раз, это тест пройдет. Но, если я запускаю этот тест несколько раз, этот тест не пройдет, и результат транзакции показывает мне сообщение: .? «Шлюз Отклонен: дублировать»

Как я могу решить эту проблему

ответ

1

I уже нашли решение с помощью команды поддержки Braintree:

Ошибка Gateway Rejected: duplicate запускается не потому, что вы используете тестовое значение nonce, а потому, что в вашей учетной записи Sandbox включена опция Duplicate Transaction Checking (она включена по умолчанию). Повторяющаяся проверка транзакций предотвращает случайную обработку транзакционных запросов больше, чем onc е. Это может произойти, если клиент обновит страницу проверки или нажимает кнопку, которая выдает новый запрос API. Чтобы отключить или настроить этот параметр, я предлагаю вам войти в панель управления Braintree и перейти к Настройки> Обработка> Изменить или Отключить в разделе Дублирующие настройки транзакции.