アディエン
概要
検証の概要に記載されているように、Forterは注文に使用される支払いクレジットカードに関する情報を要求します。これには以下が含まれます:
- クレジットカードの有効期限の月
- クレジットカードの有効期限の年
- クレジットカードのBIN
- クレジットカードのCVV結果/応答(例:"M"は"一致", "X"は"不一致")
- クレジットカードのAVS結果/応答(例:"M"は"一致"または"P"は"合格")
このデータは 保存する必要はありませんが、SFCCカートリッジを介してForterに安全に渡すことができます。これは、Forterはすべての受信サーバーリクエストに対してPCIレベル1の準拠を維持しているためです。
カートリッジでの追加のAdyenデータの有効化
場合によっては、Adyenクライアントサイド暗号化の送信と承認の間に、クレジットカードのBINやカードの有効期限を含む上記のデータポイントのいくつかを、Adyen管理パネルで手動で有効にする必要があります。これは、Adyen管理パネルにログインし、次の場所に移動することで行えます: アカウント => API URL => APIレスポンスの追加データ そして、次のフィールドを有効にするために切り替えます:
- 生の取得者結果
- カード所有者名
- カードBIN
- カードの概要
- 有効期限
クレジットカードの承認レスポンスをOrder.dsファイルにマッピングする
あなたのSFCCアーキテクチャ(コントローラー、SFRA、またはパイプライン)に応じて、支払い手段の承認レスポンスをOrder.dsファイルにマッピングする必要があるでしょう。
function ForterCreditCard(auth, cc) {
var processorResponseCode = "",
processorResponseText = "";
// format the expiration month. from 1 to 01, etc.
if (cc.creditCardExpirationMonth.toString().length == 1) {
var creditCardExpMonth = "0" + cc.creditCardExpirationMonth.toString();
} else {
var creditCardExpMonth = cc.creditCardExpirationMonth.toString();
}
this.nameOnCard = cc.creditCardHolder;
this.cardBrand = cc.creditCardType;
if (cc.creditCardNumber.substring(0,6).indexOf('*') > -1) {
this.bin = session.forms.billing.paymentMethods.creditCard.number.value.toString().substring(0,6);
} else {
this.bin = cc.creditCardNumber.toString().substring(0,6);
}
this.lastFourDigits = cc.creditCardNumberLastDigits;
this.expirationMonth = card.expirationMonth.toString();
this.expirationYear = card.expiryYear.toString();
this.verificationResults = {};
this.verificationResults.avsFullResult = auth.avsResultCode.toString();
this.verificationResults.cvvResult = auth.cvcResultCode.toString();
this.verificationResults.authorizationCode = auth.AuthorizationCode;
this.paymentGatewayData = {};
this.paymentGatewayData.gatewayName = "ADYEN_CREDIT"; // adjust based on your processor
this.paymentGatewayData.gatewayTransactionId = auth.pspReference.toString(); // Adyen 16-digit psp reference value
processorResponseCode = auth();
processorResponseText = auth.exact_message.toString();
this.verificationResults.processorResponseCode = processorResponseCode;
this.verificationResults.processorResponseText = processorResponseText;
}