2016-04-12 14 views
1

CCAvenueは、Salesforce Apex言語用の統合キットを提供していません。 Asp.net、Java、NodeJS、iOS、Android、Windowsを提供しています。Payment Gateway CCAvanue with Salesforce Apex

どのようにデータを暗号化し、CCAvenue支払いゲートウェイをリクエストするのですか?

答えて

0

多くの苦労の末、私たちはsalesforce apexでデータを暗号化して暗号化することができました。このPLAIN_TEXTはあなたの頂点のフォームから収集したデータである

/*

:ここ

は暗号化されます。必要な値は少なく、多くの値はオプションです。 ccavenueから提供された文書をお読みください。

*/

文字列PLAIN_TEXT =「TID = XXXX & merchant_id = XXXX &たorder_id = XXXX &量= XX &通貨= INR & REDIRECT_URL = XXXX & cancel_url = XXXX &言語= EN & billing_name = XXXX & billing_address = XXXX & billing_city = XXXX & billing_state = XX & billing_zip = XXXX & billing_country = XXXX & billing_tel = XXXX & billing_email = XXXX & delivery_name = XXXX & delivery_address = XXXX & delivery_city = XXXX & delivery_state = XXXX & delivery_zip = XXXX & delivery_country = XXXX & delivery_tel = XXXX & merchant_param1 = XXXX & merchant_param2 = XXXX & merchant_param3 = XXXX & merchant_param4 = XXXX & merchant_param5 = XXXX & promo_code = & customer_identifier = & ';

// WORKING_KEYは、加盟店として登録するときにCCAvenueが提供するキーです。

ブロブcryptoKey = Blob.valueOf( 'WORKING_KEY');

ブロブハッシュ= Crypto.generateDigest( 'MD5'、cryptoKey);

ブロブデータ= Blob.valueOf(PLAIN_TEXT);

Blob encryptedData = Crypto.encryptWithManagedIV( 'AES128'、hash、data);

文字列encRequest = EncodingUtil.convertToHex(encryptedData);

/*ここでのVisualforce FORM */

を用いhttps://secure.ccavenue.com/transaction/transaction.do?command=initiateTransactionにaccess_codeでこれencRequestを渡し復号ある:

ブロブ暗号鍵= Blob.valueOf( 'WORKING_KEY')。

Blob hash = Crypto。generateDigest( 'MD5'、cryptoKey);

ブロブデータ= EncodingUtil.convertFromHex( 'ENC_RESPONSE'); // ccAvenueの応答から受信

Blob decryptedText = Crypto.decryptWithManagedIV( 'AES128'、hash、data);

文字列PLAIN_TEXT = decryptedText.toString();

関連する問題