en la compra de la aplicación: ¿cómo finalizar todas las transactions en SKPaymentQueue?

Tengo el problema de que cuando la aplicación pierde la networking después de comprar un consumible en la aplicación, finishTransaction no funciona. Estoy llamando a finishTransaction (todavía sin connection a internet), pero la próxima vez que se inicie la aplicación y establezca

 [[SKPaymentQueue defaultQueue] addTransactionObserver:...]; 

al usuario se le solicita la contraseña de App Store. Mi problema aquí es que no sé exactamente qué compró aquí. Si presiona cancelar aquí, todo está bien, pero si el usuario ingresa la contraseña, se le factura y no obtiene nada por ello. Entonces preferiría cancelar todas las transactions pendientes.

Ya lo intenté con

 for (SKPaymentTransaction *transaction in [SKPaymentQueue defaultQueue].transactions) { [[SKPaymentQueue defaultQueue] finishTransaction:transaction]; } 

pero [SKPaymentQueue defaultQueue].transactions está vacío aquí. ¿Hay otras posibilidades para evitar que se le pregunte al usuario pero cancelar todas las transactions pendientes?