首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >向Square API收费时未找到错误

向Square API收费时未找到错误
EN

Stack Overflow用户
提问于 2017-02-16 04:44:56
回答 1查看 1.4K关注 0票数 2

Square REST API文档指出,当我调用事务端点(为信用卡充值)时,应该获得我的位置列表,然后使用返回的位置代码。我就是这么做的,但是返回的错误表明商家没有使用提供的ID的位置。

我尝试过在发送到事务端点的JSON中使用和不使用location_id,因为它是一个path变量。同样的结果。我还在Square的API FAQ上看到,404未找到的常见原因是创建了错误的card nonce,但此响应清楚地表明位置ID无效。

我已经用Postman和JSON测试过了,我可以看到位置代码是正确的。以下是我的电话和回复:

这是一个GET请求:

代码语言:javascript
运行
复制
https://connect.squareup.com/v2/locations

下面是我们的回应:

代码语言:javascript
运行
复制
{
"locations": [
{
  "id": "FPVPFZ4DXXXXX",
  "name": "MyCompany",
  "address": {
    "address_line_1": "123 Candy Lane",
    "address_line_2": "",
    "locality": "Smithfield",
    "administrative_district_level_1": "RI",
    "postal_code": "02917",
    "country": "US"
  },
  "timezone": "America/Los_Angeles",
  "capabilities": [
    "CREDIT_CARD_PROCESSING"
  ]
},
{
  "id": "4FHNAN1WXXXXX",
  "name": "MyCompany2",
  "address": {
    "address_line_1": "567 Smith Street",
    "address_line_2": "",
    "locality": "Greenville",
    "administrative_district_level_1": "RI",
    "postal_code": "02828-2910",
    "country": "US"
  },
  "timezone": "America/Los_Angeles",
  "capabilities": [
    "CREDIT_CARD_PROCESSING"
  ]
 }
 ]
 }

在上面的示例中,我对返回的in进行了一些修改。

接下来,我调用一张卡,将其记入以下uri:

代码语言:javascript
运行
复制
https://connect.squareup.com/v2/locations/FPVPFZ4DXXXXX/transactions

有了这个身体:

代码语言:javascript
运行
复制
{  
"note":"",
"idempotency_key":"azsxdcfvrtrewsdf",
"location_id":"FPVPFZ4DXXXXX",
"shipping_address":{  
  "address_line_1":"123 My Street",
  "address_line_2":null,
  "locality":"Greenville",
  "administrative_district_level_1":"RI",
  "postal_code":"02828",
  "country":"US"
},
"billing_address":{  
  "address_line_1":"123 My Street",
  "address_line_2":null,
  "locality":"Greenville",
  "administrative_district_level_1":"RI",
  "postal_code":"02828",
  "country":"US"
},
"card_nonce":"CBASEPPW7fjdUHe-3jP6ZZ4kvE0gAQ",
"reference_id":"RT-12345678",
"amount_money":{  
  "amount":12500,
  "currency":"USD"
},
"delay_capture":true,
"buyer_email_address":"jim@xxxxxxxxxx.net",
"customer_id":"JIM"
}

我得到的回应是:

代码语言:javascript
运行
复制
{
"errors": [
{
  "category": "INVALID_REQUEST_ERROR",
  "code": "NOT_FOUND",
  "detail": "This merchant does not have a location with the ID    `FPVPFZ4DXXXXX`.",
  "field": "location_id"
}
]
}

因此,位置ID与位置端点返回的ID完全匹配。

熟悉这个接口的人能帮我解决吗?遗憾的是,Square的文档和支持都很匮乏。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-16 06:37:42

我认为这里的问题是您试图使用您的沙箱凭据(sandbox-sq0idp-defoUOlu...)来向您的生产位置FPVPFZXXXXX收费。如果你用你的沙箱凭证调用ListLocations,你应该得到一个不同的位置,然后你可以用它来进行沙箱收费。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42259676

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档