python - 如何在结账时获得 Stripe 的申请费以反映可调整的数量?
问题描述
我为 Stripe 的结帐会话呼叫添加了可调整的数量。我了解费用对象是在付款后创建的。
我正在查看 Stripe 文档中的申请费对象,它说它的上限为最终收费金额。如何在结帐期间检索费用金额或更好的数量?
checkout_session = stripe.checkout.Session.create(
success_url=domain_url + 'success?session_id={CHECKOUT_SESSION_ID}',
cancel_url=domain_url + 'cancelled/',
payment_method_types=['card'],
customer=customer.id,
payment_intent_data={
'application_fee_amount': int(stripe_price * fee_percentage),
'transfer_data': {
'destination': seller.stripe_user_id,
},
},
line_items=[
{
'price_data': {
'currency': currency,
'unit_amount': price,
'product_data': {
'name': title
},
},
'adjustable_quantity': {
'enabled': True,
'minimum': 0,
'maximum': available_quantity,
},
'quantity': 1,
},
],
metadata={
"product_id": product.id,
"client_reference_id": user.id,
},
mode='payment',
)
return JsonResponse({'sessionId': checkout_session['id']})
except Exception as e:
return JsonResponse({'error': str(e)})
解决方案
现在最好的选择是执行以下操作:
- 设置
payment_method_data.capture_method
为manual
结帐会话 - 结帐会话完成时设置
application_fee_amount
捕获资金时
这将您限制为支持单独授权和捕获的付款方式,但它允许您application_fee_amount
在结帐会话完成后进行设置。
推荐阅读
- kotlin - 如何修复 Rxjava(Kotlin)上的 subscribeWith Type 参数错误?
- sql - SQL 组合两个 SQL 语句的输出以返回布尔值
- android - 如何在 Firebase 实时数据库中执行“或”查询
- python - Keras LSTM TensorFlow 错误:“形状必须具有相同的等级,但为 1 和 0”
- php - 图片未在实时托管中显示
- logging - 无法使用 Serilog 从 HttpContext 访问用户声明以进行日志记录
- java - 如何在 hql 中创建嵌套查询,其中我们可以将 id 作为参数传递
- windows - 如果批处理文件中没有某些短语,如何删除文件?
- javascript - 链接 package.json 脚本以启动 Express 服务器和 Vue 应用程序
- ruby-on-rails - 更新后如何返回上一页?