2014-02-10 105 views
2

更新:hideCreditCardButton在這個問題上沒有作用,這只是一個巧合,當我嘗試它沒有信用卡它爲我工作,但那不是這種情況了。工作但只有20-30%的時間。無法與貝寶服務器通信

我使用貝寶的iOS SDK 1.4.6。如果我使用paymentViewController.hideCreditCardButton = YES;它工作正常,但如果我將此設置爲paymentViewController.hideCreditCardButton = NO;我得到服務器錯誤(參考圖像)。

enter image description here

這裏是我的代碼:

- (void)paypalPayment { 

// Create a PayPalPayment 
float paypalPrice =[youPay floatValue]; 
NSString* currencyCode = appDelegate.countryCurrency; 
if ([currencyCode isEqual: @"INR"]) { 
    float new = [[[ExchangeRate sharedManager]getExchangeRate:@"INR" toCurrency:@"USD"] 
floatValue]; 
    paypalPrice = paypalPrice*new; 
} 


PayPalPayment *payment = [[PayPalPayment alloc] init]; 
payment.amount = [[NSDecimalNumber alloc] initWithString: 
[NSString stringWithFormat:@"%.2f",paypalPrice]]; 
payment.currencyCode = @"USD"; 
payment.shortDescription = @"Total Order"; 

[PayPalPaymentViewController setEnvironment:PayPalEnvironmentProduction]; 

// Provide a payerId that uniquely identifies a user within the scope of your system, 
// such as an email address or user ID. 
NSString *aPayerId = @"[email protected]"; 

PayPalPaymentViewController *paymentViewController; 
paymentViewController = [[PayPalPaymentViewController alloc] 
initWithClientId:kPayPalClientId 
receiverEmail:kPayPalReceiverEmail 
           payerId:aPayerId 
           payment:payment 
           delegate:self]; 
paymentViewController.languageOrLocale = @"en"; 
paymentViewController.hideCreditCardButton = NO; 
[self presentViewController:paymentViewController animated:YES completion:nil]; 
} 

回答

1

戴夫來自PayPal在這裏。

這確實很奇怪。你一看到這個視圖控制器就會得到這個結果?今天還在發生嗎?

從你的截圖,它看起來像SDK仍試圖獲得與貝寶服務器的初始連接。在這個早期階段,hideCreditCardButton的設置不應該影響任何東西。

您正在使用的指定生產(而不是指定的沙盒客戶端ID)的客戶端ID,對不對?

你在控制檯日誌中看到有用的東西嗎?

+0

喜戴夫,感謝回答。你是對的'hideCreditCardButton'沒有影響它,也許還有別的東西,這只是一個巧合,當我嘗試它沒有信用卡它爲我工作,但那不是這樣的情況了。它在10次中運行3-4次。 –

+0

我正在使用指定用於生產的客戶端ID,並且在控制檯中看不到任何內容。 P.S:我住在印度,這是否需要做任何事情? –

+0

這可能是因爲存在一些連接問題(可能是印度的PayPal服務器與另一個PayPal服務器之間的連接問題),或者是與您正在進行交互的服務器隔離的其他問題。您可能需要聯繫PayPal開發人員支持部門進行跟蹤。 –

0
  • 我有同樣的問題,並通過更改kPayPalReceiverEmail解決。

  • 如果使用相同的電子郵件作爲kPayPalReceiverEmail在貝寶登陸比這個錯誤來發送付款。

  • 我只是改變kPayPalReceiverEmail電子郵件到另一個,我得到來自PayPal服務器成功響應。

它可以幫助你

+0

據我所知,「kPayPalReceiverEmail」應該是您的PayPal開發者賬戶所關聯的一個,如果我錯了,請糾正我。 –

+1

它不是必須需要..你可以使用任何其他太..目前我使用其他比貝寶開發者賬戶.. –

+1

「kPayPalReceiverEmail應該是您的PayPal開發者帳戶關聯的一個」 - 是的,這是官方建議。正如Rahul指出的那樣,您不應該使用與登錄到SDK的pay * er *地址相同的電子郵件地址。 –