2014-11-17 3 views
2

브레인 문서는 당신이 지불에 사용되는 형태로 클라이언트 토큰을 삽입Braintree clientToken을 어떻게 삽입합니까?

gateway.clientToken.generate({}, function (err, response) { 
    var clientToken = response.clientToken; 
    }); 

그런 다음 자신의 예를 말씀을 수행하여 clientToken를 생성 한 후 자신의 예를 var gateway=braintree.connect(environmental variables) 같이있는 환경을 말한다

braintree.setup("CLIENT-TOKEN-FROM-SERVER", "custom", {id: "checkout"}); 

하지만 clientToken은 객체임을 명시합니다. 토큰 값을 얻는 방법을 어디에서도 볼 수 없으며 반환 값은 부울입니다. 나는 typeof()을 사용하여 gateway.clientToken이 개체로보고됨을 발견했습니다.

Stackoverflow에서 나는 clientToken 개체가 base64로 인코딩 된 값으로되어 있다고 말하는 사람들을 보았습니다.하지만이 작업은 어떻게 수행합니까? Braintree의 코드가 그렇게하지 않아야합니까?

어딘가에 단계가 없거나 올바른 설명서를 찾을 수 없지만 확실히 잃어 버렸습니다.

편집 : Braintree의 응답에 따라 아래의 답변에서 clientToken은 내가 시도한 형식 중 많은 부분 인 response.clientToken으로 채워지지 않습니다. 몇 안되는 웹상의 예와 Braintree의 가벼운 문서를 보면 나는 모든 것을 올바르게하고있는 것처럼 보입니다.

EDIT2 : 문제에 대한 내 해결책은 아래 내 답변에 있습니다.

답변

1

문제는 당신이 만든 node.js 호출 내에서 Braintree와 상호 작용할 수있는 코드를 넣는 데 있습니다. 내 경우에는 http.createServer 안에 넣었으므로이 값을 디버깅하는 동안 값을 쓸 수 있었지만이 중 일부는이 작업을 허용하지 않습니다. 나는 정확한 세부 사항을 아직 생각하지 못했다.

또한 Braintree의 예제 코드에서는 gateway.clientToken.generate() 호출 내 clientToken을 보여줍니다.이 토큰을 사용하면 토큰 값을 추출하는 방법을 이해하지 못하는 동안조차 내가 속한 곳으로 생각할 수 있습니다. 그래서 clientToken을 호출 외에서 움직이면, 제가 한번 시도한 것 같아요, 적어도 부분적으로 이것을 해결했습니다.

"부분적으로"나는 당신이 모든 새로운 고객과 함께 새로운 토큰을 만들고이 방법으로 성취 할 수 없기 때문에 말합니다. 새로운 고객 방문이있을 때마다 새 토큰을 생성하는 방법을 결정해야합니다. 그것은 다른 함수 호출을 만드는 문제 일 수도 있지만 아직 시도하지는 않았습니다.

또한 새 고객을 만들어야하는지 아직 명확하지 않습니다. 나는 대답은 아니지만 나는 또한 대답을 읽었습니다. 그렇습니다. 그래서 혼란이 치세합니다.하지만 이것은 아마도 다른 질문의 주제입니다.

1

저는 Braintree에서 일합니다. 보다 자세한 질문이 있으시면 get in touch with our support team으로 연락하십시오. response.clientToken - 당신은 클라이언트 토큰을 얻을 수있는 객체 및 gateway.clientToken.generate 콜백에 의해 수신되는 것입니다 클라이언트 토큰 자체가되는 gateway.clientToken을 혼동하는 것처럼

는 소리가 난다.

토큰 (여기 var clientToken)이 있으면 클라이언트에 가져와야합니다. "Hello, Server!" docs :

클라이언트 토큰을 JavaScript로 가져 오는 방법은 여러 가지가 있으므로 Braintree를 설정할 수 있습니다. 많은 사람들이 Braintree를 설정하기위한 자바 스크립트가 포함 된보기에 클라이언트 토큰을 삽입하려고합니다.

+0

내 질문에 대한 오해. 나는 clientToken을 얻을 수 없다. – Rob

관련 문제