クレジット・カード番号の表示
クレジット・カード番号は、それらを見る権限を持つユーザーにのみ表示されなければなりません。
したがって、クレジット・カード番号を表示するカスタム画面を作成するときには、以下のルールを使用して、確実にこのセキュリティーが維持されるようにします。
- 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"))%> <yfc:getXMLValue binding="xml:/PaymentMethod/ @DisplayCreditCardNo"/> </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 は、この属性を返します。 次に、暗号化されたクレジット・カード番号を、指定したクレジット・カード番号を暗号化解除された形式で表示するポップアップ・ウィンドウにリンクします。