Кто-нибудь реализовал API PayPal через собственное приложение для iPhone?

Кажется, единственный способ остаться в приложении – предоставить им UIWebView мобильного сайта paypal и позволить им завершить транзакцию там, иначе пользователю понадобится использовать свой ключ API.

Правильно ли это звучит, и кто-нибудь получил или увидел образец кода? Я должен думать, что это общий кусок кода.

ОБНОВЛЕНИЕ: разрешит ли Apple это? Это благотворительное приложение, поэтому я предполагаю, что проблем нет.

Re-UPDATE: Я ошибался. Apple не разрешает платежи непосредственно в приложениях с помощью PayPal. Вы должны перенаправить на веб-интерфейс.

Повторное обновление: как указано ниже, этот код может по-прежнему быть полезным для покупки физических товаров


Обновить:

Хотя этот код работает, условия App Store не позволят вам использовать этот код в приложении.


Оригинальный ответ:

Я понял это после некоторых тяжелых исследований API. Ниже приведен метод, который создает HTTP POST для отправки в Paypal и создает NSURLRequest. Вы можете заполнить соответствующие переменные формата строки. Я использовал HTTP-клиент, чтобы проверить, что я делаю.

- (void)sendPayPalRequestPOST{ perfomingSetMobileCheckout=YES; recordResults = FALSE; NSString *parameterString = [NSString stringWithFormat:@"USER=%@&PWD=%@&SIGNATURE=%@&VERSION=57.0&METHOD=SetMobileCheckout&AMT=%.2f&CURRENCYCODE=USD&DESC=%@&RETURNURL=%@", userName, password, signature, self.donationAmount, @"Some Charge", returnCallURL]; NSLog(parameterString); NSURL *url = [NSURL URLWithString:paypalUrlNVP]; NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:url]; NSString *msgLength = [NSString stringWithFormat:@"%d", [parameterString length]]; [theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"]; [theRequest setHTTPMethod:@"POST"]; [theRequest setHTTPBody: [parameterString dataUsingEncoding:NSUTF8StringEncoding]]; NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self]; if( theConnection ){ webData = [[NSMutableData data] retain]; [self displayConnectingView]; }else{ NSLog(@"theConnection is NULL"); } } 

После этого вам нужно разобрать ответ, захватить ключ сеанса и создать UIWebView, чтобы отправить их на мобильный сайт paypal. Paypal позволяет указать «URL-адрес возврата», который вы можете сделать, что угодно. Просто продолжайте проверять UIWebview в методе делегата для этого адреса, а затем вы знаете, что транзакция завершена.

Затем вы отправляете еще одну HTTP-почту (аналогичную приведенной выше) в Paypal для завершения транзакции. Вы можете найти информацию об API в документах API PayPal Mobile Checkout API.

Apple предоставит пользовательские проверки для физических покупок. Я поговорил с ними на iPhone Tech Talks в Лондоне, и они сказали, что они не будут поддерживать физические покупки в App Purchase, так как им придется иметь дело с возмещениями и т. Д. Они также ссылаются на существующие приложения, у которых есть пользовательские проверки.

Попробуйте следовать этой ссылке. Я верю, что это поможет вам.

Это очень просто понять. Ссылка имеет очень простые имена streamов и легкой переменной

http://helpmesolve.blogspot.com/

Когда вы говорите «я ошибался» в отношении Apple, предоставляющего благотворительные пожертвования в приложении, можете ли вы предоставить дополнительную информацию? Я работаю над приложением, и есть требование разрешить благотворительные пожертвования … Я не смог ничего найти от Apple, строго запрещающего это, но я не смог найти приложение, которое позволяет благотворительные пожертвования в магазин.

(Я боролся с тем, публиковать ли это здесь, а не как новый вопрос верхнего уровня, но вы первый человек, с которым я сталкиваюсь с прямым знанием о благотворительной поддержке в вопросе iPhone-приложения).

Разве это невозможно, используя электронную библиотеку платежей Paypal?

https://www.x.com/community/ppx/xspaces/mobile/mep?view=overview

В зависимости от сложности ваших потребностей, SDK PayPal iOS SDK (выпущенный в марте 2013 года) может быть билетом.

  • UISwitch в ячейке UITableView
  • Программный пример UIPickerView?
  • Как настроить размер содержимого UIScrollView динамически
  • Как отключить горизонтальную прокрутку UIScrollView?
  • Как я могу получить точное время, например, в миллисекундах в Objective-C?
  • Получить процентное использование процессора
  • iphone error: expected '=', ',', ';', 'asm' или '__attribute__' перед '' foo '
  • Apple Mach-O и множественные ошибки «неопределенных символов» с использованием OpenCV
  • Как преобразовать значения NSString в шестнадцатеричные значения
  • Как я могу добавить объекты CGPoint в NSArray простым способом?
  • Как прокрутить UITableView в определенную позицию
  • Давайте будем гением компьютера.