Получены неизвестные параметры в Laravel, Cashier и Stripe - PullRequest
0 голосов
/ 22 февраля 2019

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

"laravel/framework": "5.4.*"

"laravel/cashier": "~7.0"

Я получаю тестовый токен Stripe на моем Vue.js front-end хорошо, а затем отправляет его обратно в 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.log(data.token)
      this.processSubscription(data.token)
    })
  },
  processSubscription(token) {
    this.$axios.put('account/subscribe', {
        token: token
      }).then(response => {
          console.log(response)
          this.processing = false
        }, error => {
          console.log(error)
          this.processing = false
        }
      )
  }
}

1 Ответ

0 голосов
/ 22 февраля 2019

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

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

...