Braintree — способ оплаты недоступен

#javascript #php #paypal #braintree

#javascript #php #paypal #braintree

Вопрос:

Я использую Braintree Sandbox, и всякий раз, когда я пытаюсь оплатить, я получаю сообщение об ошибке DropIn, говорящее:

имя: «DropinError», сообщение: «Способ оплаты недоступен.», _braintreeWebError: не определено

Что я сделал, чтобы убедиться, что все в порядке:

  1. Дважды проверьте учетные данные API Braintree в изолированной среде
  2. Подключил Paypal в разделе «Способы оплаты» в соответствии с запросом / требованием Braintree Sandbox с учетными данными моей песочницы приложений в Paypal

введите описание изображения здесь

Конечный результат на моей странице после выбора способа оплаты Braintree:

введите описание изображения здесь

В нем говорится, что способ оплаты недоступен, но я вижу способы оплаты пользовательского интерфейса «Карта» и «Paypal», но я не могу расплатиться ни одним из них.

Я генерирую ClientToken на PHP следующим образом:

 $gateway = new BraintreeGateway(
[
    'merchantId' => env('BRAINTREE_MERCHANT_ID'),
    'publicKey' => env('BRAINTREE_PUBLIC_KEY'),
    'privateKey' => env('BRAINTREE_PRIVATE_KEY'),
    'environment' => env('BRAINTREE_ENVIRONMENT')
]);

$token = $gateway->clientToken()->generate();
  

А затем в Javascript все, что я делаю, это:

 // Double checked, its ok!
var token = $('#braintree_token').val();

braintree.dropin.create(
{
    authorization: token,
    container: '#braintree-container',
    paypal:
    {
        flow: 'vault',
    }
}, function(err, instance)
{
    // Error starts after this call
    instance.requestPaymentMethod(function(err, payload)
    {
        // Never reaches here!
        console.log(payload);
    }, 'json');
});
  

Что я упускаю из виду?

Комментарии:

1. Я думаю, что термин «способ оплаты» относится к уже зарегистрированной учетной записи card / paypal. То, что вы видите здесь, упоминается как «варианты оплаты» в соответствии с их документами

2. Вы нашли решение проблемы?

3. Удалось ли вам решить эту проблему? Везде, где я ищу этот вопрос, ответа нет. Braintree либо ненадежен, либо текущая версия повреждена и требует отката.

4. Ребята, вы нашли какие-нибудь решения?

Ответ №1:

Итак, с моим коллегой, который отвечал за часть FE (я делал BE part ), мы столкнулись с той же проблемой. Мы немного повозились с настройкой учетной записи, но в конце концов мой друг определил, что проблема была в части FE, особенно в requestPaymentMethod. Его объяснение:

requestPaymentMethod should be called after the user has selected a payment option, or when he filled in correct credit card details if it’s the only payment option . Из того, что я вижу в вашем сообщении, я вижу, что, возможно, это та же ошибка.