ColdFusion和#x27中的方形检出API;订单.总金额';必须大于1

ColdFusion和#x27中的方形检出API;订单.总金额';必须大于1,coldfusion,square,Coldfusion,Square,我正在尝试使用SquareAPI构建一个签出。我得到以下错误: “order.total_money.amount”必须大于1 我发送: <cfset stFields = { "idempotency_key": "*******-258a-402e-abb5-fee8e3d16884", "redirect_url": "https://graftondecafundraising.org/Squar

我正在尝试使用SquareAPI构建一个签出。我得到以下错误:

“order.total_money.amount”必须大于1

我发送:

<cfset stFields = {
    "idempotency_key": "*******-258a-402e-abb5-fee8e3d16884",
    "redirect_url": "https://graftondecafundraising.org/SquareOrderComplete.cfm",
    "order": {
      "total_money":{
      "amount": 900},
      "idempotency_key": "******-258a-402e-abb5-fee8e3d16884",
      "order": {
        "location_id": "******C7F3RZ1S5",
        "customer_id": "customer_id",
        "reference_id": "reference_id"
      }
    },
    "ask_for_shipping_address": false,
    "merchant_support_email": "merchant+support@website.com",
    "pre_populate_buyer_email": "example@email.com"
  }
>

JSON回复显示:


提前感谢您的建议

在许多支付API中都会出现这种情况,金额单位是美分,而不是美元

金额-整数

货币金额,以货币所示的最小货币面额表示。例如,当货币为美元时,金额以美分为单位。货币金额可以是正的,也可以是负的。请参阅特定字段说明,以确定特定情况下符号的含义


无法回忆起以前的公司集成了哪个API,但发送
金额:0
会触发全额退款。当涉及金钱时,真的需要阅读文档。

这发生在许多支付API中,金额是以美分而不是美元表示的

金额-整数

货币金额,以货币所示的最小货币面额表示。例如,当货币为美元时,金额以美分为单位。货币金额可以是正的,也可以是负的。请参阅特定字段说明,以确定特定情况下符号的含义


无法回忆起以前的公司集成了哪个API,但发送
金额:0
会触发全额退款。当涉及金钱时,真的需要阅读文档。

问题出现在CF2016,当序列化JSON时,即使将其包装为INT(#value#),CF也不会将金额作为整数发送。在CF2018和CF2021中,序列化JSON会将值创建为整数,Square很高兴。我们在2016年、2018年和2021年测试了完全相同的代码。它在2016年失败了,在更新的版本中工作得很好。

问题在于CF2016序列化JSON时,CF没有将金额作为整数发送,即使您将其包装为INT(#value#)。在CF2018和CF2021中,序列化JSON会将值创建为整数,Square很高兴。我们在2016年、2018年和2021年测试了完全相同的代码。它在2016年失败,在新版本中运行良好。

这是否回答了您的问题?这回答了你的问题吗?我们发送的金额为900美元,即9.00美元。我们发送的金额为900美元,即9.00美元。我特此撤回我对你的问题的投票。感谢你回来发表你的发现。我特此撤回我对你的问题的投票。感谢你回来发表你的发现。