2013-08-01 3 views
1

트랜잭션 처리를 위해 Braintree Payment roll을 사용하여 iOS 프로젝트를 개발 중입니다. 나는 SCViewController.m line 86 from the Braintree iOS Library에서 API를 사용하고 있으며 코드가 완벽하게 작동하고 있습니다. braintree의 공개 키 상태에 대한 참조를 보장 IOS

나는 새로운 브레인 트리 샌드 박스 accout을 만들어 우리의 프로젝트에 자사의 암호화 키를 넣어,하지만 지금은이 오류를 얻을 : 내 프로젝트에 새 암호화 키를 작동하기 위해 수행해야 할 무엇

Problem acquiring reference to the public key, OSStatus == 0

을 ?

답변

2

SampleProjectVTClient 개체 here을 생성합니다. 해당 객체가 생성되면 Braintree 클라이언트 측 암호화 키와 판매자 ID를 전달합니다.

잘못된 Braintree 클라이언트 측 암호화 키를 전달하기 때문에이 오류가 발생합니다. sandbox Braintree site에 로그인 할 수있는 올바른 샌드 박스 클라이언트 측 암호화 키와 샌드 박스 판매자 ID를 사용하고 있는지 확인하십시오.

또한 샌드 박스와 프로덕션 환경에 대한 클라이언트 측 암호화 키와 판매자 ID가 다릅니다. VTClient을 만들 때 작업중인 환경을 지정할 수 있으며 해당 환경에 적합한 자격 증명을 전달하는지 확인할 수 있습니다.

+0

덕분에 내가 문서에 언급 여전히 내가 같은 오류가 account.but 내 브레인 트리 주어 올바른 암호화 키를 사용하는 모든 절차를 따랐다. – Siva

+0

흠. 몇 가지 질문 : 샌드 박스 Braintree 클라이언트 측 암호화 키와 판매자 ID는 어디서 얻었습니까? 또한,'VTClient'를 샌드 박스 환경으로 초기화하고 있습니까? 그리고 마지막으로,'VTClient'가 초기화 될 때 여러분은 그 올바른 키들을 전달할 것이라는 것을 확인할 수 있습니까? – johngraham

+0

@johngraham이 (가) 지연되어 죄송합니다.이 링크 "sandbox.braintreegateway.com";에서 암호화 키와 판매자 ID를 받았습니다. VenmoTouchFramework 및 VenmoTouchSettings.h에서 키를 초기화하고 appdelegate 클래스에서 사용합니다. - (BOOL) application : (UIApplication *) application didFinishLaunchingWithOptions : (NSDictionary *) launchOptions {[self initVTClient]; } - (void) initVTClient {if ([BT_ENVIRONMENT isEqualToString : @ "sandbox"]) {[VTClient startWithMerchantID : BT_SANDBOX_MERCHANT_ID braintreeClientSideEncryptionKey : BT_SANDBOX_CLIENT_SIDE_ENCRYPTION_KEY 환경 : VTEnvironmentSandbox]; – Siva

0

여기에 Braintree dev - 일부 최근의 내부 업그레이드로 인해 샌드 박스에있는 소수의 CSE 키가 잘못 생성되었습니다. 오류 메시지에서이 문제로 조금 낫게 된 것 같습니다.

영향을받는 사용자의 키를 다시 생성했습니다. 샌드 박스로 돌아가서 새 CSE 키를 복사하면 이제 작동합니다. 그렇지 않은 경우 Google 지원팀 ([email protected])에 직접 연락하여 연락을 취하십시오.

감사합니다, 당신의 응답 @johngraham에 대한

-SP