我正在尝试在Android应用中测试Stripe付款API。 Android应用程序向服务器发送令牌(Stripe向Android应用程序提供令牌),然后服务器通过Stripe Charge API使用用户的令牌费用。由于我正在测试该过程,因此我使用的是Stripe提供的虚拟值,但是当我发起收费电话时,在服务器端会得到一个InvalidRequestException。我很难测试它。
为了清楚起见,我还要添加一个图像。

java - Java中的条纹InvalidRequestException-LMLPHP

这是我的代码。

try {
    Map<String, Object> chargeParams = new HashMap<String, Object>();
    chargeParams.put("amount", jsonNode.get("amount")); // amount in cents, again
    chargeParams.put("currency", "USD");
    chargeParams.put("source", token);
    chargeParams.put("description", "charge from server");

    Charge charge = Charge.create(chargeParams);
    String des = charge.getDescription();
}
catch (CardException e) {
    // The card has been declined
}


如何测试此过程?
请引导我朝正确的方向前进。

最佳答案

在屏幕截图中,查看详细的错误消息。它告诉您出了什么问题:集成将字符串"<com.stripe.android.model.Token@..."作为令牌发送到Stripe的API。

在您的Android应用中,您可能会将令牌的字符串表示形式发送到服务器。相反,您只需要发送令牌ID。令牌ID是一个以tok_开头的字符串,后跟随机的字母数字字符。您可以通过调用getId()来访问它。

关于java - Java中的条纹InvalidRequestException,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38844522/

10-13 09:38