【问题标题】:Is it possible to transfer money from a stripe account to other people on a bank card? [closed]是否可以通过银行卡将钱从条带帐户转移给其他人? [关闭]
【发布时间】:2021-11-08 01:36:05
【问题描述】:

这样我就可以从用户的卡中将钱转入我的帐户

public Charge debitingMoney(Card card,long sum, Currency currency, String description) {
        Map<String, Object> chargeParams = new HashMap<>();
        chargeParams.put("amount", sum);
        chargeParams.put("currency", currency);
        chargeParams.put("description", description);
        chargeParams.put("source", getToken(card).getId());
        return Charge.create(chargeParams);
    }

但现在我想给别人的卡汇款,我试着这样做

public Payout EnrollmentMoney(Card card,long sum, Currency currency, String description) {
        Map<String, Object> payoutParams = new HashMap<>();
        payoutParams.put("amount", sum);
        payoutParams.put("currency", currency);
        payoutParams.put("description", description);
        payoutParams.put("destination", "card");
        payoutParams.put("source_type", getToken(card).getId());
        return Payout.create(params);
    }

【问题讨论】:

    标签: java stripe-payments


    【解决方案1】:

    只能向您自己的帐户或关联的帐户付款,而不能向Customer 付款。您当前的代码将向您自己的 Stripe 帐户中的卡支付款项。

    需要解决的两个问题:

    • source_type 需要以下三个选项之一:bank_accountcardfpx
    • destination 需要一个 Card id 而不是字符串“card”。请注意,卡 ID 应列在 external_accounts 中。这不应该是从 Token 创建的卡片。

    更正的代码示例

     Map<String, Object> payoutParams = new HashMap<>();
            payoutParams.put("amount", sum);
            payoutParams.put("currency", currency);
            payoutParams.put("description", description);
            payoutParams.put("destination", ...(card).getId());
            payoutParams.put("source_type", "card");
    

    如果您想为已连接的帐户创建付款,您需要使用Stripe-Account header

    例子

    public Payout EnrollmentMoney(Card card,long sum, Currency currency, String description, String connectedAccountId) {
            Map<String, Object> payoutParams = new HashMap<>();
            payoutParams.put("amount", sum);
            payoutParams.put("currency", currency);
            payoutParams.put("description", description);
            payoutParams.put("destination", ...(card).getId());
            payoutParams.put("source_type", "card");
    
            RequestOptions requestOptions = RequestOptions.builder().setStripeAccount(connectedAccountId).build();
    
            return Payout.create(params,requestOptions);
        }
    

    【讨论】:

      猜你喜欢
      • 2018-08-05
      • 1970-01-01
      • 1970-01-01
      • 2018-04-16
      • 1970-01-01
      • 2014-10-19
      • 2015-03-14
      • 2012-06-04
      • 1970-01-01
      相关资源
      最近更新 更多