2011-10-24 13 views

Respuesta

7

Creo que usted está buscando esto.

SKPaymentTransaction Se crea una transacción para cada pago agregado a la cola. Cada transacción tiene propiedades que permiten que su aplicación determine el estado de la transacción. Cuando se realiza el pago, la transacción incluye detalles adicionales sobre la transacción exitosa.

que está aquí: http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/MakingaPurchase/MakingaPurchase.html#//apple_ref/doc/uid/TP40008267-CH3-SW1

Parece que cuando se tiene un transactionReceipt entonces el pago se ha completado.

0

Es como usted lo describe - El usuario cobra entre addPayment y cuando paymentQueue: updatedTransactions: recibe SKPaymentTransactionStateComprado.

Pero el momento exacto en que se carga al usuario durante esa fase no es determinista, como ocurre con el marco de StoreKit.

En las cabeceras, hay un comentario junto a SKPaymentTransactionStatePurchased que dice "usuario ha sido acusado.” Así que una vez que reciba SKPaymentTransactionStatePurchased conoce el usuario ha sido acusado.

+0

Entonces, aunque nunca llamo para finalizar la transacción, ¿se le cobrará al usuario? No entiendo por qué Apple insiste tanto en: "entregue su contenido antes de lanzar finishTransaction" a través del – CedricSoubrie

+0

@CedricSoubrie La transacción final está allí para informarle a Apple que tu aplicación ha respondido a la compra. Si terminaste la transacción antes de que se entregue el contenido y tu aplicación se reinicie (antes o durante la descarga del contenido), Apple no sabría volver a verla. nd el mensaje de Transacción actualizado. – CiscoIPPhone

Cuestiones relacionadas