Получение Braintree ClientToken - PullRequest
       24

Получение Braintree ClientToken

0 голосов
/ 10 февраля 2020

У меня странная проблема: у меня есть дроп в пользовательском интерфейсе, настроенный как форма пожертвования в теме 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()
]);

Любые идеи

...