PaymentMethodTokenizationResponse クラス
名前空間
使用方法
このクラスのコンストラクターは、引数を取りません。次に例を示します。
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 }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)
署名
global void setGatewayAvsCode(String gatewayAvsCode)
パラメーター
- gatewayAvsCode
- 型: String
- 支払プラットフォームが支払ゲートウェイからトークン化を要求するときに、支払方法に対応付けられた住所を確認するために使用されます。
戻り値
型: void
setGatewayDate(gatewayDate)
setGatewayMessage(gatewayMessage)
setGatewayResultCode(gatewayResultCode)
署名
global void setGatewayResultCode(String gatewayResultCode)
パラメーター
- gatewayResultCode
- 型: String
- ゲートウェイ固有の結果コード。Salesforce 固有の結果コードを対応付けるために使用する必要があります。
戻り値
型: void
setGatewayResultCodeDescription(gatewayResultCodeDescription)
署名
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)
署名
global void setSalesforceResultCodeInfo(commercepayments.SalesforceResultCodeInfo salesforceResultCodeInfo)
パラメーター
- salesforceResultCodeInfo
- 型: SalesforceResultCodeInfo
- Salesforce 結果コード値の説明。
戻り値
型: void