在Stripe中,您可以在信息中心中定义一个静态语句描述符,该描述符将作为所有事务的前缀出现,例如:


我的公司


从控制台手动创建新付款时,可以定义将显示在付款对帐单上的完整对帐单描述符,例如:


MYCOMPANY前往马德里


但是在Java中使用Stripe API时,语句描述符参数只是添加到仪表板中定义的前缀中:

        ChargeCreateParams ccp = ChargeCreateParams.builder()
            .setSource(create().getId())
            .setAmount(new Long(1300))
            .setCurrency("eur")
            .setStatementDescriptor("TRAVEL TO MADRID BY MYCOMPANY")
            .build();


Stripe中的Statement描述符的结果是:


MYCOMPANY *旅行


Stripe将API的语句描述符截断为10个字符,并将其添加到仪表板中定义的语句描述符

是否可以通过API定义完整的语句描述符,以获得与手动付款相同的行为?

最佳答案

不幸的是,API文档说您最多可以包含22个字符。
但是显然,还有另一种创建费用的方式(如果这是您的目标)。

Stripe.apiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc";

// `source` is obtained with Stripe.js; see https://stripe.com/docs/payments/cards/collecting/web#create-token
Map<String, Object> params = new HashMap<>();
params.put("amount", 2000);
params.put("currency", "usd");
params.put("source", "tok_visa");
params.put(
  "description",
  "Charge for jenny.rosen@example.com"
);

Charge charge = Charge.create(params);


希望这个答案对您有所帮助。

资料来源
https://stripe.com/docs/api/charges/create
https://www.javadoc.io/static/com.stripe/stripe-java/14.4.1/com/stripe/param/ChargeCaptureParams.Builder.html

关于java - 在Stripe中动态设置语句描述符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58683576/

10-10 17:00
查看更多