2011-05-19 173 views
0

我在沙箱環境中測試一個PayPal按鈕,它的工作。現在我試圖讓它在實時環境中工作,但按鈕仍處於禁用狀態。PayPal按鈕問題

我的代碼是

[PayPal initializeWithAppID:@"APP-80W284485P519543T" forEnvironment:ENV_LIVE]; 
UIButton *button = [[PayPal getInstance] getPayButton:self buttonType:BUTTON_278x43 startCheckOut:@selector(payWithPayPal) PaymentType:DONATION withLeft:20 withTop:240]; 
[self.view addSubview:button]; 

如果我改變環境ENV_LIVE到ENV_SANDBOX按鈕是使

+1

我不知道該貝寶應用程序ID是否應該是一個祕密信息或不... – Vladimir 2011-05-19 13:03:20

+1

我相信他使用的ID是一個示例測試應用程序ID。 – Krishnan 2011-05-19 13:19:08

+0

嘿公羊,我在我的iphone應用程序與沙箱環境中集成貝寶,但我得到網絡超時錯誤,也注意到貝寶對象也沒有初始化.....你能幫我....對於初始化我已使用此代碼 - [PayPal initializeWithAppID:@「APP-80W284485P519543T」forEnvironment:ENV_SANDBOX];我會等待您的回覆... – Minakshi 2012-03-12 12:29:20

回答

2

有時,當貝寶服務器已關閉或與服務器的任何問題,貝寶對象的初始化失敗,該按鈕會在這些情況下被禁用。

您可以使用下面的代碼檢查的初始化狀態:

if ([PayPal initializationStatus] == STATUS_COMPLETED_SUCCESS) { //We have successfully initialized and are ready to pay 
} 

} 

從文檔:

「支付使用PayPal」按鈕由getPayButtonWithTarget方法 返回 禁用直到初始化完成 。一旦初始化完成 ,如果成功, 按鈕將被啓用。

當初始化狀態返回 STATUS_COMPLETED_ERROR - 請求 超時或主機不可用(網絡 連接失敗)是有效的 初始化錯誤的情況下爲 initializePayPal重試。

如果由於 買方錯誤導致初始化失敗,則錯誤消息爲 ,呈現爲UIAlertView。

+0

那麼,當這種情況一直失敗並且表明服務器存在問題時,您打電話給誰?你可以暗示一下爲什麼PayPal的最佳路徑是? – pulkitsinghal 2012-01-18 21:46:22

2

只有在您的應用獲得PayPal批准後才能使用實時環境。您使用的初始化貝寶的AppID被硬編碼爲在沙箱中使用ENV。對於實時應用程序,您需要使用PayPal分配給您應用程序的App ID。按照steps in this page獲取您應用的應用ID。

記住,你需要有自己的驗證PayPal Premier or Business Account之前的應用程序將工作(即使它被批准)。

如果您提交移動應用採取這些額外的步驟

  1. iPhone(iOS版)應用程序必須包括:
    • 「應用程序」,並與UDID的396ea30899bb294607270258115a8eb9c929c021「移動規定」 文件7754a0e4b281fd313f20d9e13c87534e26b091e3。這些是PayPal將測試的兩款iPhone。
  2. 的iPad(iOS版)應用程序必須包括:
    • 「應用程序」 和 「移動規定」 文件,UDID 92e19f163eb553d42dfed00487fcaf73f7521c6e
  3. 對於一個Android應用程序,提供了一個鏈接到你的。 apk文件或將.apk文件附加到應用程序的「屏幕截圖和任何支持文檔」中
  4. 對於黑莓應用程序,請提供指向.jad文件的鏈接或將.jad文件附加到「屏幕截圖和任何支持文件ntation」應用
  5. 一個Symbian應用程序,提供了一個鏈接到你的文件名爲.wgz或附加在該文件名爲.wgz的‘屏幕捕獲和應用

的任何證明文件’一旦你的應用程序是批准後,您會收到一個Live App ID。只需將測試應用程序ID替換爲Live App ID,然後將您的Sandbox API憑據更改爲Live API憑據。