#gocardless
#идти без оглядки
Вопрос:
Я пытаюсь использовать GoCardside API sandbox для создания клиента, но получаю только ошибку 403 forbidden
{"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-адрес и токен на предъявителя, я могу привлекать клиентов и обновлять клиента, которого я создал вручную, через клиентский портал sandbox. Если я намеренно придаю токену недопустимое значение, я получаю вместо этого ошибку 401, поэтому я уверен, что токен правильный.
Документация для типа ошибки «invalid_api_usage» выглядит следующим образом
Это ошибка с запросом, который вы сделали. Это может быть недопустимый URL, заголовок аутентификации может отсутствовать, недействителен или предоставлять недостаточные разрешения, возможно, вы достигли своего предела скорости или синтаксис вашего запроса может быть неправильным. Ошибки дадут более подробную информацию о конкретной проблеме.
Тот факт, что я могу обновить клиента, я считаю, пересекает большинство потенциальных проблем из этого списка.
Сейчас я использую точное содержимое тела сообщения в примере API GoCardside для создания customer, чтобы убедиться, что синтаксис должен быть правильным.
{
"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 я понимаю, что в моем приложении должны быть одобрены платежные страницы для создания клиентов в живой среде, однако перед этим добавляется заявление о том, что это не ограничено в среде изолированной среды.
Ограничения
Несмотря на то, что весь API без GoCardside доступен в среде изолированной среды, в live существуют следующие ограничения.
Ограничения платежной страницы
Если ваши платежные страницы не были одобрены нашим банком-спонсором в соответствии с правилами схемы, вы должны использовать API потока перенаправления для создания клиентов, банковских счетов и мандатов.
Таким образом, следующие конечные точки ограничены:
- Клиенты: Создайте
- Банковские счета клиентов: Создать
- Мандат: Создавать, Восстанавливать
- Поток Javascript: все конечные точки
Мне кажется, что запрещенный ответ 403 — это именно то, что я получил бы, если бы Create Customer был ограничен в среде изолированной среды, однако в документации API явно указано, что это не так.
Мой вопрос в основном в том, что я мог делать неправильно? Может быть, кто-нибудь может заметить что-то, что я забыл или неправильно понимаю.
Ответ №1:
Ответ заключается в том, что песочница ограничена таким же образом, как и живая среда.
Документация API, похоже, сформулирована таким образом, что предполагает, что песочница не ограничена, однако это не так.
Чтобы снять ограничение в среде изолированной среды, вам необходимо обратиться в службу поддержки GoCardside и запросить его.