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

PaymentMethodTokenizationResponse クラス

支払方法のトークン化要求に対して支払ゲートウェイアダプターによって送信されるゲートウェイ応答。この応答には、支払方法のトークン ID 値が含まれます。

名前空間

CommercePayments

使用方法

このクラスのコンストラクターは、引数を取りません。次に例を示します。

CommercePayments.PaymentMethodTokenizationResponse pmtr = new CommercePayments.PaymentMethodTokenizationResponse();

支払ゲートウェイがトークン化要求を処理すると、PaymentMethodTokenizationResponse の項目は、ゲートウェイの応答からの情報を受信して保存します。ゲートウェイの応答には、トークン化要求の成否とトークン値が示されます。また、トークン化プロセスに関するメッセージや情報がほかにある場合は、それらも示されます。この後、PaymentMethodTokenizationResponse のインスタンスを承認応答または販売応答に渡すことができます。このクラスは、Java レイヤーの応答クラスに対応付けられています。

このコンストラクターは、PaymentMethodTokenizationResponse クラスの新しいインスタンスを作成します。

1commercepayments.PaymentMethodTokenizationResponse tokenizeResponse = new commercepayments.PaymentMethodTokenizationResponse();

PaymentMethodTokenizationResponse には、setter メソッドのみが含まれています。各 setter は、支払ゲートウェイからの値を受け入れ、その値を使用して PaymentMethodTokenizationResponse の属性を設定します。

PaymentMethodTokenizationResponse の最も重要なメソッドは、setGatewayTokenEncrypted です。このメソッドは、Salesforce 暗号化を使用して、暗号化されたトークン値を支払方法に設定します。setGatewayTokenEncrypted メソッドは、Salesforce API v52.0 以降で使用できます。このメソッドを使用して、トークン化された支払方法の値を確実に暗号化し、保護することをお勧めします。(過去の API バージョンで使用可能な) setGatewayToken メソッドも支払方法トークンを返しますが、トークン化された値は暗号化されていません。

インスタンス化されたクラスにゲートウェイトークンがすでにある場合は、setGatewayTokenEncrypted でエラーが発生します。

1/** @description Method to set Gateway token to persist in Encrypted Text */
2     global void setGatewayTokenEncrypted(String gatewayTokenEncrypted) {
3         if (gatewayTokenSet)  {
4             throwTokenError();
5         }
6         this.delegate.setGatewayTokenEncrypted(gatewayTokenEncrypted);
7         gatewayTokenEncryptedSet = true;
8     }
通常、PaymentMethodTokenizationResponse をインスタンス化すると、暗号化されたゲートウェイトークンと、ゲートウェイから送信されたその他のトークン化応答値が一緒に設定されます。
1public commercepayments.GatewayResponse createTokenizeResponse(commercepayments.PaymentMethodTokenizationRequest tokenizeRequest) {
2         commercepayments.PaymentMethodTokenizationResponse tokenizeResponse = new commercepayments.PaymentMethodTokenizationResponse();
3         tokenizeResponse.setGatewayTokenEncrypted(gatewayTokenEncrypted);
4         tokenizeResponse.setGatewayTokenDetails(gatewayTokenDetails);
5         tokenizeResponse.setGatewayAvsCode(gatewayAvsCode);
6         tokenizeResponse.setGatewayMessage(gatewayMessage);
7         tokenizeResponse.setGatewayResultCode(gatewayResultCode);
8         tokenizeResponse.setGatewayResultCodeDescription(gatewayResultCodeDescription);
9         tokenizeResponse.setSalesforceResultCodeInfo(SUCCESS_SALESFORCE_RESULT_CODE_INFO);
10         tokenizeResponse.setGatewayDate(system.now());
11         return tokenizeResponse;
12     }

PaymentMethodTokenizationResponse オブジェクトを作成して、暗号化されたゲートウェイトークンを設定したら、そのオブジェクトを承認応答または販売応答の setPaymentMethodTokenizationResponse メソッドに渡します。

