cómo manejar si el usuario canceló la compra InApp o simplemente otro estado fallido

Estoy tratando de manejar el button cancelar manejando el código de error SKErrorPaymentCancelled. Sin embargo, el código de error SKErrorPaymentCancelled y el estado SKPaymentTransactionStateFailed devuelven el mismo valor. Entonces, todos los estados de SKPaymentTransactionStateFailed actúan como si el usuario cancelara la transacción. ¿Hay alguna manera de distinguir estos dos códigos?

mi código es así:

case SKPaymentTransactionStateFailed: { if (transaction.error.code == SKErrorPaymentCancelled) { [kUIActivator stopAnimating]; button1.enabled = YES; } 

Wallahi no sé :(, tengo el mismo problema que SKErrorPaymentCancelled y SKPaymentTransactionStateFailed tienen el mismo código en cualquier condición. Si alguien puede responder a este problema, me alegraré también …