2009-04-22 16 views
36

Parece que la única manera de permanecer "en la aplicación" es darles una UIWebView del sitio móvil de PayPal y dejar que completen la transacción allí, de lo contrario, el usuario tendría que usar su clave API.¿Alguien ha implementado la API de PayPal a través de una aplicación de iPhone nativa?

¿Suena bien y alguien ha obtenido o visto algún código de muestra? Tengo que pensar que esta es una pieza común de código.

ACTUALIZACIÓN: ¿Apple permitirá esto? Es una aplicación de caridad, así que supongo que no hay ningún problema.

Re-UPDATE: Supuse mal. Apple no permitirá pagos directamente dentro de las aplicaciones que usan PayPal. Tienes que volver a dirigir a una interfaz web.

+0

¿Significa esto que no es posible comprar bienes del mundo real dentro de una aplicación? ¿Quiere decir que uno debe abrir Safari para completar la transacción, o se puede hacer en un UIWebView? – ustun

+1

de acuerdo con una respuesta a continuación, esto puede estar bien para bienes físicos. El safari de apertura es, por supuesto, siempre posible. Si usa la API de paypal, solo necesita abrir WebView para "completar" la tansaction. Todo lo demás puede ser nativo. –

+0

DEBE usar en compras de aplicaciones solo para bienes virtuales. NO puede utilizar en compras de aplicaciones para bienes del mundo real. Sin embargo, puede usar un método externo (como PayPal o Stripe) para bienes del mundo real. – jsherk

Respuesta

23

Re: Actualización: Como contestado por debajo de este código todavía puede ser útil para la compra de bienes físicos


Actualización:

Aunque este código funciona, términos App Store no permitirá para usar este código dentro de una aplicación.


respuesta original:

me cuenta de esto después de algunas investigaciones API pesada. A continuación se muestra un método que crea un HTTP POST para enviar a Paypal y realiza una solicitud de NSURL. Puede completar las variables de formato de cadena apropiadas. Usé HTTP Client para verificar lo que estaba haciendo.

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

Después de ello, tiene que analizar la respuesta, agarrar la clave de sesión y crear un UIWebView para llevarlos al sitio de PayPal móvil. Paypal te permite especificar una "URL de retorno" en la que puedes hacer lo que quieras. Simplemente siga revisando UIWebview en el método delegado para esta dirección y luego sabrá que la transacción está completa.

Luego, envía una publicación HTTP más (similar a la anterior) a Paypal para finalizar la transacción. Puede encontrar la información de la API en los documentos de la API de Paypal Mobile Checkout.

+0

estoy desarrollando la aplicación para la limpieza del coche searvice apple permitirá el pago directo de paypal ??? –

1

Cuando dice "Supuse incorrecto" acerca de que Apple permite donaciones de caridad dentro de una aplicación, ¿puede proporcionar más información? Estoy trabajando en una aplicación y hay un requisito para permitir donaciones de caridad ... No he podido encontrar nada de Apple que prohíba estrictamente, pero no he podido encontrar una aplicación que permita donaciones de caridad en el tienda, tampoco.

(Tuve problemas para publicar esto aquí y no como una nueva pregunta de nivel superior, pero usted es la primera persona con la que me he enterado con conocimiento directo sobre la donación dentro de una aplicación de iPhone).

+1

Gracias por la actualización Corey. No estamos usando PayPal, pero todavía estoy esperando ser rechazado. He visto una serie de aplicaciones que le permiten ingresar una tarjeta de crédito para comprar algo (o incluso ejecutar una transacción de tarjeta de crédito al azar), pero nunca para donar. Gracias de nuevo, y buena suerte con su aplicación. –

3

Apple permitirá compras personalizadas para compras físicas. Hablé con ellos en el iPhone Tech Talks en Londres y me dijeron que no apoyarían las compras físicas con In App Purchase ya que tendrían que lidiar con reembolsos, etc. También se refirieron a las aplicaciones existentes que tienen pagos personalizados.

3

Intenta seguir este enlace. Creo que te ayudaría.

Es muy simple de entender.El enlace tiene un flujo muy sencilla & nombres de variables sencillas

http://helpmesolve.blogspot.com/

1

Dependiendo de la complejidad de sus necesidades, PayPal's iOS SDK (lanzado en marzo de 2013) podría ser el boleto.

Cuestiones relacionadas