Apple Pay shows an error message if server is processing the payment more than 27 seconds on iOS 11

Originator:xfreebird
Number:rdar://34301443 Date Originated:07.09.2017
Status:Open Resolved:No
Product:iOS+SDK Product Version:11
Classification: Reproducible:Always
 
Area:
PassKit

Summary:

When testing Apple Pay with sandbox test accounts, the Apple Pay payment sheet would show whether I'm using a sandbox account or not.
On iOS 10, is always shown (see attachment ios10.png)
When paying, it always works and no error message is shown.

On iOS 11, is not shown (see attachment ios11.mov)
When paying, it shows that payment is not completed message with no error provided at code level, and the token is created and can be decrypted by the server.

I used the same sandbox test accounts on iOS 10 and iOS 11
******@gmail.com
******@gmail.com

Steps to Reproduce:

1) Use iOS 11 beta 10
2) Use iOS app compiled with iOS SDK 10 or 11
3) Make an Apple Pay payment with a sandbox account and test card

Expected Results:

The Apple Pay sheet should show (Apple Pay Sandbox)
And the payment should have no errors

Actual Results:

The Apple Pay sheet doesn't should show that a Sandbox account is used
And the payment fails with a valid payment token

Version/Build:
iOS 11 beta 10 15A5372a (iPhone 6S, iPhone SE)

Configuration:

Apple Pay sandbox account with test card

Comments

It looks this is a new behaviour for apple pay since iOS 11. confirmed by apple. If the server request takes more that 30s it will show the payment as failure. The recommendation is to not wait for the server request to complete, just dismiss the apple pay sheet as soon as the token in obtained.


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!