Получение Braintree ClientToken
У меня странная проблема: у меня есть падение в пользовательском интерфейсе, настроенное как форма пожертвования в теме Wordpress. Все выглядит хорошо, я могу подключиться к шлюзу, но у меня проблема с получением токена клиента. Чтобы быть более конкретным, я получаю эту ошибку:
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
Ответ следующий:
токен: "{" версия ": 1,"authorizationFingerprint ":"... ","configUrl ":" https://api.braintreegateway.com/merchants/.../client_api/v1/configuration","graphQL":{"url": " https://payments.braintree-api.com/graphql","date":"2018-05-08"}, "Challenge": [],"environment": " production","clientApiUrl ":" https://api.braintreegateway.com/merchants/.../client_api","assetsUrl ":" https://assets.braintreegateway.com/"," authUrl ":" https://auth.venmo.com/"," analytics ": {"url ":" https://client-analytics.braintreegateway.com/.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()
]);
Есть идеи?