クレジットカード登録(トークン方式)
/api/v1.0/billing_payment_method/credit_card_token
請求先登録更新後、レスポンスで返却された店舗オーダー番号をリクエストに加え、ROBOT PAYMENT決済システムにリクエスト送信する際に、ユーザーが入力するクレジットカード番号を、別の文字列(トークン)に置き換えて通信を行うことで、情報漏洩リスクを軽減しつつ請求先の決済情報のクレジットカード情報を登録することができます。
決済方式には、ポップアップ方式・カスタマイズ方式の2種類があります。 ポップアップ方式とは、JavaScriptでユーザーのブラウザ内に弊社で用意しました決済画面をポップアップで呼び出し、カード情報をトークンに置き換えて加盟店様へ返却しクレジットカード登録を行う方式です。 カスタマイズ方式とは、加盟店様サイト内でカード情報を入力後、JavaScriptで弊社サーバーへ通信しカード情報をトークンに置き換えて、加盟店様へ返却しクレジットカード登録を行う方式です。
トークン決済をご利用される場合、弊社側の設定が必要となりますので、ご希望の際は下記カスタマーサポートまでご連絡をお願い致します。
<カスタマーサポート>
- TEL:03-4405-0665(平日9:00-18:00)
- Mail:support@billing-robo.jp
設定が完了後、コントロールパネルより以下の設定をお願い致します。
- 「設定」→「決済システム」
- 「決済ゲートウェイ&CTI決済設定」→「決済データ送信元IP」
- 「PC用決済フォーム設定」→「決済データ送信元URL」
トークンはJavascriptの非同期通信により生成されるため、対応ブラウザは下記の通りになります。
- Microsoft Edge 最新版
- Google Chrome 最新版
- Firefox 最新版
- Safari 最新版
アウトライン
トークンの取得
※サイト内でユーザー様が入力したカード情報は必ず消去するように構築お願い致します。
実装方式サンプル1(ポップアップ方式)
-
決済システムにて提供する JavaScript をインポート
<head> <script type="text/javascript" src="https://credit.j-payment.co.jp/gateway/js/jquery.js"></script> <script type="text/javascript" src="https://credit.j-payment.co.jp/gateway/js/CPToken.js"></script> </head>
-
受け取ったトークンを格納するフィールドとポップアップ表示用の
<div>
タグを設置 (CPToken.CardInfo()
を呼び出すと自動で<form id="mainform">
の<input id="tkn" ..>
に値が格納されます)<form id="mainform"> <input id="tkn" name="tkn" type="hidden" value=""> <div id="CARD_INPUT_FORM" /> <input type="button" value="購入する" onclick="doPurchase()"/> </form>
-
カード情報入力フォーム表示の JavaScript を実装
// カード情報入力フォーム表示 function doPurchase() { //CP非同期通信よりカード番号入力画面を表示する CPToken.CardInfo ( { aid: 'xxxxxx' }, execPurchase ); }
-
受け取ったトークン情報を設定し、フォームの送信処理を行う JavaScript を実装
// コールバック関数 function execPurchase(resultCode, errMsg) { if (resultCode != "Success") { // 戻り値がSuccess以外の場合はエラーメッセージを表示 window.alert(errMsg); } else { // スクリプトからフォームをsubmit $("#mainform").submit(); } }
ポップアップ方式のトークン生成用関数
CPToken.CardInfo (
{ 送信するJSONパラメータ },
コールバック関数
);
パラメータ
名前 | 概要 | 桁数 | 種別 | 必須 |
---|---|---|---|---|
aid | 店舗ID ※契約時に発行された決済システムの店舗ID |
6 | 数値 | 必須 |
実装方式サンプル2(カスタマイズ方式)
-
決済システムにて提供する JavaScript をインポート
<head> <script type="text/javascript" src="https://credit.j-payment.co.jp/gateway/js/jquery.js"></script> <script type="text/javascript" src="https://credit.j-payment.co.jp/gateway/js/CPToken.js"></script> </head>
-
受け取ったトークンを格納するフィールドを設置 (
CPToken.TokenCreate()
を呼び出すと自動で<form id="mainform">
の<input id="tkn" ..>
に値が格納されます)<form id="mainform"> カード番号: <input type="text" value="" name="cn" id="cn" /> カード有効期限: <input type="text" value="" name="ed_year" id="ed_year" /> / <input type="text" value="" name="ed_month" id="ed_month" /> カード名義人: <input type="text" value="" name="fn" id="fn" /> <input type="text" value="" name="ln" id="ln" /> <input id="tkn" name="tkn" type="hidden" value=""> <input type="button" value="購入する" onclick="doPurchase()"/> </form>
-
トークンを生成するための JavaScript を実装
function doPurchase() { // CP非同期通信よりトークンを生成する CPToken.TokenCreate ( { aid: 'xxxxxx', cn: $("#cn").val(), ed: $("#ed_year").val() + $("#ed_month").val(), fn: $("#fn").val(), ln: $("#ln").val() }, execPurchase ); }
-
受け取ったトークン情報を送信するための JavaScript を実装
// コールバック関数 function execPurchase(resultCode, errMsg) { if (resultCode != "Success") { window.alert(errMsg); } else { // カード情報を消去 $("#cn").val(""); $("#ed_year").val(""); $("#ed_month").val(""); $("#fn").val(""); $("#ln").val(""); //スクリプトからフォームをsubmit $("#mainform").submit(); } }
カスタマイズ方式のトークン生成用関数
CPToken.TokenCreate (
{ 送信するJSONパラメータ },
コールバック関数
);
パラメータ
名前 | 概要 | 桁数 | 種別 | 必須 |
---|---|---|---|---|
aid | 店舗ID ※契約時に発行された決済システムの店舗ID |
6 | 数値 | 必須 |
cn | カード番号 | 16 | 数値 | 必須 |
ed | カード有効期限(YYMM形式) | 4 | 数値 | 必須 |
fn | カード名義(姓) | 50 | 文字列 | 必須 |
ln | カード名義(名) | 50 | 文字列 | 必須 |
cvv | セキュリティコード | 3または4 | 数値 | (セキュリティコード利用オプションをご利用時) |
md | 支払い方法 「10」一括払い |
2 | 定型 | 必須 |
クレジットカード登録
リクエスト
- Path:
/api/v1.0/billing_payment_method/credit_card_token
- Preferred HTTP method:
POST
- Accepted content types:
application/json
- Encode:
UTF-8
Parameters
名前 | 概要 | 桁数 | 種別 | 必須 |
---|---|---|---|---|
user_id | ユーザID(管理画面へのログインID) | 100 | メール形式 | 必須 |
access_key | アクセスキー | 100 | 半角英数 | 必須 |
billing_code | 請求先コード | 20 | 半角英数 + 記号 | 必須 |
billing_payment_method_number | 決済情報番号 | 18 | 数値 | (必須)^1 |
billing_payment_method_code | 決済情報コード | 20 | 半角英数 + 記号 | (必須)^1 |
token | トークン情報 | 半角英数 | 必須 |
レスポンス
- Type:
application/json
- Encode:
UTF-8
Fields
名前 | 概要 | 型 |
---|---|---|
error | エラー ※正常時はnull |
object |
error (response)
名前 | 概要 | 型 |
---|---|---|
code | エラーコード | int |
message | エラーメッセージ | string |
使用例
リクエスト例
{
"user_id": "sample@robotpayment.co.jp",
"access_key": "xxxxxxxxxxxxxxxx",
"billing_code" : "billing_code",
"billing_payment_method_number" : 1,
"token" : "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
}
レスポンス例
Status: 200 OK
{
"error" : {
"code" : "ER000",
"message" : "Credit card payment error."
}
}
エラー
個別エラー
エラーコード | 内容 |
---|---|
3401 | 請求先コードが不正 |
3402 | 決済情報番号が不正 |
3403 | 決済情報コードが不正 |
3404 | 請求先決済番号と請求先決済コードは同時に指定できない |
3405 | トークン情報が不正 |