user3292998 user3292998 - 1 month ago 36
iOS Question

SiriKit payment confirmation currency is always US$

I build Intents Extension and I'm handling INSendMoneyIntent and I'm saying:


Send 25€ to John Smith


response after app confrimation


Here's your <Your_App> payment for US$25.00. Do you want to send it?


Intent contains proper currency iso 3 code - EUR, so why siri displays wrong currency in payment confirmation?

returning intent

INSendPaymentIntentResponse *reponse = [[INSendPaymentIntentResponse alloc] initWithCode:INSendPaymentIntentResponseCodeReady userActivity:userActivity];
completion(reponse);

Answer

You need to add a paymentRecord to your response in

(void)confirmSendPayment:(INSendPaymentIntent *)intent

like so:

INSendPaymentIntentResponse *response = [[INSendPaymentIntentResponse alloc] initWithCode:INSendPaymentIntentResponseCodeReady userActivity:userActivity];
response.paymentRecord = [[INPaymentRecord alloc] initWithPayee:intent.payee payer:nil currencyAmount:intent.currencyAmount paymentMethod:nil note:intent.note status:INPaymentStatusPending];
completion(response);