Specifying a currency in a SiriKit payment is not displayed correctly

Originator:me
Number:rdar://29799091 Date Originated:23-Dec-2016 12:47 PM
Status:OpenProduct Resolved:
Product:iOS + SDK Product Version:Xcode 8
Classification: Reproducible:
 
Area:
Siri

Summary:
By saying "Send €20 to Patrick via TutsplusPayments", Siri shows the amount in the wrong currency but SiriKit returns the correct currency.

Example project and screenshot of the bug is attached.

Steps to Reproduce:
1. Run the example project
2. Open Siri and say "Send €20 to Patrick via TutsplusPayments"

Expected Results:
Siri should show the specified currency (euro instead of US dollars in this case).

Actual Results:
Siri always shows US dollars.

Version:
 iOS 10.2

Notes:


Configuration:
iPhone 7

Attachments:
'SiriKit.zip' was successfully uploaded.

Comments

I had the same problem. But you can solve this by confirming the currency like this:

func confirm(sendPayment intent: INSendPaymentIntent, completion: @escaping (INSendPaymentIntentResponse) -> Void) {
    let response = INSendPaymentIntentResponse(code: .ready, userActivity: nil)
    response.paymentRecord = INPaymentRecord(payee: intent.payee, payer: nil, currencyAmount: intent.currencyAmount, paymentMethod: nil, note: intent.note, status: .pending)

    completion(response)
}

Then it shows the correct currency.

By don.pironet at Feb. 16, 2017, 9:06 a.m. (reply...)

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!