【发布时间】:2017-02-28 20:06:44
【问题描述】:
我正在尝试使用 GoCardless API 沙箱创建客户,但只收到 403 禁止错误
{"error": {
"message": "Forbidden request",
"errors": [ {
"reason": "forbidden",
"message": "Forbidden request"
}],
"documentation_url": "https://developer.gocardless.com/api-reference#forbidden",
"type": "invalid_api_usage",
"request_id": "8b870491-e8ca-436c-a602-bb613bba7d96",
"code": 403
}}
我已经使用 OAuth 获取了一个不记名令牌,我用它来发帖到沙盒 url
https://api-sandbox.gocardless.com/customers
使用此 url 和不记名令牌,我可以获取客户并更新我通过沙盒客户端门户手动创建的客户。如果我故意将令牌设为无效值,则会收到 401 错误,因此我确信令牌是正确的。
错误类型“invalid_api_usage”的文档如下
这是您提出的请求有误。这可能是无效的 URL,身份验证标头可能丢失、无效或授予 权限不足,您可能已达到速率限制,或者 您的请求的语法可能不正确。错误将提供更多 具体问题的详细信息。
我可以更新我认为跨越该列表的大多数潜在问题的客户的事实。
我现在使用 GoCardless API 示例的确切帖子正文内容来创建客户以验证语法是否正确。
{
"customers": {
"email": "user@example.com",
"given_name": "Frank",
"family_name": "Osborne",
"address_line1": "27 Acer Road",
"address_line2": "Apt 2",
"city": "London",
"postal_code": "E8 3GX",
"country_code": "GB",
"metadata": {
"salesforce_id": "ABCD1234"
}
}
}
我从 SoapUI 而不是我的应用程序运行这些请求,因此我可以确定我发送的正是我期望发送的内容。
从 API 文档中,我了解到我的应用程序必须具有已批准的支付页面才能在实时环境中创建客户,但它的前缀是声明在沙盒环境中不受限制。
限制
虽然整个 GoCardless API 都可以在沙盒中访问 环境,live中存在以下限制。
支付页面限制
除非您的付款页面已被批准为符合方案规则 通过我们的赞助银行,您必须使用重定向流 API 来创建 客户、银行账户和授权。
因此限制以下端点:
- 客户:创建
- 客户银行账户:创建
- 任务:创建,恢复
- Javascript 流:所有端点
在我看来,如果 Create Customer 在沙盒环境中受到限制,我会得到 403 禁止响应,但是 API 文档明确指出情况并非如此。
我的问题基本上是我做错了什么?也许有人能发现我忘记或误解的东西。
【问题讨论】:
标签: gocardless