Интеграция Braintree - gateway.transaction.sale никогда не достигает ошибки, функция результата

Я использую функции Firebase для интеграции серверной части Braintree. Я проверил облачные функции Firebase с другими функциями, и они работают нормально. Итак, это определенно как-то связано с Брейнтри. Я проверил руководство по реализации Braintree nodejs на github, и мой код в порядке. https://github.com/braintree/braintree_node

Проблема в том, что функция всегда переходит к catch с unexpectedError. Код никогда не достигает then части кода.

exports.setNonce = functions.https.onRequest((req, res) => {

// Grab the parameters.
if (req.body.nonce === undefined) {
    // This is an error case, as "message" is required
    return res.status(400).send('No nonce defined!');
} else {
    return gateway.transaction.sale({
        amount: '5.00',
        paymentMethodNonce: 'fake-valid-nonce',
        options: {
          submitForSettlement: true
        }
      }).then((err, result) => {
        if(err) {
            return res.status(406).send(err);
        }
        else {
            return res.status(200).json({"hash" : "Successful"});
        }
      }).catch((error) => {
        return res.status(406).send(error);
      });
}
});

Вещи, которые я уже пробовал

  1. Преобразуйте gateway.transaction.sale в обещание с помощью bluebird. Он по-прежнему выдает ту же ошибку - Как обещать метод Braintree?

  2. Измените сумму и дайте другой одноразовый номер, выбрав карточки для тестирования - https://developers.braintreepayments.com/reference/general/testing/node#test-value-2223000048400011

  3. Удалить options - Ничего не меняется


person Sanchita Santra    schedule 17.07.2018    source источник


Ответы (1)


Это может быть связано с тем, что вы находитесь на уровне бесплатного пользования (Spark), поэтому исходящие соединения сокетов блокируются. Вам нужно будет обновить свой проект до Blaze plan, чтобы включить исходящие соединения. Blaze plan имеет большие квоты, поэтому с вас, вероятно, не будет взиматься плата.

person Diego P    schedule 17.07.2018
comment
Спасибо. Вы здорово помогли. - person Sanchita Santra; 18.07.2018