Внедрихме IOS SDK (https://github.com/paypal/PayPal-iOS-SDK) в собствено приложение за IOS, което изграждаме – Всичко работеше добре по време на първоначалните тестове (както Sandbox, така и производство) – плащане за 10 пенса в GBP работи без проблем в производствената среда на живо на 5 ноември.
Днес отново проверихме транзакция в производствена среда като част от окончателните тестове на приложенията и въпреки че можем да влезем с активен акаунт в PayPal - плащането е неуспешно с грешка, указваща -
'Were sorry There was a problem communicating with the paypal servers. Please try again.'
Няма грешки в регистрационния файл, които изглеждат уместни, само тези -
2013-11-27 15:51:32.528 GetPTFit[2181:60b] nested push animation can result in corrupted navigation bar
2013-11-27 15:51:32.893 GetPTFit[2181:60b] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
странно - някой имал ли е нещо подобно и знае ли как да го разреши!?
Това е моят начин на плащане, ако нещо помогне -
- (IBAction)pay {
// Remove our last completed payment, just for demo purposes.
self.completedPayment = nil;
PayPalPayment *payment = [[PayPalPayment alloc] init];
payment.amount = [[NSDecimalNumber alloc] initWithString:self.shopObject.shopIPrice];
payment.currencyCode = @"GBP";
payment.shortDescription = self.shopObject.shopITitle;
if (!payment.processable) {
// This particular payment will always be processable. If, for
// example, the amount was negative or the shortDescription was
// empty, this payment wouldn't be processable, and you'd want
// to handle that here.
}
// Any customer identifier that you have will work here. Do NOT use a device- or
// hardware-based identifier.
NSString *customerId = @"GetPTFit";
// Set the environment:
// - For live charges, use PayPalEnvironmentProduction (default).
// - To use the PayPal sandbox, use PayPalEnvironmentSandbox.
// - For testing, use PayPalEnvironmentNoNetwork.
[PayPalPaymentViewController setEnvironment:PayPalEnvironmentProduction];
PayPalPaymentViewController *paymentViewController = [[PayPalPaymentViewController alloc] initWithClientId:kPayPalClientId
receiverEmail:kPayPalReceiverEmail
payerId:customerId
payment:payment
delegate:self];
paymentViewController.hideCreditCardButton = !self.acceptCreditCards;
// Setting the languageOrLocale property is optional.
//
// If you do not set languageOrLocale, then the PayPalPaymentViewController will present
// its user interface according to the device's current language setting.
//
// Setting languageOrLocale to a particular language (e.g., @"es" for Spanish) or
// locale (e.g., @"es_MX" for Mexican Spanish) forces the PayPalPaymentViewController
// to use that language/locale.
//
// For full details, including a list of available languages and locales, see PayPalPaymentViewController.h.
paymentViewController.languageOrLocale = @"en";
[self presentViewController:paymentViewController animated:YES completion:nil];
}
наздраве