我正在将Amazon Pay SDK与Coldfusion一起使用,我几乎已经完成了这项工作.然而,我试图使用updateCheckoutSession方法,但它无法识别该方法的参数.调用该方法时,会出现以下错误:

enter image description here

我try 了尽可能多的方法来创建和格式化JSON,但我总是会遇到同样的错误(上面的错误).

我对该方法的调用:

<!-- Gets the Session ID from the URL -->
<cfset amzSessionId = url.amazonCheckoutSessionId>          
<cfobject action="create" type="java" class="com.amazon.pay.api.WebstoreClient" name="WebstoreClient">
<cfset theJson = '{"webCheckoutDetails":{"checkoutResultReturnUrl":"XXXXXX"},"paymentDetails":{"paymentIntent":"AuthorizeWithCapture","canHandlePendingAuthorization":false,"softDescriptor":"Descriptor","chargeAmount":{"amount":"#orderTotal#","currencyCode":"GBP"}},"merchantMetadata":{"merchantReferenceId":"XXXXXX","merchantStoreName":"XXXXXX"}}'>
<cfset updateResponse = WebstoreClient.updateCheckoutSession(amzSessionId,theJson)>

下面是WebstoreClient的CFDUMP,更新方法显示在底部.

enter image description here

如果您需要任何其他信息,我很乐意提供.

推荐答案

我认为应该传递一个JavaJSONObject类型的变量refer.因此,以下内容在理论上是可行的.

<cfset theJsonString = '{"webCheckoutDetails":{"checkoutResultReturnUrl":"XXXXXX"},"paymentDetails":{"paymentIntent":"AuthorizeWithCapture","canHandlePendingAuthorization":false,"softDescriptor":"Descriptor","chargeAmount":{"amount":"#orderTotal#","currencyCode":"GBP"}},"merchantMetadata":{"merchantReferenceId":"XXXXXX","merchantStoreName":"XXXXXX"}}'>
<cfset theJsonObject = createObject('java', 'org.json.JSONObject').init(theJsonString)>
<cfset updateResponse = WebstoreClient.updateCheckoutSession(amzSessionId, theJsonObject)>

Java相关问答推荐

Jooq隐式地将bigint转换为数字,并且索引不起作用

BiPredicate和如何使用它

Java函数式编程中的双值单值映射

如何让JFileChooser(DIRECTORIES_ONLY)从FolderName中的空白开始?

为什么我的ArrayList索引的索引总是返回-1?

Java中实现的归并排序算法给出ArrayIndexOutOfBound异常

如何调整工作时间日历中的时间

测试期间未执行开放重写方法

Java流传输一个列表并创建单个对象

将java.util.Date转换为OffsetDateTime

Instancio未在日志(log)中显示测试失败消息

Regex以查找不包含捕获组的行

将ByteBuffer异步写入InputStream或Channel或类似对象

使用for循环时出现堆栈溢出错误,但如果使用if块执行相同的操作,则不会产生错误

我的代码是线程安全的吗?[Java、CAS、转账]

Java CDI:@Singleton@Startup@Inject无法实现接口

";home/runner/work/中没有文件...匹配到[**/pom.xml];Maven项目的构建过程中出现错误

[jdk21][Foreign Function&;Memory API]MemoryLayout::varHandle通过可变数组进行 struct 化的问题

使用DynamoDB增强客户端时未更新属性

将在 Docker 中运行的 Spring Boot 连接到在 Docker 中运行的 PostgreSQL,无需 compose 文件?