java - 我只需要存储信用卡的最后 4 位数字

标签 java javascript payment-gateway credit-card braintree

我正在使用 Braintree 作为支付网关。
我有一个要求,我只需要存储信用卡的最后 4 位数字,有效期(根据 PCI Complaince)。
我已经在 javascript 中实现了前端代码,并且在向服务器发送数据时,信用卡信息是加密的。
无论如何我可以在后端获得最后四位数字、到期日期和卡类型,或者我可以解密吗?

<form name="paymentForm" action="/createtransaction" method="post" id="braintree-payment-form">
   <p>
     <label style="color:white">Card Number</label>
     <input type="text" size="20" ng-model="userDetails.number" autocomplete="off" data-encrypted-name="number" />
   </p>
   <p>
     <label style="color:white">CVV</label>
     <input type="text" size="4" ng-model="userDetails.cvv" autocomplete="off" data-encrypted-name="cvv" />
   </p>
   <p>
     <label style="color:white">Expiration (MM/YYYY)</label>
     <input type="text" size="2" ng-model="userDetails.month" data-encrypted-name="month" /> / <input type="text" size="4" ng-model="userDetails.year" data-encrypted-name="year" />
   </p>
   <input type="submit" id="submit" />

最佳答案

(披露,我在 Braintree 工作)

由于您使用的是客户端加密,您将无法获取信息,因为它在创建交易之前已加密。但是,一旦您进行了交易,结果对象将包含卡号的前六位/后四位数字和到期日期。然后,您可以将这些值存储在您的数据库中。

它看起来像:

Result<Transaction> result = gateway.transaction().sale(
  ...
);
Transaction transaction = result.getTarget();
CreditCard creditCart = transaction.getCreditCard();
String last4 = creditCard.getLast4();
String expiration = creditCard.getExpirationDate();

关于java - 我只需要存储信用卡的最后 4 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24962863/

相关文章:

javascript - ReactJS使用Ionic Uncaught TypeError : Cannot read property 'map' of undefined from axios request

java - 如何在 mockito 中创建方法调用文件夹?

java - 无法解析依赖项antlr :antlr:2. 7.7

javascript - vue-material 表单 POST 集

javascript - 如果 strip 支付成功,如何调用函数?在 Angular

extjs - 如何将支付网关集成到使用 ExtJs 等 javascript 框架创建的应用程序中?

ruby-on-rails - 如何处理来自 RoR 应用程序的信用卡? Stripe 在我的国家不可用

java - 如何在 JPA @Query 注释中使用 IN 子句

java - 如果使用 Cucumber JVM 和 Allure,build.gradle 中的标准设置应该如何?

带有 getter 和 setter 的 JavaScript 类导致 RangeError : Maximum call stack size exceeded