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