编程语言
首页 > 编程语言> > java – 我只需要存储信用卡的最后4位数

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

作者:互联网

我正在使用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();

标签:braintree,javascript,java,payment-gateway,credit-card
来源: https://codeday.me/bug/20190830/1769427.html