2016-05-11 1 views

Répondre

0

Vous obtiendrez une erreur. Plusieurs codes d'erreur sont définis, l'un pour l'utilisateur qui annule le paiement, l'autre pour un utilisateur ayant effectué des achats désactivés dans ses paramètres et toutes sortes d'autres erreurs (par exemple, vous ne pouvez pas effectuer d'achats sans accès Internet).

Donc pas de cas particulier pour l'annulation, juste une erreur.

+0

et où puis-je gérer l'erreur? ou savoir de quelle erreur il s'agit? – PashaN

+1

Vous n'obtiendrez pas d'erreur pour l'annulation, car 'didAuthorizePayment' ne sera pas appelé. L'autre réponse ici sur l'utilisation d'un booléen pour suivre l'état est une meilleure approche. – lxt

3

Si vous avez les méthodes de PKPaymentAuthorizationViewControllerDelegate configuration, vous pouvez prendre le cancel dans cette méthode:

- (void)paymentAuthorizationViewControllerDidFinish:(PKPaymentAuthorizationViewController *)controller 

Je mis un booléen (applePaymentDidSucceed) à FALSE avant d'appeler d'Apple Pay, il la valeur true si la "PKPaymentAuthorizationStatus" dans cette méthode est vrai:

- (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller 
        didAuthorizePayment... 

if (! applePaymentDidSucceed), l'utilisateur a annulé.

+0

Je m'attendrais à ce que PKPaymentAuthorizationStatus contienne un champ annulé. – ApriOri