Saltar al contenido

Comprobar si el usuario canceló SKPaymentTransaction

Contamos con tu ayuda para extender nuestras secciones referente a las ciencias de la computación.

Solución:

Este código funciona para mí:

if (transaction.error.code != SKErrorPaymentCancelled) 
    NSLog(@"Other error");
 else 
    NSLog(@"User canceled");

La respuesta de Ellen es perfecta. En caso de que alguien se esté preguntando sobre los otros casos.

switch (transaction.error.code) 
   case SKErrorUnknown:
       //Unknown error
       break;
   case SKErrorClientInvalid:
       // client is not allowed to issue the request, etc.
       break;
   case SKErrorPaymentCancelled:
       // user cancelled the request, etc.
       break;
   case SKErrorPaymentInvalid:
       // purchase identifier was invalid, etc.
       break;
   case SKErrorPaymentNotAllowed:
       // this device is not allowed to make the payment
       break;
   default:
       break;

Versión rápida:

if let error = transaction.error as? NSError 
    if error.domain == SKErrorDomain 
        // handle all possible errors
        switch (error.code) 
        case SKError.unknown.rawValue:
            print("Unknown error")
        case SKError.clientInvalid.rawValue:
            print("client is not allowed to issue the request")
        case SKError.paymentCancelled.rawValue:
            print("user cancelled the request")
        case SKError.paymentInvalid.rawValue:
            print("purchase identifier was invalid")
        case SKError.paymentNotAllowed.rawValue:
            print("this device is not allowed to make the payment")
        default:
            break;
        
    

Si te sientes motivado, tienes la habilidad dejar un escrito acerca de qué te ha parecido este tutorial.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *