Как выполнить скручивание из приложения рельсов - PullRequest
0 голосов
/ 22 апреля 2020

Привет! Я пытаюсь создать модуль оплаты для моего приложения на рельсы с суммой. Это остальные API, которые они предоставляют, я пробовал с RestClient, но он возвращает 400 неправильных запросов.

curl -X POST \
  https://api.sumup.com/token \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'grant_type=client_credentials'\
  -d 'client_id=**Client_ID**'\
  -d 'client_secret=**Client_Secret**'

Вот как выглядит мой метод restclient:

RestClient::Request.execute(
method: :post, 
url: "https://api.sumup.com/token",
data: "grant_type=client_credentials&client_id=**CLIENT_ID**&client_secret=**Client_Secret**",
headers: { "Accept" => "application/json", "Content-Type" => "application/x-www-form-urlencode" }
)

Я делать что-то не так?

1 Ответ

1 голос
/ 23 апреля 2020

Вам не нужно вручную кодировать параметры, что является очень вероятным источником ошибок.

RestClient.post(
  "https://api.sumup.com/token",
  {
     grant_type: "client_credentials"
     client_id: "**CLIENT_ID**"
     client_secret: "**Client_Secret**"
  },
  { 
    accept: "application/json", 
    content_type: "application/x-www-form-urlencode" 
  }
)
...