stripe - 找出客户使用的付款方式

stripe - find out which payment method did customer use

我在我的 Stripe 结账中使用了两种不同的支付方式,'card' 和 'sofort'。 出于统计目的,我想知道我的客户在付款成功后使用了哪种付款方式。

我查看了结帐后返回的会话。但是我找不到任何有用的信息。

有人解决过这个问题吗?谢谢

编辑(Java 中的解决方案):

    RequestOptions requestOptions = RequestOptions.builder().setStripeAccount(retrieveKey("CONNECTED_ACCOUNT_ID")).build();
    
    PaymentIntent paymentIntent = PaymentIntent.retrieve(paymentIntentID, requestOptions);
                
    List<Charge> charges = paymentIntent.getCharges().getData();
    
    for (Charge cg : charges) {
        paymentMethodType = cg.getPaymentMethodDetails().getType(); 
    }

如果您正在使用 Checkout,returned session 对象将包含关联的 payment_intent ID,可用于 Retrieve a PaymentIntent

检索 PaymentIntent 时,您可以选择 'expand' payment_method 字段,这将 return 与付款关联的完整 pm_ object。这将包括所有详细信息,包括 type 字段。

这将根据您的 language/integration 而有所不同。使用 Node.js:

stripe.paymentIntents.retrieve('pi_XXX', {
  expand: ['payment_method'],
});