2009-04-22 13 views
36

Sembra che l'unico modo per rimanere "in app" è dare loro una UIWebView del sito mobile paypal e lasciare che completino la transazione lì, altrimenti l'utente dovrebbe usare la sua chiave API.Qualcuno ha implementato l'API di PayPal tramite un'app nativa per iPhone?

Suona bene e qualcuno ha ricevuto o visto un codice di esempio? Devo pensare che questo è un pezzo di codice comune.

AGGIORNAMENTO: Apple consentirà? È un'app di beneficenza, quindi presumo che non ci siano problemi.

Re-UPDATE: Ho supposto sbagliato. Apple non consente pagamenti direttamente all'interno di app tramite paypal. Devi reindirizzare a un'interfaccia web.

+0

Ciò significa che non è possibile acquistare beni reali all'interno di un'app? Vuoi dire che si dovrebbe aprire Safari per completare la transazione, o può essere fatto in un UIWebView? – ustun

+1

secondo una risposta qui sotto, questo può essere ok per i beni fisici. Il safari di apertura è ovviamente sempre possibile. Se si utilizza l'API paypal, è sufficiente aprire WebView per "completare" l'interazione. Tutto il resto può essere nativo. –

+0

È NECESSARIO utilizzare negli acquisti di app solo per beni virtuali. NON puoi usare negli acquisti di app per beni reali. È tuttavia possibile utilizzare un metodo esterno (come PayPal o Stripe) per beni reali. – jsherk

risposta

23

Re-Update: Come risposto al di sotto di questo codice può essere ancora utile per l'acquisto di beni fisici


Aggiornamento:

Anche se questo codice funziona, termini App Store sarà non permetterà utilizzare questo codice all'interno di un'app.


risposta originale:

ho capito questo dopo alcune ricerche API pesante. Di seguito è riportato un metodo che crea un POST HTTP da inviare a Paypal e crea NSURLRequest. È possibile inserire le variabili di formato stringa appropriate. Ho usato HTTP Client per verificare cosa stavo facendo.

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

Dopo questo è necessario analizzare la risposta, prendete la chiave di sessione e creare un UIWebView per portarli al sito PayPal mobile. Paypal ti consente di specificare un "URL di ritorno" che puoi creare tutto ciò che desideri. Continua a controllare UIWebview nel metodo delegato per questo indirizzo e poi sai che la transazione è completa.

Quindi si invia un altro post HTTP (simile a quello sopra) a Paypal per finalizzare la transazione. Puoi trovare le informazioni dell'API nei documenti dell'API Checkout Mobile Paypal.

+0

sto sviluppando l'App per la pulizia delle auto searvice apple consentirà il pagamento diretto di paypal ??? –

1

Quando si dice "Mi sono sbagliato" su Apple che consente donazioni di beneficenza all'interno di un'app, è possibile fornire ulteriori informazioni? Sto lavorando su un'app e c'è l'obbligo di consentire donazioni di beneficenza ... Non sono stato in grado di trovare nulla da Apple vietandolo severamente, ma non sono stato in grado di trovare un'app che consenta donazioni di beneficenza nel negozio, neanche.

(Ho faticato per pubblicare questo qui e non come una nuova domanda di primo livello, ma tu sei la prima persona che ho incontrato con una conoscenza diretta della donazione all'interno di una domanda di app per iPhone).

+1

Grazie per l'aggiornamento Corey. Non stiamo usando PayPal, ma mi aspetto ancora di essere respinto. Ho visto un certo numero di app che consentono di inserire una carta di credito per comprare qualcosa (o anche solo eseguire una transazione casuale con carta di credito), ma mai donare. Grazie ancora, e buona fortuna con la tua app. –

3

Apple consentirà checkout personalizzati per acquisti fisici. Ho parlato con loro all'iPhone Tech Talks di Londra e hanno detto che non supporteranno gli acquisti fisici con In App Purchase in quanto avrebbero a che fare con i rimborsi, ecc. Si sono riferiti anche alle app esistenti che hanno checkout personalizzati.

3

Prova a seguire questo link. Credo che ti aiuterebbe.

È molto semplice da capire.Il collegamento ha molto semplice flusso & semplici nomi di variabili

http://helpmesolve.blogspot.com/

1

A seconda della complessità delle vostre esigenze, PayPal's iOS SDK (uscito marzo 2013) potrebbe essere il biglietto.

Problemi correlati