Кто-нибудь реализовал 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 года) может быть билетом.

  • Как преобразовать значения NSString в шестнадцатеричные значения
  • Можно ли показать изображение в UIAlertView?
  • Сортировка NSArray пользовательских объектов по их свойствам NSDate
  • AppDelegate, rootViewController и presentViewController
  • UIButton внутри представления с UITapGestureRecognizer
  • Сортировка NSArray строк или объектов даты
  • Как распечатать имя метода и номер строки и условно отключить NSLog?
  • Круговые контрольные бары в IOS
  • Чтение аудио сэмплов через AVAssetReader
  • XCode 4 зависает при «Присоединении к (имя приложения)»
  • Определение типа устройства
  • Interesting Posts

    Могу ли я юридически отказаться от Win 7 64 бит до Win 7 32 бит?

    Windows 7 – отображение даты с помощью небольших значков

    Методы стирания типа

    Щелкните правой кнопкой мыши, чтобы выбрать строку в Datagridview и показать меню для ее удаления.

    Почему сложность вычисления рядов Фибоначчи 2 ^ n, а не n ^ 2?

    Что такое нормальная / безопасная температура для i7 2600K CPU?

    Выполнение динамического кода

    Как эффективно строить дерево из плоской структуры?

    Powershell get-childitem env: путь возвращает эллипс одной строки, как что-то полезное?

    Выбранный jQuery Выбранный веб-сайт проверки валидации недоступен

    Java – создание массива методов

    Инициализация свойства, точечная нотация

    Путаница между порядком матрицы C ++ и OpenGL (строка-майор против столбца-майора)

    Как настроить «зубчатый массив» в VBA?

    Почему эмулятор Android настолько медленный? Как мы можем ускорить разработку эмулятора Android?

    Давайте будем гением компьютера.