Получены неизвестные параметры в Laravel, Cashier и Stripe

Прежде чем мы начнем, я использую эти версии:

"laravel/framework": "5.4.*"

"laravel/cashier": "~7.0"

Я получаю тестовый токен Stripe обратно в свой внешний интерфейс Vue.js, а затем отправляю его обратно в Laravel API. Это создание клиента в Stripe и сохранение stripe_id в моей таблице пользователей. Но я получаю следующую ошибку:

message: "Received unknown parameters: object, card, client_ip, created, livemode, type, used"

Я отправляю весь токен обратно:

card: {id: "card_1E6gkZ2eZvKYlo2CkU7Xebko", object: "card", address_city: null, address_country: null, address_line1: null, …}
client_ip: "5.64.000.00"
created: 1550852387
id: "tok_1E6gkZ2eZvKYlo2CyVJV9hXm"
livemode: false
object: "token"
type: "card"
used: false

Это код, который я использую до сих пор, чтобы проверить его работу:

public function processSubscription(Request $request)
{
    $sub = Auth::user()
        ->newSubscription('main', 'plan_E2xs2LcXXXXXX')
        ->create($request->token);

    return $sub;
}

Это мой интерфейсный код, который, я полагаю, в порядке, поскольку он создает клиента:

methods: {
  getToken() {
    this.processing = true
    createToken().then(data => {
      console.info(data.token)
      this.processSubscription(data.token)
    })
  },
  processSubscription(token) {
    this.$axios.put('account/subscribe', {
        token: token
      }).then(response => {
          console.info(response)
          this.processing = false
        }, error => {
          console.info(error)
          this.processing = false
        }
      )
  }
}
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
1 434
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

При использовании этого токена в других методах Stripe API вы хотите просто передать его id (в вашем примере кода это "tok_1E6gkZ2eZvKYlo2CyVJV9hXm"), а не весь объект.

Вы можете увидеть пример передачи токена как source при создании клиента в документы API.

Спасибо за ответ. Я уже попробовал это this.processSubscription(data.token.id) и получил ответ "message":"No such token: tok_1E6hRG2eZvKYlo2CmpVmL3iR","status_code":500.

Jack Barham 22.02.2019 18:05

Не обращайте внимания. Ты прав. Мне нужно было убедиться, что публичный ключ полосы во внешнем интерфейсе совпадает с внутренним, а это не так. Теперь работает нормально :)

Jack Barham 22.02.2019 18:18

Другие вопросы по теме