2013-08-01 38 views
1

我正在開發一個iOS項目,使用Braintree Payment roll進行事務處理。我在SCViewController.m line 86 from the Braintree iOS Library上使用API​​,並且該代碼運行良好。braintree中引用公鑰狀態IOS

我創建了一個新的布倫特裏沙盒戶頭,並把它的加密密鑰爲我們的項目,但現在我得到這個錯誤:

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

什麼我需要做的,使新的加密密鑰的工作在我的項目?

回答

2

SampleProject正在創建一個VTClient對象here。當創建該對象時,您傳遞Braintree客戶端加密密鑰和商家ID。

發生錯誤是因爲您傳遞了錯誤的Braintree客戶端加密密鑰。請確保您使用的是正確的沙盒客戶端加密密鑰和沙盒商家ID,可以找到登錄到sandbox Braintree site

另外,請記住沙盒與生產環境中存在不同的客戶端加密密鑰和商家ID。當您創建VTClient時,您可以指定您正在使用的環境 - 並確保您爲該環境傳遞適當的憑據。

+0

謝謝您的回答@johngraham我也跟着在文件中提到,並用於我的大腦樹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 environment:VTEnvironmentSandbox]; – Siva

0

Braintree在這裏開發 - 由於最近的一些內部升級,我們沙箱中的少量CSE密鑰生成不正確。從你的錯誤信息看來,你可能會遇到這個問題。

我們已經爲受影響的用戶重新生成了密鑰。如果你回到Sandbox並複製你的新CSE密鑰,它現在應該可以工作。如果沒有,請直接聯繫我們的支持([email protected]),我們將與您聯繫。

感謝,

-SP