#javascript #php #paypal #braintree
#javascript #php #paypal #braintree
Вопрос:
Я использую Braintree Sandbox, и всякий раз, когда я пытаюсь оплатить, я получаю сообщение об ошибке DropIn, говорящее:
имя: «DropinError», сообщение: «Способ оплаты недоступен.», _braintreeWebError: не определено
Что я сделал, чтобы убедиться, что все в порядке:
- Дважды проверьте учетные данные API Braintree в изолированной среде
- Подключил 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
. Из того, что я вижу в вашем сообщении, я вижу, что, возможно, это та же ошибка.