2009-04-22 6 views
36

Wygląda na to, że jedynym sposobem pozostania "w aplikacji" jest przekazanie im interfejsu UIWebView witryny mobilnej Paypal i umożliwienie przeprowadzenia tam transakcji, w przeciwnym razie użytkownik musiałby użyć klucza API.Czy ktoś zaimplementował interfejs API systemu PayPal za pośrednictwem natywnej aplikacji na telefon iPhone?

Czy to brzmi dobrze i czy ktoś dostał lub widział przykładowy kod? Muszę myśleć, że to zwykły kawałek kodu.

AKTUALIZACJA: Czy Apple na to zezwoli? Jest to aplikacja charytatywna, więc zakładam, że nie ma problemu.

Ponowna aktualizacja: Założono błędne. Apple nie zezwala na płatności bezpośrednio w aplikacjach za pomocą systemu PayPal. Musisz przekierować ponownie do interfejsu internetowego.

+0

Czy to oznacza, że ​​nie można kupować towarów w ramach aplikacji? Czy masz na myśli, że należy otworzyć Safari, aby ukończyć transakcję, czy może to zrobić w UIWebView? – ustun

+1

zgodnie z odpowiedzią poniżej, może to być dobre dla towarów fizycznych. Otwarcie safari jest oczywiście zawsze możliwe. Jeśli korzystasz z paypal API, wystarczy otworzyć WebView, aby "ukończyć" tansaction. Cała reszta może być natywna. –

+0

MUSISZ używać w zakupach aplikacji tylko do towarów wirtualnych. NIE MOŻNA używać w zakupach aplikacji do towarów rzeczywistych. Możesz jednak użyć zewnętrznej metody (np. PayPal lub Stripe) dla towarów rzeczywistych. – jsherk

Odpowiedz

23

Re-Update: Jak odpowiedział poniżej tego kodu mogą nadal być przydatne do zakupu dóbr fizycznych


Aktualizacja:

Chociaż ten kod działa, warunki App Store nie pozwoli ci używać tego kodu w aplikacji.


Original Odpowiedź:

I zdobione to po jakimś ciężkim badań API. Poniżej znajduje się metoda, która tworzy HTTP POST do wysłania do Paypal i tworzy NSURLRequest. Możesz wpisać odpowiednie zmienne formatu ciągu. Użyłem HTTP Client, aby sprawdzić, co robiłem.

- (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"); 
} 
} 

Po tym trzeba przeanalizować odpowiedź, chwyć klucz sesyjny i stworzyć UIWebView wziąć je do mobilnego serwisu PayPal. Paypal pozwala ci określić "zwrotny URL", który możesz zrobić, co chcesz. Po prostu sprawdzaj UIWebview w metodzie delegata dla tego adresu, a następnie wiesz, że transakcja jest zakończona.

Następnie wysyłasz jeszcze jeden wpis HTTP (podobny do powyższego) do Paypal, aby sfinalizować transakcję. Informacje API można znaleźć w dokumentach API Paypal Mobile Checkout.

+0

Rozwijam aplikację do czyszczenia samochodów searvice jabłko pozwoli na bezpośrednią płatność paypal ??? –

1

Kiedy mówisz "źle się pomyślałem" o Apple, zezwalając na darowizny charytatywne w ramach aplikacji, możesz podać więcej informacji? Pracuję nad aplikacją i istnieje wymóg umożliwienia darowizn charytatywnych ... Nie udało mi się znaleźć niczego od Apple, który surowo zabraniał, ale nie udało mi się znaleźć aplikacji, która umożliwiłaby darowizny charytatywne w przechowywać, albo.

(Nie miałem pewności, czy opublikować to tutaj, a nie jako nowe pytanie na najwyższym poziomie, ale jesteś pierwszą osobą, z którą spotkałem się z bezpośrednią wiedzą o charytatywnym dawaniu w ramach pytania o aplikację na iPhone'a).

+1

Dzięki za aktualizację Corey. Nie używamy PayPal, ale wciąż oczekuję odrzucenia. Widziałem wiele aplikacji, które umożliwiają wprowadzenie karty kredytowej, aby coś kupić (lub po prostu przeprowadzić losową transakcję kartą kredytową), ale nigdy nie przekazać darowizny. Jeszcze raz dziękuję i życzę powodzenia w korzystaniu z aplikacji. –

3

Apple zezwala na niestandardowe zakupy w fizycznych zakupach. Rozmawiałem z nimi na iPhone Tech Talks w Londynie i powiedzieli, że nie będą wspierać fizycznych zakupów przy zakupie aplikacji, ponieważ będą musieli radzić sobie z refundacjami itp. Odnieśli się także do istniejących aplikacji, które mają niestandardowe zamówienia.

3

Spróbuj kliknąć ten link. Wierzę, że to ci pomoże.

To bardzo proste do zrozumienia.Łącze ma bardzo prosty przepływ & proste nazwy zmiennych

http://helpmesolve.blogspot.com/