トークンの取得

トークン取得と、初回課金に必要なもの

本ページは接続仕様書ver,3.0.0以降をご覧の方を対象に公開しています。

1. 当社が公開しているJavaScriptファイルを参照する

記述場所は<head>内を推奨します。

2. 店舗IDの識別と、各種フィールド名を定義するJavaScript

記述場所は</body>の直前を推奨します。なお末尾の</script>は省略して「3.」の記述と繋げることも可能です。設置ページに他のJavaScriptの記述がある場合、それ以降に(読み込みが最後になるよう)記述することを推奨します。

3. 取得したトークンで課金リクエストするためのJavaScript

リクエストに基づくトークン化が完了した際に、それを受け取って課金リクエストするために必要な記述です。19行目のコメントアウトを解除して記述すれば、課金時の消費者によるボタン押下を自動化することで省略します。

カード情報保持/通過に関する重要事項告知

「カード番号など不要な(保持・通過すべきでない)データを削除する」とコメントされた記述は絶対に変更しないでください。PCI DSSに準拠していない加盟店がカード情報を保持/通過させた場合、加盟契約の打ち切りの可能性があるばかりか、アクワイアラないしカードブランドから罰金が課せられる可能性があり、その場合、当社は加盟店様へ罰金の全額と対応にかかる実費を請求いたします。

4. カード情報(カード番号、有効期限、姓、名)を「5.」に"getMemberToken()"する<form>タグ

5. サーバ間通信を行うプログラム

ここでは一例としてphpを使い、 仮実働時処理をする記述を紹介しています。実装時には接続仕様書とゲートウェイ接続サンプルを参照の上、加盟店サイトのビジネスモデルに適したジョブ(処理)内容に編集してください。


require_once 'HTTP/Request.php';

    /* 
        sid:店舗ID 
        svid:サービス種別(1:固定) 
        ptype:処理種別(1:Gateway接続) 
        job:決済ジョブタイプ(CAPTURE:仮実同時処理) 
        upcmemberid:トークン
        rt:結果返信方法(2:レスポンス) 
        sod:店舗オーダー番号(店舗独自のパラメータ) 
        siam1:商品金額 
        sisf1:商品送料 
    */  

    //upcmemberidが設定されていないと決済時エラーになりますので、適宜エラーハンドリングを行うようにしてください。
    $token="";
    $token = $_POST["upcmemberid"];

    /* 接続URLの設定 */  
    $url = 'https://gw.ccps.jp/memberpay.aspx';  
    $url = $url . 'sid=100010&svid=1&ptype=1&job=CAPTURE&rt=2';  
    $url = $url . 'upcmemberid='.$token;
    $url = $url . '&sod=testtransaction&
    $url = $url . '&siam1=1050&sisf1=0';  

	$request = &new HTTP_Request();
	$request->setURL($url);

	/* 結果HTMLの取得 */
	$result = $request->sendRequest();

	/* 結果が取得できれば処理継続 */
	if (!PEAR::isError($result)) {
		$data = $request->getResponseBody();

		//&を区切りにレンスポンスデータを分割し配列にする
		$result_array = explode('&', $data);

		for( $i = 0; $i < count( $result_array ); $i++ )
		{
			$target_array = explode( '=', $result_array[$i] );
			if( $target_array[0] == "rst" ) {break;}
		}

		if ( (int)$target_array[1] == 1 ) {
			/* 決済処理成功の場合はここに処理内容を記載 */
			print ( '決済成功' );
		} else {
			/* 決済処理失敗の場合はここに処理内容を記載 */
			print ( '決済失敗' );
		}

	} else {
		/* 決済処理エラーの場合は個々に処理内容を記載 */
		print ( '決済エラー' );
	}
			

動作サンプル

動作サンプルは以下になります。