У меня странная проблема: у меня есть дроп в пользовательском интерфейсе, настроенный как форма пожертвования в теме Wordpress. Все выглядит хорошо, я могу подключиться к шлюзу, но у меня проблема с получением токена клиента. Чтобы быть более точным c я получаю эту ошибку:
name: "DropinError"
message: "There was an error creating Drop-in."
_braintreeWebError: r
name: "BraintreeError"
code: "CLIENT_INVALID_AUTHORIZATION"
message: "Authorization is invalid. Make sure your client token or tokenization key is valid."
type: "MERCHANT"
details: undefined
Ответ следующий:
token: "{" версия ": 1," authorizationFingerprint ":" .. . "" configUrl ":" https://api.braintreegateway.com: 443 / продавцов /.../ client_api / v1 / конфигурация" "graphQL": { "URL":" https://payments.braintree-api.com/graphql " "дата": "2018-05-08"}, "вызовы": [], "окружающая среда": "производство", "clientApiUrl":" https://api.braintreegateway.com: 443 / продавцов / .. ./client_api","assetsUrl":"https://assets.braintreegateway.com","authUrl":"https://auth.venmo.com","analytics":{"url ":" https://client-analytics.braintreegateway.com/ ... "}," threeDSecureEnabled ": true," paypalEnabled ": false}"
Однако иногда это работает, и в ответ я получаю только маркер.
Вот где я получаю токен в js:
var processClientToken = function (response) {
braintree.dropin.create(
{
authorization: response.token,
selector: "#bt-dropin",
paypal: {
flow: "vault"
},
card: {
cardholderName: {
required: true
}
}
},
processDropInCreation,
console.log(response)
);
};
$.get("/path/clientToken.php", processClientToken, "json");
И это файл clientToken. php:
<?php
require_once ('../../../../braintree/includes/braintree_init.php');
echo json_encode([
token => $gateway->ClientToken()->generate()
]);
Любые идеи