#python #stripe-payments
#python #stripe-платежи
Вопрос:
Я использую stripe connect и пользовательский интерфейс для создания пользователей stripe / управления ими.
Теперь я хочу удалить учетную запись stripe connect, баланс равен 0 ofc., хотя это не должно иметь значения для тестовых ключей. Согласно документу для stripe connect, удалить учетную запись очень просто:
С помощью Connect вы можете удалять пользовательские учетные записи, которыми управляете. Пользовательские учетные записи, созданные с использованием ключей тестового режима, могут быть удалены в любое время. Пользовательские учетные записи, созданные с использованием ключей реального режима, могут быть удалены только после того, как все балансы будут равны нулю.
Это мой код:
user = User.query.filter_by(id=data_received["user_id"]).first()
stripe_acc_id = user.stripe_connect_acc_id
db_session.delete(user)
if stripe_acc_id != None:
print ("User has stripe connect account", stripe_acc_id)
try:
stripe.Account.delete(stripe_acc_id)
except Exception as e:
return json.dumps({'status': 'failed', 'reason': str(e)})
db_session.commit()
Но это не работает, я получаю эту ошибку:
{"status": "failed", "reason": "'str' object has no attribute 'refresh_from'"}
Ответ №1:
Поддержка статических методов, подобных stripe.Account.delete
описанным, была фактически добавлена в библиотеку только совсем недавно.
Если вы не используете последнюю версию библиотеки, вам нужно вместо этого сначала слегка интуитивно извлечь учетную запись, а затем удалить ее:
account = stripe.Account.retrieve('acct_1DyHD2HPqAmBZVG2')
account.delete()
Комментарии:
1. Спасибо! Оказывается, я запускал более старую версию Stripe, и мне просто нужно было запустить это, чтобы обновить ее: pip install —upgrade stripe
Ответ №2:
Эта ошибка вызвана тем, что ваша версия python-stripe не поддерживает этот метод удаления с аргументом id. Я столкнулся с той же проблемой при удалении купона со старой версией stripe 2.6.0.
Комментарии:
1. Этот ответ уже был предложен и принят 3 года назад, с гораздо более подробной информацией.