Полное раскрытие, я работаю в Braintree.Если у вас есть дополнительные вопросы, свяжитесь с Служба поддержки
Вы можете обновить существующую подписку, чтобы использовать любой другой способ оплаты, который хранится в вашем Хранилище .Вы можете сделать это с помощью существующего метода оплаты или путем создания нового метода оплаты с помощью paymentMethod()->create()
запроса API.
С учетом вышесказанного указанный вами запрос может работать, но ярекомендуем не включать параметр id
, поскольку он зарезервирован для установки нового идентификатора подписки.Идентификатор подписки, который вы хотите изменить, будет помещен в первый аргумент, как вы включили в свой код.Вы можете упростить запрос, чтобы он выглядел примерно так:
$result = $gateway->subscription()->update('old_subscription_id', [
'paymentMethodToken' => 'new_payment_method_token'
]);