stripe pay google form app ios objective-c parse.com stripe-payments applepay

ios - google - stripe payment methods



Problema con la integraciĆ³n Apple Pay/Stripe (2)

Creo que sé lo que pasó aquí. Dejando esto en caso de que ayude a alguien.

Cuando configuré inicialmente Stripe / Apple Pay en mi aplicación, seguí recibiendo numerosos errores cuando intenté implementar STPTestPaymentAuthorizationController . Encontré el problema exacto que se describe aquí ( biblioteca de pago Stripe y símbolos indefinidos para x86_64 ).

Repetí la solución definida anteriormente comentando una parte del código de Stripe, que tal vez (?) Produjo el Error Domain=com.stripe.lib Code=50 error.

Lo solucioné al no usar STPTestPaymentAuthorizationController en absoluto, simplemente reemplazando eso con PKPaymentAuthorizationViewController en el modo #DEBUG .

tl: dr No estoy completamente seguro de por qué STPTestPaymentAuthorization no funcionó; evité la situación completamente al ejecutar PKPaymentAuthorizationViewController con mi iPhone y el panel Stripe en modo de prueba.

Seguí la documentación de Stripe y la Aplicación de ejemplo para integrar Apple Pay.

En el método handlePaymentAuthorizationWithPayment, en createTokenWithPayment, aparece el error:

Error Domain = com.stripe.lib Code = 50 "Su información de pago tiene un formato incorrecto. Asegúrese de estar utilizando correctamente la última versión de nuestra biblioteca de iOS. Para obtener más información, consulte https://stripe.com/docs/mobile / ios ". UserInfo = 0x170261b40 {com.stripe.lib: ErrorMessageKey = Su información de pago tiene un formato incorrecto. Asegúrate de utilizar correctamente la última versión de nuestra biblioteca de iOS. Para obtener más información, consulte https://stripe.com/docs/mobile/ios ., NSLocalizedDescription = Su información de pago tiene un formato incorrecto. Asegúrate de utilizar correctamente la última versión de nuestra biblioteca de iOS. Para obtener más información, consulte https://stripe.com/docs/mobile/ios .}

¿Alguien sabe como resolver esto? Estoy usando la última biblioteca de Stripe.

Gracias.


Este poco de RnD me ayudó. Al explorar en el CustomSampleProject proporcionado por Stripe, ApplePayStubs funciona bastante bien cuando se reconoce el STPCard cuando el delegado

- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller didAuthorizePayment:(PKPayment *)payment completion:(void (^)(PKPaymentAuthorizationStatus))completion

de PKPaymentAuthorizationViewControllerDelegate se llama. El código de ejemplo aquí revisado si el código se ejecutó en la depuración que es para ApplePayStubs, el pago (PKPayment *) en el delegado se convierte en un STPCard y se inicia en STPAPIClient para la generación STPToken . A continuación se encuentra el cuerpo del delegado mencionado anteriormente:

#if DEBUG // This is to handle a test result from ApplePayStubs if (payment.stp_testCardNumber) { STPCard *card = [STPCard new]; card.number = payment.stp_testCardNumber; card.expMonth = 12; card.expYear = 2020; card.cvc = @"123"; [[STPAPIClient sharedClient] createTokenWithCard:card completion:^(STPToken *token, NSError *error) { if (error) { completion(PKPaymentAuthorizationStatusFailure); [[[UIAlertView alloc] initWithTitle:@"Error" message:@"Payment Unsuccessful! /n Please Try Again" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil] show]; return; } /* Handle Token here */ }]; } #else [[STPAPIClient sharedClient] createTokenWithPayment:payment completion:^(STPToken *token, NSError *error) { if (error) { completion(PKPaymentAuthorizationStatusFailure); [[[UIAlertView alloc] initWithTitle:@"Error" message:@"Payment Unsuccessful!" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil] show]; return; } /* Handle Token here */ }]; #endif

Esto funcionó para mí. Con ApplePayStubs (en Simulator) y sin ellos (en el dispositivo) Espero que esto ayude :)