gpt4 book ai didi

swift - 付款意向 Sirikit 仍然无法正常工作

转载 作者:行者123 更新时间:2023-11-30 13:09:01 26 4
gpt4 key购买 nike

我一直在开发一个应用程序,尝试实现 requestPaymentIntent。它首先可以工作,但在某个时候它开始进行 Bing 搜索,并且在某个时候只是说它发现了一个错误,之后什么也不做。主题中也指出了这一点:支付域意图是显示互联网结果,而不是使用 Sirikit 的意图 UI 或意图确认。

William Hindenburg 提供了一个标记为良好的解决方案:“我们发现您需要将 paymentRecord 添加到 INSendPaymentIntentResponse,然后再从 Payment Intent Handler 中的确认和处理方法返回它。试一试,看看这是否适合你。”

我尝试过这样做,但我无法弄清楚。我主要在定义状态方面遇到问题。

因此,在我的处理方法中,我首先定义了 userActivity。然后我初始化响应对象。

let response = INRequestPaymentIntentResponse (code: .success, userActivity: userActivity)

然后我想将 paymentRecord 添加到响应对象中:

response.paymentRecord = INPaymentRecord(payee: nil, payer: nil, currencyAmount: intent.currencyAmount, paymentMethod: nil, note: intent.note, status: ???)

有些参数我不需要/使用,所以我填写了nil。我希望在我的应用程序中包含两件事:需要支付的金额以及需要支付的金额(注释)。在 ??? 的地方我必须填写状态,我尝试了几件事,但我无法弄清楚。由于已有多人实现此功能,您能帮我解释一下它是如何工作的吗?非常感谢!

最佳答案

Apple确实没有指定用于确认的状态,但这目前对我有用。

确认通话:

response.paymentRecord = [self makePaymentRecordForIntent:intent withStatus:INPaymentStatusPending];

发送调用:

intentResponse.paymentRecord = [self makePaymentRecordForIntent:intent withStatus:INPaymentStatusCompleted];

泛化代码:

-(INPaymentRecord *)makePaymentRecordForIntent:(INSendPaymentIntent *)intent withStatus:(INPaymentStatus)status {

INPaymentMethod *payMethod = [[INPaymentMethod alloc] initWithType:INPaymentMethodTypeChecking
name:@"Gold Star Checking"
identificationHint:@"1234"
icon:nil];

INPersonHandle *senderHandle = [[INPersonHandle alloc] initWithValue:@"first.last@example.com" type:INPersonHandleTypeEmailAddress];
NSPersonNameComponents *senderNameComp = [[NSPersonNameComponents alloc] init];
senderNameComp.givenName = @"First";
senderNameComp.familyName = @"Last";
INPerson *senderPerson = [[INPerson alloc] initWithPersonHandle:senderHandle
nameComponents:senderNameComp
displayName:@"First Last"
image:nil
contactIdentifier:nil
customIdentifier:nil];

INPaymentRecord *paymentRecord = [[INPaymentRecord alloc] initWithPayee:intent.payee
payer:senderPerson
currencyAmount:intent.currencyAmount
paymentMethod:payMethod
note:intent.note
status:status];
return paymentRecord;

}

关于swift - 付款意向 Sirikit 仍然无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38956838/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com