通过Java在条带中创建卡令牌

通过Java在条带中创建卡令牌,java,token,stripe-payments,Java,Token,Stripe Payments,我想在服务器端使用Stripe.com。当我尝试通过创建卡令牌时 curl https://api.stripe.com/v1/tokens \ -u sk_test_qMabFX3j5ApELqUH8mEy6NDp: \ -d card[number]=4242424242424242 \ -d card[exp_month]=12 \ -d card[exp_year]=2019 \ -d card[cvc]=123 或通过 Stripe.apiKey = "

我想在服务器端使用Stripe.com。当我尝试通过创建卡令牌时

curl https://api.stripe.com/v1/tokens \
   -u sk_test_qMabFX3j5ApELqUH8mEy6NDp: \
   -d card[number]=4242424242424242 \
   -d card[exp_month]=12 \
   -d card[exp_year]=2019 \
   -d card[cvc]=123
或通过

Stripe.apiKey = "sk_test_qMabFX3j5ApELqUH8mEy6NDp";

Map<String, Object> tokenParams = new HashMap<String, Object>();
Map<String, Object> cardParams = new HashMap<String, Object>();
cardParams.put("number", "4242424242424242");
cardParams.put("exp_month", 6);
cardParams.put("exp_year", 2019);
cardParams.put("cvc", "314");
tokenParams.put("card", cardParams);

Token.create(tokenParams);
Stripe.apiKey=“sk_test_qMabFX3j5ApELqUH8mEy6NDp”;
Map tokenParams=new HashMap();
Map cardParams=newhashmap();
cardParams.put(“编号”、“4242”);
cardParams.put(“exp_month”,6);
cardParams.put(“预期年份”,2019年);
cardParams.put(“cvc”、“314”);
tokenParams.put(“卡”,cardparms);
Token.create(tokenParams);
我在仪表板中看到以下消息: “在过去的m天里,我们看到nnn请求使用原始信用卡号”

我的问题是: 1) 我可以安全地使用JavaAPI创建卡令牌吗?如果是,如何避免此类信息?
2) 或者我必须为此使用Stripe元素和它们的脚本之一?

如果您使用Java在服务器端创建卡令牌,这意味着您的服务器收到了原始卡详细信息。即使您不将信息保存在数据库中,您仍然需要遵守更高级别的PCI合规性,这需要做大量的工作


相反,您应该使用或标记客户端。这将允许您在客户端安全地创建卡令牌,然后将该令牌发送到服务器。这也将使您处于SAQ-A之下,这是PCI合规性的最简单级别。您可以阅读更多关于Stripe文档差异的信息。

问题1

我可以安全地使用JavaAPI创建卡令牌吗?如果是,如何避免此类信息

回答:

是的,但它需要最高级别的权限,而不是SAQ A您需要SAQ D验证

验证过程: (选择选项卡“API Direct”)

摘要:

  • 您的交易必须在物理上、代码上都是安全的,并且符合所有要求(通过互联网加密的卡信息、保持wifi连接安全、存储卡数据时的文档等)
  • 您需要填写此PDF并每年上传至:
  • 您的应用程序应符合PCI DSS要求,并且必须填写上述表格并进行版本控制:
  • 如果您每年有超过600万笔交易,您必须每年填写一次此PDF:
  • 据我所知,这也应该删除您所指的条带仪表板中的消息
  • Stripe的雷达功能无法工作
API端点文档仅供参考:

创建令牌:

创建费用:


问题2

或者我必须使用条带元素和它们的一个脚本

回答:

不,你不必。只有当您想要一个具有较低权限级别和较少麻烦的更快的解决方案时,才可以使用预构建的Stripe元素脚本

其他信息:

使用Stripe.js v2(不是JAVA而是Javascript)自行收集卡信息并创建令牌,需要SAQ a-EP,其权限级别低于具有SAQ D的API。请参阅:

但不推荐使用不带元素的Stripe.js v2:

因此,我不知道这是否会删除仪表板中的安全警告,该功能可能会在以后删除因此,如果您需要自己处理卡信息,最安全的方法是获得SAQ D验证并每年填写表格。(对于网站商店来说,这不是必需的,您应该使用元素,但对于终端、NFC扫描仪等定制硬件集成,如果您必须集成自己,这可能是最简单/唯一的方法)