Прежде чем мы начнем, я использую эти версии:
"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
}
)
}
}






При использовании этого токена в других методах Stripe API вы хотите просто передать его id (в вашем примере кода это "tok_1E6gkZ2eZvKYlo2CyVJV9hXm"), а не весь объект.
Вы можете увидеть пример передачи токена как source при создании клиента в документы API.
Не обращайте внимания. Ты прав. Мне нужно было убедиться, что публичный ключ полосы во внешнем интерфейсе совпадает с внутренним, а это не так. Теперь работает нормально :)
Спасибо за ответ. Я уже попробовал это
this.processSubscription(data.token.id)и получил ответ"message":"No such token: tok_1E6hRG2eZvKYlo2CmpVmL3iR","status_code":500.