この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

トークン化サービスの Apex クラス実装

トークン化サービスを使用して、機密性の高い顧客支払方法データを非表示にします。トークン化サービスは、PaymentMethodTokenizationRequestPaymentMethodTokenizationResponse、および CardPaymentMethodRequest を使用します。これらのクラスを支払ゲートウェイアダプタに実装します。
使用可能なバージョン: Salesforce Spring '21 以降

PaymentMethodTokenizationRequest
支払方法をトークン化する要求を表します。
このクラスはトークン化要求に関する情報を保持します。ゲートウェイアダプタは、支払ゲートウェイに送信される JSON トークン化要求を作成する際にこの情報を使用します。
PaymentMethodTokenizationRequest はコンストラクタを使用して、Salesforce でトークン化要求オブジェクトを作成します。PaymentMethodTokenizationRequest コンストラクタは引数を取りません。このコンストラクタは次のように呼び出すことができます。
1CommercePayments.PaymentMethodTokenizationRequest pmtr = new CommercePayments.PaymentMethodTokenizationRequest();
支払方法トークン化要求オブジェクトを作成する場合は、支払ゲートウェイ ID を引数としてコンストラクタを呼び出すこともできます。ただし、コンストラクタはテスト環境でのみ機能し、Apex テストコンテキスト以外で使用された場合は例外が発生します。次の例で示されている数字はサンプルです。
1CommercePayments.PaymentMethodTokenizationRequest pmtr = new CommercePayments.PaymentMethodTokenizationRequest(00000585923);
CardPaymentMethodRequest

承認、販売、またはトークン化トランザクション要求の支払方法として使用されるカードに関する詳細が含まれています。ゲートウェイアダプタは、この情報を使用して JSON トランザクション要求を支払ゲートウェイに送信します。CardPaymentMethodRequest は、SaleApiPaymentMethodRequest ClassAuthApiPaymentMethodRequest Class、および PaymentMethodTokenizationRequest Class の cardPaymentMethod 項目として使用できます。

CardPaymentMethodRequest はコンストラクタを使用して、Salesforce でカード支払方法要求オブジェクトを作成します。コンストラクタは、引数として cardCategory を取り、カード支払方法がクレジットカードかデビットカードであるかを定義します。
PaymentMethodTokenizationResponse
このクラスには、トークン化トランザクションゲートウェイ応答に関する詳細が含まれます。PaymentMethodTokenizationResponse 項目は、支払ゲートウェイから取得した応答から入力されます。このクラスは、ユーザに表示されるトークン化ゲートウェイ応答を作成するために支払プラットフォームが使用する Java レイヤの応答クラスに対応付けられています。

ゲートウェイアダプタでのトークン化クラスの実装

トークン化クラスを支払ゲートウェイアダプタに追加します。次のコードは、PaymentGatewayContext クラスから PaymentMethodTokenizationRequest を取得します。

1commercepayments.PaymentMethodTokenizationRequest tokenizeRequest= (commercepayments.PaymentMethodTokenizationRequest)gatewayContext.getPaymentRequest()
2commercepayments.CardPaymentMethodRequest cardPaymentMethodRequest = tokenizeRequest.cardPaymentMethod;

その後、PaymentMethodTokenizationResponse オブジェクトを作成できます。この例では、各 setter メソッドにプレースホルダ値を提供しています。

1commercepayments.PaymentMethodTokenizationResponse tokenizeResponse = new commercepayments.PaymentMethodTokenizationResponse();
2tokenizeResponse.setGatewayToken("gatewayToken");
3tokenizeResponse.setGatewayTokenDetails("gatewayTokenDetails");
4tokenizeResponse.setGatewayAvsCode("avsCode");
5tokenizeResponse.setGatewayMessage("transaction message");
6tokenizeResponse.setGatewayResultCode("res_code");
7tokenizeResponse.setGatewayResultCodeDescription("result code description");
8tokenizeResponse.setSalesforceResultCodeInfo(getSalesforceResultCodeInfo(commercepayments.SalesforceResultCode.SUCCESS.name()));
9tokenizeResponse.setGatewayDate("02-04-2020");