es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo obtener el resultado configurado de Stripe en un Fragmento?

¿Cómo obtengo la respuesta de Stripe con la nueva API de Resultados de Actividad? Creo una nueva tarjeta y quiero adjuntarla a una cuenta de Stripe. Para hacer eso, tengo que usar el confirmar el intento de configuración y esperar la respuesta de Stripe. Pero, ¿cómo registro esto con la nueva API? Este es mi código, pero el onActivityResult ha sido declarado obsoleto ahora. Sé cómo usarlo para seleccionar imágenes o hacer llamadas telefónicas y otras cosas que pueden usar la función de lanzamiento de la actividad registrada. No quiero hacer esto en el lado del servidor porque si la tarjeta necesita una vista web de seguridad 3D automática, Stripe se encarga de eso automáticamente.

java
ConfirmSetupIntentParams confirmParams = ConfirmSetupIntentParams
.create(paymentMethodParams, clientSecret);
stripe.confirmSetupIntent(this, confirmParams);
@Override
public void onActivityResult(int requestCode, int resultCode, @org.jetbrains.annotations.Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
stripe.onSetupResult(requestCode, data, new ApiResultCallback<setupintentresult>() {

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Con la nueva API de Resultados de Actividad, puedes obtener la respuesta de Stripe utilizando la nueva función registerForActivityResult en lugar de usar el método onActivityResult que está obsoleto. Aquí tienes el código actualizado:

    // crea el objeto ConfirmSetupIntentParams
    ConfirmSetupIntentParams confirmParams = ConfirmSetupIntentParams
                                        .create(paymentMethodParams, clientSecret);
    
    // registra el resultado del intento de configuración utilizando la nueva API
    ActivityResultLauncher<intent> launcher = registerForActivityResult(
                new ActivityResultContracts.StartActivityForResult(),
                result -> {
                    // maneja el resultado del intento de configuración
                    Intent data = result.getData();
                    stripe.onSetupResult(result.getResultCode(), data, new ApiResultCallback<setupintentresult>() {
                        @Override
                        public void onSuccess(@NonNull SetupIntentResult result) {
                            // maneja el éxito
                        }
    
                        @Override
                        public void onError(@NonNull Exception e) {
                            // maneja el error
                        }
                    });
                });
    
    // inicia la actividad de Stripe con los parámetros del intento de configuración
    stripe.confirmSetupIntent(this, confirmParams);
    
    // inicia la actividad utilizando la nueva API
    launcher.launch(stripe.getPaymentIntentResult().getIntent());
    

    Con este código actualizado, el objeto launcher estará atento al resultado de la actividad de Stripe, y el resultado se pasará a la función de devolución de llamada donde podrás manejar el éxito o el error del intento de configuración. Ten en cuenta que el método onActivityResult ya no es necesario con la nueva API de Resultados de Actividad.

Comments are closed.