承認応答
1public commercepayments.GatewayResponse createAuthResponse(commercepayments.AuthorizationRequest authRequest) {
2         commercepayments.AuthorizationResponse authResponse = new commercepayments.AuthorizationResponse();
3         commercepayments.PaymentMethodTokenizationResponse paymentMethodTokenizationResponse = new commercepayments.PaymentMethodTokenizationResponse();
4         if(authRequest.amount!=null )
5         {
6             authResponse.setAmount(authRequest.amount);
7         }
8         else
9         {
10             throw new SalesforceValidationException('Required Field Missing : Amount');
11         }
12 
13         authResponse.setGatewayResultCode('00');
14         authResponse.setGatewayResultCodeDescription('Transaction Normal');
15         authResponse.setGatewayAuthCode('SF'+getRandomNumber(6));
16         authResponse.setGatewayReferenceNumber(getRandomNumber(10));
17         authResponse.setSalesforceResultCodeInfo(SUCCESS_SALESFORCE_RESULT_CODE_INFO);
18         authResponse.setGatewayDate(system.now());
19         paymentMethodTokenizationResponse.setGatewayTokenEncrypted(gatewayTokenEncrypted);
20         authResponse.setPaymentMethodTokenizationResponse(paymentMethodTokenizationResponse);
21         return authResponse;
22     }
販売応答
1public commercepayments.GatewayResponse createSaleResponse(commercepayments.SaleRequest saleRequest) {
2         commercepayments.SaleResponse saleResponse = new commercepayments.SaleResponse();
3         commercepayments.PaymentMethodTokenizationResponse paymentMethodTokenizationResponse = new commercepayments.PaymentMethodTokenizationResponse();
4         if(saleRequest.amount!=null )
5         {
6             saleResponse.setAmount(saleRequest.amount);
7         }
8         else
9         {
10              throw new SalesforceValidationException('Required Field Missing : Amount');
11         }
12 
13         system.debug('Response - success');
14         saleResponse.setGatewayDate(system.now());
15         saleResponse.setGatewayResultCode('00');
16         saleResponse.setGatewayResultCodeDescription('Transaction Normal');
17         saleResponse.setGatewayReferenceNumber('SF'+getRandomNumber(6));
18         saleResponse.setSalesforceResultCodeInfo(SUCCESS_SALESFORCE_RESULT_CODE_INFO);
19         paymentMethodTokenizationResponse.setGatewayTokenEncrypted(gatewayTokenEncrypted);
20         saleResponse.setPaymentMethodTokenizationResponse(paymentMethodTokenizationResponse);
21         return saleResponse;
22     }

PaymentMethodTokenizationResponse のメソッド

PaymentMethodTokenizationResponse のメソッドは次のとおりです。

setGatewayAvsCode(gatewayAvsCode)

ゲートウェイが返した AVS (住所検証システム) 結果コード情報を設定します。最大文字数は 64 文字です。

署名

global void setGatewayAvsCode(String gatewayAvsCode)

パラメーター

gatewayAvsCode
型: String
支払プラットフォームが支払ゲートウェイからトークン化を要求するときに、支払方法に対応付けられた住所を確認するために使用されます。

戻り値

型: void

setGatewayDate(gatewayDate)

トークン化が発生した日付を設定します。一部のゲートウェイはこの値を送信しません。

署名

global void setGatewayDate(Datetime gatewayDate)

パラメーター

gatewayDate
型: Datetime

戻り値

型: void

setGatewayMessage(gatewayMessage)

ゲートウェイがトークン化要求に対して返したエラーメッセージを設定します。最大文字数は 255 文字です。

署名

global void setGatewayMessage(String gatewayMessage)

パラメーター

gatewayMessage
型: String

戻り値

型: void

setGatewayResultCode(gatewayResultCode)

ゲートウェイ固有の結果コードを設定します。このコードは、Salesforce 固有の結果コードに対応付けられている可能性があります。最大文字数は 64 文字です。

署名

global void setGatewayResultCode(String gatewayResultCode)

パラメーター

gatewayResultCode
型: String
ゲートウェイ固有の結果コード。Salesforce 固有の結果コードを対応付けるために使用する必要があります。

戻り値

型: void

setGatewayResultCodeDescription(gatewayResultCodeDescription)

支払ゲートウェイが返したゲートウェイ固有の結果コードの説明を設定します。最大文字数は 1000 文字です。

署名

global void setGatewayResultCodeDescription(String gatewayResultCodeDescription)

パラメーター

gatewayResultCodeDescription
型: String
結果コード、およびゲートウェイが特定のコードを返した理由に関する追加情報を提供します。説明はゲートウェイごとに異なります。

戻り値

型: void

setGatewayToken(gatewayToken)

ゲートウェイが返したゲートウェイトークン値を設定します。

署名

global void setGatewayToken(String gatewayToken)

パラメーター

gatewayToken
型: String
支払ゲートウェイがトークン化要求の後に送信するゲートウェイトークン。
CardPaymentMethod および DigitalWallet オブジェクトの場合は、トークン値を暗号化する gatewyTokenEncrypted パラメーターを使用します。

戻り値

型: void

setGatewayTokenDetails(gatewayTokenDetails)

支払トークンについてゲートウェイが返した追加情報を設定します。

署名

global void setGatewayTokenDetails(String gatewayTokenDetails)

パラメーター

gatewayTokenDetails
型: String

戻り値

型: void

setSalesforceResultCodeInfo(salesforceResultCodeInfo)

Salesforce 固有の結果コード情報を設定します。支払ゲートウェイには、支払コール用の多くの応答コードがあります。Salesforce は結果コード情報を使用して、支払ゲートウェイコードを事前定義された一連の標準 Salesforce 結果コードに対応付けます。

署名

global void setSalesforceResultCodeInfo(commercepayments.SalesforceResultCodeInfo salesforceResultCodeInfo)

パラメーター

salesforceResultCodeInfo
型: SalesforceResultCodeInfo
Salesforce 結果コード値の説明。

戻り値

型: void