更新: hideCreditCardButton 在这个问题上没有任何作用,只是巧合的是,当我尝试不带信用卡时它对我有用但那不是情况不再。我确实在工作,但只有 20-30% 的时间。
我正在使用 PayPal iOS SDK 1.4.6。如果我使用 paymentViewController.hideCreditCardButton = YES; 它工作正常,但如果我将其设置为 paymentViewController.hideCreditCardButton = NO; 我得到服务器错误(引用图像)。
这是我的代码:
- (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 setEnvironmentayPalEnvironmentProduction];
// 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];
}
Best Answer-推荐答案 strong>
这里是来自 PayPal 的戴夫。
这确实很奇怪。你一展示 View Controller 就得到了这个?今天还在发生吗?
从您的屏幕截图中,SDK 似乎仍在尝试与 PayPal 服务器建立初始连接。在这个早期阶段,hideCreditCardButton 的设置应该不会影响任何事情。
您使用的是为生产指定的客户端 ID(而不是为沙盒指定的客户端 ID),对吗?
您在控制台日志中看到任何有用的信息吗?
关于ios - 无法与 PayPal 服务器通信,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/21674663/
|