クレジット・カード番号の表示

クレジット・カード番号は、それらを見る権限を持つユーザーにのみ表示されなければなりません。

したがって、クレジット・カード番号を表示するカスタム画面を作成するときには、以下のルールを使用して、確実にこのセキュリティーが維持されるようにします。

  • CurrentUser 名前空間は、ユーザー・ノードの下に属性 ShowCreditCardInfo を含みます。 この属性は、現在のログイン・ユーザーがクレジット・カード番号を見る権限を持っている場合は TRUE、現在のログイン・ユーザーが必要な権限を持っていない場合には FALSE になります。
  • クレジット・カード番号を返す API は、通常、暗号化されたクレジット・カード番号を返します。 これらの API は、クレジット・カード番号の最後の 4 桁を含む DisplayCreditCardNo 属性も返します。
  • DisplayCreditCardNo 属性を showEncryptedCreditCardNo() JSP 関数と共に使用して、クレジット・カード番号の最初をアスタリスク (*) で表示し、その後に最後の4 桁を表示します。
  • ログイン・ユーザーが暗号化解除されたクレジット・カード番号を見る権限を持っている場合のみ表示するハイパーリンクをクレジット・カード番号の上に形成します。 例:
     <% if (userHasDecryptedCreditCardPermissions()){%>
        <yfc:makeXMLInput name="encryptedCCNoKey">
           <yfc:makeXMLKey 
    binding="xml:/GetDecryptedCreditCardNumber/@EncryptedCCNo"
    value="xml:/PaymentMethod/@CreditCardNo"/>
           </yfc:makeXMLInput>      
           <td class="protectedtext">
              <a <%=getDetailHrefOptions(decryptedCreditCardLink, 
    getParameter("encryptedCCNoKey"),"")%>>
                 <%=showEncryptedCreditCardNo(resolveValue("xml:/PaymentMethod/
    @DisplayCreditCardNo"))%> 
                </a>
            </td>
     <% } else { %>
          <td class="protectedtext"> 
     
           <%=showEncryptedCreditCardNo(resolveValue("xml:/PaymentMethod/
    @DisplayCreditCardNo"))%>&nbsp;
               <yfc:getXMLValue binding="xml:/PaymentMethod/
    @DisplayCreditCardNo"/>&nbsp;
           </td>
     <% } %>
  • 次に、ハイパーリンクがクリックされたときに開くポップアップ・ウィンドウを作成します。
  • このポップアップ・ウィンドウで getDecryptedCreditCardNumber() を呼び出して、クレジット・カード番号を暗号化解除し、現在のログイン・ユーザーが権限を持っている場合は TRUE、現在のログイン・ユーザーが権限を持っていない場合は FALSE として、DisplayFlag 属性を渡します。
  • getDecryptedCreditCardNumber() の出力を使用して、暗号化解除されたクレジット・カード番号を画面上に表示します。

アプリケーションマネージャー を使用して getDecryptedCreditCardNumber(を画面用に構成する際には、現在のユーザーの権限に基づいて DisplayFlagが API に渡されるように、動的入力を指定する必要があります。 「入力」フィールドの指定方法の例を示します。

<GetDecryptedCreditCardNumber
DisplayFlag="xml:CurrentUser:/User/@ShowCreditCardInfo"
EncryptedCCNo="xml:/Order/PaymentMethods/PaymentMethod/@CreditCardNo"/>

以下の例に従って、「テンプレート」フィールドを指定します。

<GetDecryptedCreditCardNumber DecryptedCCNo=""/>

複数のクレジット・カード番号の表示

リストにクレジット・カード番号を表示する場合、DisplayCreditCardNo 属性を表示することを選択する場合があります。 この属性は、CreditCardNo を出力する API によって返されます。

API によって返されたクレジット・カード番号にアスタリスクを付加するには、DisplayCreditCardNo 属性および showEncryptedCreditCardNo() メソッドを使用します。

リストに暗号化解除されたクレジット・カード番号のリストを表示するには、各行に対してループで getDecryptedCreditCardNumber() を呼び出します。 これは費用のかかる操作であるため、暗号化されたクレジット・カード番号 (**********1234 と表示) のリストを DisplayCreditCardNo 属性を使用して表示したい場合があります。 CreditCardNo を出力するすべての API は、この属性を返します。 次に、暗号化されたクレジット・カード番号を、指定したクレジット・カード番号を暗号化解除された形式で表示するポップアップ・ウィンドウにリンクします。