introduction/title.md このサイトについて
本サイトは、当社が提供する各種決済サービスを、加盟店システムへ安全かつスムーズに組み込むための公式APIリファレンスです。
開発者の方が最短で実装を開始できるよう、複数のインターフェース(HTTP API、REST API、JavaScript)を目的別に整理して掲載しています。
本サイトで提供している主な内容は以下のとおりです。
各種決済サービスにおけるシステム間連携に必要な、APIエンドポイントとパラメータ仕様を詳細に記載しています。
クレジットカード情報の非保持化に対応した決済フローを構築するための、クライアントサイド用JavaScriptライブラリの仕様を記載しています。
getting-started/title.md HTTP APIについて
サブスクペイでは、決済関連の機能を中心に多くの API を HTTP API により提供しております。
これらの API では、リクエストをクエリパラメータまたは POST ボディで送信し、CSV 形式など所定のレスポンス形式で処理結果を取得します。
getting-started/ip-authentication.md 認証
HTTP API では、管理画面で登録した送信元 IP アドレスによる認証を行っています。
HTTP API を利用する際は、管理画面に設定されている許可 IP アドレスからリクエストを送信してください。
未登録の IP アドレスからのアクセスは拒否されます(ER003を返却します)ので、ご注意ください。
詳細は以下をご参照ください。
【設定】決済データ送信元IPの登録・設定について
getting-started/result-notification-types.md レスポンスとキックバック
決済結果の通知方法である「レスポンス」および「キックバック」について、詳細は以下をご参照ください。
【機能解説】決済結果の通知方式(レスポンス・キックバック)
credit-card/title.md クレジットカード
credit-card/surcharge/title.md 都度課金
credit-card/surcharge/without-item-payment.md 決済 商品登録なし WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/gateway_token.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx?aid={発行された店舗ID}&jb=CAPTURE&rt=1&tkn={発行されたトークン}&am=1000&tx=0&sf=0' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx'
data = {
aid: {発行された店舗ID},
jb: 'CAPTURE',
rt: 1,
tkn: '{発行されたトークン}',
am: 1000,
tx: 0,
sf: 0
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx'
data = {
'aid': {発行された店舗ID},
'jb': 'CAPTURE',
'rt': 1,
'tkn': '{発行されたトークン}',
'am': 1000,
'tx': 0,
'sf': 0
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require 'vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx';
$data = array(
'aid' => {発行された店舗ID},
'jb' => 'CAPTURE',
'rt' => 1,
'tkn' => '{発行されたトークン}',
'am' => 1000,
'tx' => 0,
'sf' => 0
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
print_r($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/gateway_token.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&jb=CAPTURE");
data.append("&rt=1");
data.append("&tkn={発行されたトークン}");
data.append("&am=1000");
data.append("&tx=0");
data.append("&sf=0");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/gateway_token.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
jb: "CAPTURE",
rt: 1,
tkn: "{発行されたトークン}",
am: 1000,
tx: 0,
sf: 0
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/gateway_token.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("jb", "CAPTURE")
data.Set("rt", "1")
data.Set("tkn", "{発行されたトークン}")
data.Set("am", "1000")
data.Set("tx", "0")
data.Set("sf", "0")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,pw,acid,other</body>
値のみ
<body>1094077,1,TestMod,,204052,order0001,1000,0,0,1000,,,0,test=afYf389Pqn-w</body>
商品金額・税額・送料を指定して決済を行います。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| ジョブタイプ | jb | 半角英字 | 〇 | - | 決済処理の種類AUTH:仮売上CAPTURE:仮実同時売上 ※1 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 店舗オーダー番号 | cod | 半角英数 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| トークン情報 | tkn | 半角英数記号 | 〇 | - | トークン発行APIで取得したカード情報トークン |
| Eメールアドレス | em | 半角英数記号 | ※2 | 1 ~ 254 | エンドユーザーのEメールアドレス |
| 電話番号 | pn | 半角数字 | ※2 | 1 ~ 15 | エンドユーザーの電話番号 |
| 商品金額 | am | 半角数字 | 〇 | 1 ~ 7 | 商品金額 ※3 |
| 税額 | tx | 半角数字 | 〇 | 1 ~ 7 | 税額 ※3 商品金額に税額が含まれる場合は、 0をご指定ください。 |
| 送料 | sf | 半角数字 | 〇 | 1 ~ 7 | 送料 ※3 商品金額に送料が含まれる場合は、 0をご指定ください。 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:決済処理の種類について、詳細は以下をご参照ください。
【クレジットカード】決済タイプの定義(有効性・仮売上・実売上・仮実同時)
※2:Eメールアドレス、電話番号のどちらかが必須となります。
※3:商品金額・税額・送料を合わせた金額が決済総額となります。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | 3 | ap | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | 1 ~ 7 | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | 1 ~ 7 | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | 1 ~ 7 | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | 12 | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| 自動課金番号 | 13 ※1 | acid | 半角数字 | - | 自動課金ごとに発行される一意の番号 都度課金では 0が返却されます。 |
| その他データ | 14 ※1 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:「自動課金番号」の返却には事前申請が必要です。
申請がない場合は、13番目に「その他データ」が出力されます。
credit-card/surcharge/item-payment.md 決済 商品登録あり WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/gateway_token.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx?aid={発行された店舗ID}&rt=1&tkn={発行されたトークン}&iid=1' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx'
data = {
aid: {発行された店舗ID},
rt: 1,
tkn: '{発行されたトークン}',
iid: "1",
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx'
data = {
'aid': {発行された店舗ID},
'rt': 1,
'tkn': '{発行されたトークン}',
'iid': "1",
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require 'vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx';
$data = array(
'aid' => {発行された店舗ID},
'rt' => 1,
'tkn' => '{発行されたトークン}',
'iid' => "1",
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
print_r($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/gateway_token.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&rt=1");
data.append("&tkn={発行されたトークン}");
data.append("&iid=1");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/gateway_token.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
rt: 1,
tkn: "{発行されたトークン}",
iid: "1",
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl).then(async function(response) {
console.log(await response.text());
}).then(function(body) {
console.log(body);
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/gateway_token.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("rt", "1")
data.Set("tkn", "{発行されたトークン}")
data.Set("iid", "1")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,pw,acid,other</body>
値のみ
<body>1094079,1,TestMod,,204054,order0001,1000,0,0,1000,,,0,test=afYf389Pqn-w</body>
商品コードを指定して決済を行います。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 店舗オーダー番号 | cod | 半角英数 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| トークン情報 | tkn | 半角英数記号 | 〇 | - | トークン発行APIで取得したカード情報トークン |
| Eメールアドレス | em | 半角英数記号 | ※1 | 1 ~ 254 | エンドユーザーのEメールアドレス |
| 電話番号 | pn | 半角数字 | ※1 | 1 ~ 15 | エンドユーザーの電話番号 |
| 商品コード | iid | 半角英数記号 | 〇 | 50バイト以下 | サブスクペイで登録した商品コード |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:Eメールアドレス、電話番号のどちらかが必須となります。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | 3 | ap | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | 1 ~ 7 | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | 1 ~ 7 | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | 1 ~ 7 | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | 12 | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| 自動課金番号 | 13 ※1 | acid | 半角数字 | - | 自動課金ごとに発行される一意の番号 都度課金では 0が返却されます。 |
| その他データ | 14 ※1 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:「自動課金番号」の返却には事前申請が必要です。
申請がない場合は、13番目に「その他データ」が出力されます。
credit-card/auto/title.md 自動課金
credit-card/auto/without-item-payment.md 決済 商品登録なし WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/gateway_token.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx?aid={発行された店舗ID}&jb=CAPTURE&rt=1&tkn={発行されたトークン}&am=1000&tx=0&sf=0&acam=1000&actx=0&acsf=0&actp=4&ac1=30&ac3=1&ac4=2024/12/30&ac5=2025/01/30' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx'
data = {
aid: {発行された店舗ID},
jb: 'CAPTURE',
rt: 1,
tkn: '{発行されたトークン}',
am: 1000,
tx: 0,
sf: 0,
acam: 1000,
actx: 0,
acsf: 0,
actp: 4,
ac1: 30,
ac3: 1,
ac4: '2024/12/30',
ac5: '2025/01/30',
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx'
data = {
'aid': {発行された店舗ID},
'jb': 'CAPTURE',
'rt': 1,
'tkn': '{発行されたトークン}',
'am': 1000,
'tx': 0,
'sf': 0,
'acam': 1000,
'actx': 0,
'acsf': 0,
'actp': 4,
'ac1': 30,
'ac3': 1,
'ac4': '2024/12/30',
'ac5': '2025/01/30',
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require 'vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx';
$data = array(
'aid' => {発行された店舗ID},
'jb' => 'CAPTURE',
'rt' => 1,
'tkn' => '{発行されたトークン}',
'am' => 1000,
'tx' => 0,
'sf' => 0,
'acam'=> 1000,
'actx'=> 0,
'acsf'=> 0,
'actp'=> 4,
'ac1'=> 30,
'ac3'=> 1,
'ac4'=> '2024/12/30',
'ac5'=> '2025/01/30',
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
print_r($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/gateway_token.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&jb=CAPTURE");
data.append("&rt=1");
data.append("&tkn={発行されたトークン}");
data.append("&am=1000");
data.append("&tx=0");
data.append("&sf=0");
data.append("&acam=1000");
data.append("&actx=0");
data.append("&acsf=0");
data.append("&actp=4");
data.append("&ac1=30");
data.append("&ac3=1");
data.append("&ac4=2024/12/30");
data.append("&ac5=2025/01/30");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/gateway_token.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
jb: "CAPTURE",
rt: 1,
tkn: "{発行されたトークン}",
am: 1000,
tx: 0,
sf: 0,
acam: 1000,
actx: 0,
acsf: 0,
actp: 4,
ac1: 30,
ac3: 1,
ac4: "2024/12/30",
ac5: "2025/01/30",
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl).then(async function(response) {
console.log(await response.text());
}).then(function(body) {
console.log(body);
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/gateway_token.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("jb", "CAPTURE")
data.Set("rt", "1")
data.Set("tkn", "{発行されたトークン}")
data.Set("am", "1000")
data.Set("tx", "0")
data.Set("sf", "0")
data.Set("acam", "1000")
data.Set("actx", "0")
data.Set("acsf", "0")
data.Set("actp", "4")
data.Set("ac1", "30")
data.Set("ac3", "1")
data.Set("ac4", "2024/12/30")
data.Set("ac5", "2025/01/30")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,pw,acid,other</body>
値のみ
<body>1094094,1,TestMod,,204071,order0001,1999,0,0,1999,,,1000000242,actp=4&ac1=1&ac3=1&ac4=2024/07/01&ac5=2024/08/01&acam=1888&actx=0&acsf=0&trtp=0&tr1=30&tr2=1&tr3=2024/07/01&tram=1777&trtx=0&trsf=0&test=afYf389Pqn-w</body>
商品金額・税額・送料を指定して自動課金の決済を行います。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| ジョブタイプ | jb | 半角英字 | 〇 | - | 決済処理の種類CAPTURE:仮実同時売上 ※1 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 店舗オーダー番号 | cod | 半角英数 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| トークン情報 | tkn | 半角英数記号 | 〇 | - | トークン発行APIで取得したカード情報トークン |
| 電話番号 | pn | 半角数字 | ※2 | 1 ~ 15 | エンドユーザーの電話番号 |
| Eメールアドレス | em | 半角英数記号 | ※2 | 1 ~ 254 | エンドユーザーのEメールアドレス |
| 商品金額 | am | 半角数字 | 〇 | 1 ~ 7 | 商品金額 ※3 初回決済を行わず有効性チェックのみ実施する場合は、 0を指定ください。 |
| 税額 | tx | 半角数字 | 〇 | 1 ~ 7 | 税額 ※3 商品金額に税額が含まれる場合は、 0をご指定ください。 |
| 送料 | sf | 半角数字 | 〇 | 1 ~ 7 | 送料 ※3 商品金額に送料が含まれる場合は、 0をご指定ください。 |
| 自動課金周期 | actp | 半角数字 | 〇 | 1 | 自動課金を実行する頻度2:毎週課金3:隔週課金4:毎月課金5:隔月課金6:3ヶ月課金7:6ヶ月課金8:1年課金 |
| 自動課金金額 | acam | 半角数字 | 〇 | 1 ~ 7 | 自動課金金額 |
| 自動課金税額 | actx | 半角数字 | 〇 | 1 ~ 7 | 税額 商品金額に税額が含まれる場合は、 0をご指定ください。 |
| 自動課金送料 | acsf | 半角数字 | 〇 | 1 ~ 7 | 送料 商品金額に税額が含まれる場合は、 0をご指定ください。 |
| 課金日指定 | ac1 | 半角数字 | × | 1 ~ 2 | 次回課金日の指定 課金周期が毎月以上を指定した場合に設定が可能です。 0:未指定1 ~ 30:1~30日99:末日課金 |
| 課金停止回数指定 | ac3 | 半角数字 | × | 1 ~ 2 | 自動課金を停止するまでの決済回数0:指定なし1 ~ 99:停止回数 |
| 課金開始日 | ac4 | 半角数字記号 | × | - | 初回の自動課金が行われる日付yyyy/MM/dd |
| 課金終了日指定 | ac5 | 半角数字記号 | × | - | 自動課金を終了する日付yyyy/MM/dd |
| お試し期間タイプ | trtp | 半角数字 | ※4 | - | お試し期間の指定方法(日数・月数・期限)2:お試し日数3:お試し期間4:お試し月数 |
| お試し日数 | tr1 | 半角数字 | ※5 | 1 ~ 3 | お試し期間とする日数0:指定なし1 ~ 999:お試し期間の日数 |
| お試し月数 | tr2 | 半角数字 | ※6 | 1 ~ 2 | お試し期間とする月数0:指定なし1 ~ 24:お試し期間の月数 |
| お試し期限 | tr3 | 半角数字記号 | ※7 | - | お試し期間が終了する日付yyyy/MM/dd |
| お試し金額 | tram | 半角数字 | ※4 | 1 ~ 7 | お試し期間終了時の決済金額 |
| お試し税額 | trtx | 半角数字 | × | 1 ~ 7 | お試し期間終了時の税額 |
| お試し送料 | trsf | 半角数字 | × | 1 ~ 7 | お試し期間終了時の送料 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:決済処理の種類について、詳細は以下をご参照ください。
【クレジットカード】決済タイプの定義(有効性・仮売上・実売上・仮実同時)
※2:Eメールアドレス、電話番号のどちらかが必須となります。
※3:商品金額・税額・送料を合わせた金額が決済総額となります。
※4:お試し期間が有効な場合は必須となります。
※5:お試し期間タイプ「2」の場合に必須となります。
※6:お試し期間タイプ「4」の場合に必須となります。
※7:お試し期間タイプ「3」の場合に必須となります。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | 3 | ap | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | 1 ~ 7 | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | 1 ~ 7 | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | 1 ~ 7 | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | 12 | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| 自動課金番号 | 13 ※1 | acid | 半角数字 | - | 自動課金ごとに発行される一意の番号 |
| その他データ | 14 ※1 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:「自動課金番号」の返却には事前申請が必要です。
申請がない場合は、13番目に「その他データ」が出力されます。
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 決済番号 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | ap | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | am | 半角数字 | 1 ~ 7 | リクエスト時に指定した商品金額 |
| 税額 | tx | 半角数字 | 1 ~ 7 | リクエスト時に指定した税額 |
| 送料 | sf | 半角数字 | 1 ~ 7 | リクエスト時に指定した送料 |
| 合計金額 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 課金周期 | actp | 半角数字 | - | リクエスト時に指定した課金周期 |
| 自動課金金額 | acam | 半角数字 | - | リクエスト時に指定した自動課金金額 |
| 自動課金税額 | actx | 半角数字 | - | リクエスト時に指定した自動課金税額 |
| 自動課金送料 | acsf | 半角数字 | - | リクエスト時に指定した自動課金送料 |
| 課金日指定 | ac1 | 半角数字 | - | リクエスト時に指定した課金日指定 |
| 課金停止回数指定 | ac3 | 半角数字 | - | リクエスト時に指定した課金停止回数指定 |
| 課金開始日指定 | ac4 | 半角数字記号 | 10 | リクエスト時に指定した課金開始日指定yyyy/MM/dd |
| 課金終了日指定 | ac5 | 半角数字記号 | 10 | リクエスト時に指定した課金終了日指定yyyy/MM/dd |
| お試し期間タイプ | trtp | 半角数字 | - | リクエスト時に指定したお試し期間タイプ |
| お試し日数 | tr1 | 半角数字 | - | リクエスト時に指定したお試し日数 |
| お試し月数 | tr2 | 半角数字 | - | リクエスト時に指定したお試し月数 |
| お試し期限 | tr3 | 半角数字記号 | 10 | リクエスト時に指定したお試し期限yyyy/MM/dd |
| お試し金額 | tram | 半角数字 | - | リクエスト時に指定したお試し金額 |
| お試し税額 | trtx | 半角数字 | - | リクエスト時に指定したお試し税額 |
| お試し送料 | trsf | 半角数字 | - | リクエスト時に指定したお試し送料 |
| 発行ID | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| 自動課金番号 | acid | 半角数字 | - | 自動課金ごとに発行される一意の番号 |
| その他データ | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:「自動課金番号」の返却には事前申請が必要です。
credit-card/auto/item-payment.md 決済 商品登録あり WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/gateway_token.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx?aid={発行された店舗ID}&rt=1&tkn={発行されたトークン}&iid=1' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx'
data = {
aid: {発行された店舗ID},
rt: 1,
tkn: '{発行されたトークン}',
iid: '1',
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx'
data = {
'aid': {発行された店舗ID},
'rt': 1,
'tkn': '{発行されたトークン}',
'iid': '1',
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require 'vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx';
$data = array(
'aid' => {発行された店舗ID},
'rt' => 1,
'tkn' => '{発行されたトークン}',
'iid' => '1',
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
print_r($e->getMessage());
}
?>
import java.io.OutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.URL;
import java.lang.StringBuilder;
public class Item {
public static void main(String[] args) throws IOException {
String url = "https://credit.j-payment.co.jp/gateway/gateway_token.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&rt=1");
data.append("&tkn={発行されたトークン}");
data.append("&iid=1");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
}
}
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/gateway_token.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
rt: 1,
tkn: "{発行されたトークン}",
iid: "1",
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl).then(async function(response) {
console.log(await response.text());
}).then(function(body) {
console.log(body);
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/gateway_token.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("rt", "1")
data.Set("tkn", "{発行されたトークン}")
data.Set("iid", "1")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,pw,acid,other</body>
値のみ
<body>1094098,1,TestMod,,204073,order0001,1000,100,500,1600,,,1000000244,test=afYf389Pqn-w</body>
商品コードを指定して決済を行います。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| ジョブタイプ | jb | 半角英字 | 〇 | - | 決済処理の種類CAPTURE:仮実同時売上 ※1 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 店舗オーダー番号 | cod | 半角英数 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| トークン情報 | tkn | 半角英数記号 | 〇 | - | トークン発行APIで取得したカード情報トークン |
| 電話番号 | pn | 半角数字 | ※2 | 1 ~ 15 | エンドユーザーの電話番号 |
| Eメールアドレス | em | 半角英数記号 | ※2 | 1 ~ 254 | エンドユーザーのEメールアドレス |
| 商品コード | iid | 半角英数記号 | 〇 | 50バイト以下 | サブスクペイで登録した商品コード |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:決済処理の種類について、詳細は以下をご参照ください。
【クレジットカード】決済タイプの定義(有効性・仮売上・実売上・仮実同時)
※2:Eメールアドレス、電話番号のどちらかが必須となります。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | 3 | ap | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | 1 ~ 7 | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | 1 ~ 7 | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | 1 ~ 7 | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | 12 | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| 自動課金番号 | 13 ※1 | acid | 半角数字 | - | 自動課金ごとに発行される一意の番号 |
| その他データ | 14 ※1 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:「自動課金番号」の返却には事前申請が必要です。
申請がない場合は、13番目に「その他データ」が出力されます。
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 決済番号 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | ap | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | am | 半角数字 | 1 ~ 7 | リクエスト時に指定した商品金額 |
| 税額 | tx | 半角数字 | 1 ~ 7 | リクエスト時に指定した税額 |
| 送料 | sf | 半角数字 | 1 ~ 7 | リクエスト時に指定した送料 |
| 合計金額 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 課金周期 | actp | 半角数字 | - | リクエスト時に指定した課金周期 |
| 自動課金金額 | acam | 半角数字 | - | リクエスト時に指定した自動課金金額 |
| 自動課金税額 | actx | 半角数字 | - | リクエスト時に指定した自動課金税額 |
| 自動課金送料 | acsf | 半角数字 | - | リクエスト時に指定した自動課金送料 |
| 課金日指定 | ac1 | 半角数字 | - | リクエスト時に指定した課金日指定 |
| 課金停止回数指定 | ac3 | 半角数字 | - | リクエスト時に指定した課金停止回数指定 |
| 課金開始日指定 | ac4 | 半角数字記号 | 10 | リクエスト時に指定した課金開始日指定yyyy/MM/dd |
| 課金終了日指定 | ac5 | 半角数字記号 | 10 | リクエスト時に指定した課金終了日指定yyyy/MM/dd |
| お試し期間タイプ | trtp | 半角数字 | - | リクエスト時に指定したお試し期間タイプ |
| お試し日数 | tr1 | 半角数字 | - | リクエスト時に指定したお試し日数 |
| お試し月数 | tr2 | 半角数字 | - | リクエスト時に指定したお試し月数 |
| お試し期限 | tr3 | 半角数字記号 | 10 | リクエスト時に指定したお試し期限yyyy/MM/dd |
| お試し金額 | tram | 半角数字 | - | リクエスト時に指定したお試し金額 |
| お試し税額 | trtx | 半角数字 | - | リクエスト時に指定したお試し税額 |
| お試し送料 | trsf | 半角数字 | - | リクエスト時に指定したお試し送料 |
| 発行ID | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| 自動課金番号 | acid | 半角数字 | - | 自動課金ごとに発行される一意の番号 |
| その他データ | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:「自動課金番号」の返却には事前申請が必要です。
credit-card/auto/stop-auto-payment.md 停止 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/acsgate.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/acsgate.aspx?aid={発行された店舗ID}&cmd=1&acid={発行された自動課金番号}' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/acsgate.aspx'
data = {
aid: {発行された店舗ID},
cmd: 1,
acid: '{発行された自動課金番号}',
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/acsgate.aspx'
data = {
'aid': {発行された店舗ID},
'cmd': 1,
'acid': '{発行された自動課金番号}',
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require 'vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/acsgate.aspx';
$data = array(
'aid' => {発行された店舗ID},
'cmd' => 1,
'acid' => '{発行された自動課金番号}',
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
print_r($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/acsgate.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&cmd=1");
data.append("&acid={発行された自動課金番号}");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.dev.j-payment.co.jp/gateway/acsgate.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
cmd: 1,
acid: "{発行された自動課金番号}"
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl).then(async function(response) {
console.log(await response.text());
}).then(function(body) {
console.log(body);
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/acsgate.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("cmd", "1")
data.Set("acid", "{発行された自動課金番号}")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
自動課金の停止を行います。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 停止処理タイプ | cmd | 半角数字 | 〇 | 1 | 自動課金の停止処理タイプ1 |
| 自動課金番号 | acid | 半角数字 | 〇 | - | 停止対象の自動課金番号 |
| 項目名 | 出力順 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 処理結果 | 1 | 半角英字 | 2 | 処理結果OKが固定で返却されます。 |
credit-card/auto/change-charges.md 更新 カード情報なし WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/accgate.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/accgate.aspx?aid={発行された店舗ID}&acid={発行された自動課金番号}&cmd=1&am=1000' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/accgate.aspx'
data = {
aid: {発行された店舗ID},
acid: '{発行された自動課金番号}',
cmd: 1,
am: 1000
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/accgate.aspx'
data = {
'aid': {発行された店舗ID},
'acid': '{発行された自動課金番号}',
'cmd': 1,
'am': 1000
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require 'vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/accgate.aspx';
$data = array(
'aid' => {発行された店舗ID},
'acid' => '{発行された自動課金番号}',
'cmd' => 1,
'am' => 1000
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
print_r($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/accgate.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&acid={発行された自動課金番号}");
data.append("&cmd=1");
data.append("&am=1000");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/accgate.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
acid: "{発行された自動課金番号}",
cmd: 1,
am: 1000
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl).then(async function(response) {
console.log(await response.text());
}).then(function(body) {
console.log(body);
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/accgate.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("acid", "{発行された自動課金番号}")
data.Set("cmd", "1")
data.Set("am", "1000")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
カード情報を除く、自動課金情報の変更を行います。
本APIではカード情報の更新を行わないため、リクエスト時にトークン情報の指定は不要です。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 自動課金番号 | acid | 半角数字 | 〇 | - | 変更対象の自動課金番号 |
| 変更タイプ | cmd | 半角数字 | 〇 | 1 | 自動課金の変更処理タイプ1 |
| Eメールアドレス | em | 半角英数記号 | ※1 | 1 ~ 254 | エンドユーザーのEメールアドレス |
| 電話番号 | pn | 半角数字 | ※1 | 1 ~ 15 | エンドユーザーの電話番号 |
| 商品金額 | am | 半角数字 | × | 1 ~ 7 | 商品金額 |
| 税額 | tx | 半角数字 | × | 1 ~ 7 | 税額 商品金額に税額が含まれる場合は、 0をご指定ください。 |
| 送料 | sf | 半角数字 | × | 1 ~ 7 | 送料 商品金額に送料が含まれる場合は、 0をご指定ください。 |
| 次回課金日 | nad | 半角数字 | × | - | 変更後の次回課金日yyyyMMdd |
| 自動課金周期 | actp | 半角数字 | × | 1 | 自動課金を実行する頻度2:毎週課金3:隔週課金4:毎月課金5:隔月課金6:3ヶ月課金7:6ヶ月課金8:1年課金 |
※1:Eメールアドレス、電話番号のどちらかが必須となります。
| 項目名 | 出力順 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 処理結果 | 1 | 半角英字 | 2 | 処理結果OKが固定で返却されます。 |
credit-card/auto/change-card.md 更新 カード情報あり WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/accgate_token.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/accgate_token.aspx?aid={発行された店舗ID}&acid={発行された自動課金番号}&cmd=1&tkn={発行されたトークン}' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/accgate_token.aspx'
data = {
aid: {発行された店舗ID},
acid: '{発行された自動課金番号}',
cmd: 1,
tkn: '{発行されたトークン}'
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/accgate_token.aspx'
data = {
'aid': {発行された店舗ID},
'acid': '{発行された自動課金番号}',
'cmd': 1,
'tkn': '{発行されたトークン}'
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require 'vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/accgate_token.aspx';
$data = array(
'aid' => {発行された店舗ID},
'acid' => '{発行された自動課金番号}',
'cmd' => 1,
'tkn' => '{発行されたトークン}'
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
print_r($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/accgate_token.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&acid={発行された自動課金番号}");
data.append("&cmd=1");
data.append("&tkn={発行されたトークン}");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/accgate_token.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
acid: "{発行された自動課金番号}",
cmd: 1,
tkn: "{発行されたトークン}",
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl).then(async function(response) {
console.log(await response.text());
}).then(function(body) {
console.log(body);
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/accgate_token.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("acid", "{発行された自動課金番号}")
data.Set("cmd", "1")
data.Set("tkn", "{発行されたトークン}")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
カード情報を含めた、自動課金情報の変更を行います。
本APIではカード情報の更新を行うため、リクエスト時にトークン情報の指定が必要です。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 自動課金番号 | acid | 半角数字 | 〇 | - | 変更対象の自動課金番号 |
| 変更タイプ | cmd | 半角数字 | 〇 | 1 | 自動課金の変更処理タイプ1 |
| トークン情報 | tkn | 半角英数記号 | 〇 | - | トークン発行APIで取得したカード情報トークン |
| Eメールアドレス | em | 半角英数記号 | ※1 | 1 ~ 254 | エンドユーザーのEメールアドレス |
| 電話番号 | pn | 半角数字 | ※1 | 1 ~ 15 | エンドユーザーの電話番号 |
| 商品金額 | am | 半角数字 | × | 1 ~ 7 | 商品金額 |
| 税額 | tx | 半角数字 | × | 1 ~ 7 | 税額 商品金額に税額が含まれる場合は、 0をご指定ください。 |
| 送料 | sf | 半角数字 | × | 1 ~ 7 | 送料 商品金額に送料が含まれる場合は、 0をご指定ください。 |
| 次回課金日 | nad | 半角数字 | × | - | 変更後の次回課金日yyyyMMdd |
| 自動課金周期 | actp | 半角数字 | × | 1 | 自動課金を実行する頻度2:毎週課金3:隔週課金4:毎月課金5:隔月課金6:3ヶ月課金7:6ヶ月課金8:1年課金 |
※1:Eメールアドレス、電話番号のどちらかが必須となります。
| 項目名 | 出力順 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 処理結果 | 1 | 半角英字 | 2 | 処理結果OKが固定で返却されます。 |
credit-card/check-card.md 有効性チェック WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/gateway_token.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx?aid={発行された店舗ID}&jb=CHECK&rt=1&tkn={発行されたトークン}' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx'
data = {
aid: {発行された店舗ID},
jb: 'CHECK',
rt: 1,
tkn: '{発行されたトークン}',
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx'
data = {
'aid': {発行された店舗ID},
'jb': 'CHECK',
'rt': 1,
'tkn': '{発行されたトークン}',
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx';
$data = array(
'aid' => {発行された店舗ID},
'jb' => 'CHECK',
'rt' => 1,
'tkn' => '{発行されたトークン}',
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/gateway_token.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&jb=CHECK");
data.append("&rt=1");
data.append("&tkn={発行されたトークン}");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/gateway_token.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
jb: "CHECK",
rt: 1,
tkn: "{発行されたトークン}",
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/gateway_token.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("jb", "CHECK")
data.Set("rt", "1")
data.Set("tkn", "{発行されたトークン}")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
クレジットカードの有効性を確認します。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| ジョブタイプ | jb | 半角英字 | 〇 | - | 決済処理の種類CHECK:有効性 ※1 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 店舗オーダー番号 | cod | 半角英数 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| トークン情報 | tkn | 半角英数記号 | 〇 | - | トークン発行APIで取得したカード情報トークン |
| Eメールアドレス | em | 半角英数記号 | ※2 | 1 ~ 254 | エンドユーザーのEメールアドレス |
| 電話番号 | pn | 半角数字 | ※2 | 1 ~ 15 | エンドユーザーの電話番号 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:決済処理の種類について、詳細は以下をご参照ください。
【クレジットカード】決済タイプの定義(有効性・仮売上・実売上・仮実同時)
※2:Eメールアドレス、電話番号のどちらかが必須となります。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | 3 | ap | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | 1 ~ 7 | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | 1 ~ 7 | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | 1 ~ 7 | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | 12 | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| 自動課金番号 | 13 ※1 | acid | 半角数字 | - | 自動課金ごとに発行される一意の番号 都度課金では 0が返却されます。 |
| その他データ | 14 ※1 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:「自動課金番号」の返却には事前申請が必要です。
申請がない場合は、13番目に「その他データ」が出力されます。
credit-card/payment-operation/title.md 決済操作
credit-card/payment-operation/sales.md 実売上 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/gateway.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/gateway.aspx?aid={発行された店舗ID}&jb=SALES&rt=1&tid={発行された決済番号}' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/gateway.aspx'
data = {
aid: {発行された店舗ID},
jb: 'SALES',
rt: 1,
tid: {発行された決済番号},
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/gateway.aspx'
data = {
'aid': {発行された店舗ID},
'jb': 'SALES',
'rt': 1,
'tid': {発行された決済番号},
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/gateway.aspx';
$data = array(
'aid' => {発行された店舗ID},
'jb' => 'SALES',
'rt' => 1,
'tid' => {発行された決済番号},
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/gateway.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&jb=SALES");
data.append("&rt=1");
data.append("&tid={発行された決済番号}");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/gateway.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
jb: "SALES",
rt: 1,
tid: {発行された決済番号},
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/gateway.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("jb", "SALES")
data.Set("rt", "1")
data.Set("tid", "{発行された決済番号}")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,pw,acid,other</body>
値のみ
<body>1094113,1,TestMod,,0,,0,0,0,0,,,0,submit_normal=送信</body>
仮売上状態の決済を実売上へ変更し、売上を確定させます。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| ジョブタイプ | jb | 半角英字 | 〇 | - | 決済処理の種類SALES:実売上 ※1 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法1:レスポンス |
| 対象決済番号 | tid | 半角数字 | 〇 | - | 対象の決済番号 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:決済処理の種類について、詳細は以下をご参照ください。
【クレジットカード】決済タイプの定義(有効性・仮売上・実売上・仮実同時)
| 項目名 | 出力順 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 決済番号 | 1 | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | 半角数字 | - | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | 3 | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | 4 | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | 全角・半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | 半角数字 | 1 ~ 7 | リクエスト時に指定した商品金額 |
| 税額 | 8 | 半角数字 | 1 ~ 7 | リクエスト時に指定した税額 |
| 送料 | 9 | 半角数字 | 1 ~ 7 | リクエスト時に指定した送料 |
| 合計金額 | 10 | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | 12 | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| 自動課金番号 | 13 ※1 | 半角数字 | 10 | 自動課金ごとに発行される一意の番号 都度課金では 0が返却されます。 |
| その他データ | 14 ※1 | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:「自動課金番号」の返却には事前申請が必要です。
申請がない場合は、13番目に「その他データ」が出力されます。
credit-card/payment-operation/cancel.md 取消
[GET/POST] https://credit.j-payment.co.jp/gateway/gateway.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/gateway.aspx?aid={発行された店舗ID}&jb=CANCEL&rt=1&tid={発行された決済番号}' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/gateway.aspx'
data = {
aid: {発行された店舗ID},
jb: 'CANCEL',
rt: 1,
tid: {発行された決済番号},
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/gateway.aspx'
data = {
'aid': {発行された店舗ID},
'jb': 'CANCEL',
'rt': 1,
'tid': {発行された決済番号},
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/gateway.aspx';
$data = array(
'aid' => {発行された店舗ID},
'jb' => 'CANCEL',
'rt' => 1,
'tid' => {発行された決済番号},
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/gateway.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&jb=CANCEL");
data.append("&rt=1");
data.append("&tid={発行された決済番号}");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/gateway.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
jb: "CANCEL",
rt: 1,
tid: {発行された決済番号},
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/gateway.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("jb", "CANCEL")
data.Set("rt", "1")
data.Set("tid", "{発行された決済番号}")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,pw,acid,other</body>
値のみ
<body>1094113,1,TestMod,,0,,0,0,0,0,,,0,submit_normal=送信</body>
決済の取消を行います。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| ジョブタイプ | jb | 半角英字 | 〇 | - | 決済処理の種類CANCEL:取消 ※1 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法1:レスポンス |
| 対象決済番号 | tid | 半角数字 | 〇 | - | 対象の決済番号 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:決済処理の種類について、詳細は以下をご参照ください。
【クレジットカード】決済タイプの定義(有効性・仮売上・実売上・仮実同時)
| 項目名 | 出力順 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 決済番号 | 1 | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | 半角数字 | - | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | 3 | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | 4 | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | 全角・半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | 半角数字 | 1 ~ 7 | リクエスト時に指定した商品金額 |
| 税額 | 8 | 半角数字 | 1 ~ 7 | リクエスト時に指定した税額 |
| 送料 | 9 | 半角数字 | 1 ~ 7 | リクエスト時に指定した送料 |
| 合計金額 | 10 | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | 12 | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| 自動課金番号 | 13 ※1 | 半角数字 | 10 | 自動課金ごとに発行される一意の番号 都度課金では 0が返却されます。 |
| その他データ | 14 ※1 | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:「自動課金番号」の返却には事前申請が必要です。
申請がない場合は、13番目に「その他データ」が出力されます。
credit-card/payment-operation/reauthori.md 再オーソリ WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/re_auth.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/re_auth.aspx?aid={発行された店舗ID}&rt=1&tid={発行された決済番号}&am=1000&tx=0&sf=0' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/re_auth.aspx'
data = {
aid: {発行された店舗ID},
rt: 1,
tid: {発行された決済番号},
am: 1000,
tx: 0,
sf: 0,
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/re_auth.aspx'
data = {
'aid': {発行された店舗ID},
'rt': 1,
'tid': {発行された決済番号},
'am': 1000,
'tx': 0,
'sf': 0,
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/re_auth.aspx';
$data = array(
'aid' => {発行された店舗ID},
'rt' => 1,
'tid' => {発行された決済番号},
'am' => 1000,
'tx' => 0,
'sf' => 0,
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/re_auth.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&rt=1");
data.append("&tid={発行された決済番号}");
data.append("&am=1000");
data.append("&tx=0");
data.append("&sf=0");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/re_auth.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
rt: 1,
tid: {発行された決済番号},
am: 1000,
tx: 0,
sf: 0,
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/re_auth.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("rt", "1")
data.Set("tid", "{発行された決済番号}")
data.Set("am", "1000")
data.Set("tx", "0")
data.Set("sf", "0")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,pw,other</body>
値のみ
<body>1094114,1,TestMod,,204089,order0001,1234,0,0,1234,,,submit_normal=送信</body>
処理済みの決済を取り消し、金額を変更して再決済を行います。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 対象決済番号 | tid | 半角数字 | 〇 | - | 対象の決済番号 |
| 商品金額 | am | 半角数字 | 〇 | 1 ~ 7 | 商品金額 ※2 |
| 税額 | tx | 半角数字 | 〇 | 1 ~ 7 | 税額 ※2 商品金額に税額が含まれる場合は、 0をご指定ください。 |
| 送料 | sf | 半角数字 | 〇 | 1 ~ 7 | 送料 ※2 商品金額に送料が含まれる場合は、 0をご指定ください。 |
| Eメールアドレス | em | 半角英数記号 | ※1 | 1 ~ 254 | エンドユーザーのEメールアドレス |
| 電話番号 | pn | 半角数字 | ※1 | 1 ~ 15 | エンドユーザーの電話番号 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:Eメールアドレス、電話番号のどちらかが必須となります。
※2:商品金額・税額・送料を合わせた金額が決済総額となります。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | 3 | ap | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | 1 ~ 7 | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | 1 ~ 7 | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | 1 ~ 7 | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | 12 | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| その他データ | 13 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
credit-card/one-touch/title.md ワンタッチ課金
credit-card/one-touch/without-item-payment.md 決済 商品登録なしWEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/onetouch.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/onetouch.aspx?aid={発行された店舗ID}&rt=1&cmd=1&pn=0354695780&jb=CAPTURE&am=1000&tx=0&sf=0' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/onetouch.aspx'
data = {
aid: {発行された店舗ID},
rt: 1,
cmd: 1,
pn: '0354695780',
jb: 'CAPTURE',
am: 1000,
tx: 0,
sf: 0
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/onetouch.aspx'
data = {
'aid': {発行された店舗ID},
'rt': 1,
'cmd': 1,
'pn': '0354695780',
'jb': 'CAPTURE',
'am': 1000,
'tx': 0,
'sf': 0
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/onetouch.aspx';
$data = array(
'aid' => {発行された店舗ID},
'rt' => 1,
'cmd' => 1,
'pn' => '0354695780',
'jb' => 'CAPTURE',
'am' => 1000,
'tx' => 0,
'sf' => 0
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/onetouch.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&rt=1");
data.append("&cmd=1");
data.append("&pn=0354695780");
data.append("&jb=CAPTURE");
data.append("&am=1000");
data.append("&tx=0");
data.append("&sf=0");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/onetouch.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
rt: 1,
cmd: 1,
pn: "0354695780",
jb: "CAPTURE",
am: 1000,
tx: 0,
sf: 0
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/onetouch.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("rt", "1")
data.Set("cmd", "1")
data.Set("pn", "0354695780")
data.Set("jb", "CAPTURE")
data.Set("am", "1000")
data.Set("tx", "0")
data.Set("sf", "0")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,pw,other</body>
値のみ
<body>1094100,1,TestMod,,204075,order0001,1234,0,0,1234,,,submit_normal=送信&tkn=&test=afYf389Pqn-w</body>
商品金額・税額・送料を指定し、ワンタッチ課金による決済を実行します。
ワンタッチ課金については以下のリンクよりご参照ください。
【クレジットカード決済】ワンタッチ課金
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 過去決済データ検索モード | cmd | 半角数字 | 〇 | - | 過去の決済履歴を特定するための検索条件0:店舗ID+店舗オーダー番号+電話番号1:店舗ID+電話番号2:店舗ID+店舗オーダー番号3:店舗ID+発行ID+発行PW |
| 電話番号 | pn | 半角数字 | ※1 ※4 |
1 ~ 15 | エンドユーザーの電話番号 |
| Eメールアドレス | em | 半角英数記号 | ※1 | 1 ~ 254 | エンドユーザーのEメールアドレス |
| ジョブタイプ | jb | 半角英字 | 〇 | - | 決済処理の種類 ※2AUTH:仮売上CAPTURE:仮実同時売上 |
| 商品金額 | am | 半角数字 | 〇 | 1 ~ 7 | 商品金額 ※3 |
| 税額 | tx | 半角数字 | 〇 | 1 ~ 7 | 税額 ※3 商品金額に税額が含まれる場合は、 0をご指定ください。 |
| 送料 | sf | 半角数字 | 〇 | 1 ~ 7 | 送料 ※3 商品金額に送料が含まれる場合は、 0をご指定ください。 |
| 店舗オーダー番号 | cod | 半角英数 | ※5 | 50バイト以下 | 任意で設定できる管理用の値 |
| 発行ID | id | 半角英数 | ※6 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | ps | 半角英数 | ※6 | 50バイト以下 | サブスクペイより発行されたパスワード |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:Eメールアドレス、電話番号のどちらかが必須となります。
※2:決済処理の種類について、詳細は以下をご参照ください。
【クレジットカード】決済タイプの定義(有効性・仮売上・実売上・仮実同時)
※3:商品金額・税額・送料を合わせた金額が決済総額となります。
※4:検索モード「0」「1」の場合に必須となります。
※5:検索モード「0」「2」の場合に必須となります。
※6:検索モード「3」の場合に必須となります。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | 3 | ap | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | 1 ~ 7 | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | 1 ~ 7 | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | 1 ~ 7 | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | 12 | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| その他データ | 13 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
credit-card/one-touch/item-payment.md 決済 商品登録ありWEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/onetouch.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/onetouch.aspx?aid={発行された店舗ID}&rt=1&cmd=1&pn=0354695780&iid=1' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/onetouch.aspx'
data = {
aid: {発行された店舗ID},
rt: 1,
cmd: 1,
pn: '0354695780',
iid: '1',
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/onetouch.aspx'
data = {
'aid': {発行された店舗ID},
'rt': 1,
'cmd': 1,
'pn': '0354695780',
'iid': '1',
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/onetouch.aspx';
$data = array(
'aid' => {発行された店舗ID},
'rt' => 1,
'cmd' => 1,
'pn' => '0354695780',
'iid' => '1',
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/onetouch.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&rt=1");
data.append("&cmd=1");
data.append("&pn=0354695780");
data.append("&iid=1");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/onetouch.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
rt: 1,
cmd: 1,
pn: "0354695780",
iid: "1",
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/onetouch.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("rt", "1")
data.Set("cmd", "1")
data.Set("pn", "0354695780")
data.Set("iid", "1")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,pw,other</body>
値のみ
<body>1094102,1,TestMod,,204077,order0001,1000,100,500,1600,,,submit_normal=送信&tkn=&test=afYf389Pqn-w</body>
商品コードを指定し、ワンタッチ課金による決済を実行します。
ワンタッチ課金については以下のリンクよりご参照ください。
【クレジットカード決済】ワンタッチ課金
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 過去決済データ検索モード | cmd | 半角数字 | 〇 | 1 | 過去の決済履歴を特定するための検索条件0:店舗ID+店舗オーダー番号+電話番号1:店舗ID+電話番号2:店舗ID+店舗オーダー番号3:店舗ID+発行ID+発行パスワード |
| 電話番号 | pn | 半角数字 | ※1 | 1 ~ 15 | エンドユーザーの電話番号 |
| Eメールアドレス | em | 半角英数記号 | × | 1 ~ 254 | エンドユーザーのEメールアドレス |
| 店舗オーダー番号 | cod | 半角英数 | ※2 | 50バイト以下 | 任意で設定できる管理用の値 |
| 商品コード | iid | 半角英数記号 | 〇 | 50バイト以下 | サブスクペイで登録した商品コード |
| 発行ID | id | 半角英数 | ※3 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | ps | 半角英数 | ※3 | 50バイト以下 | サブスクペイより発行されたパスワード |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:検索モード「0」「1」の場合に必須となります。
※2:検索モード「0」「2」の場合に必須となります。
※3:検索モード「3」の場合に必須となります。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | 3 | ap | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | 1 ~ 7 | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | 1 ~ 7 | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | 1 ~ 7 | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | 12 | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| その他データ | 13 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
credit-card/multi-one-touch/title.md 複数カード情報登録ワンタッチ課金
複数カード情報登録ワンタッチ課金について、詳細は以下をご参照ください。
【クレジットカード決済】複数カード情報登録ワンタッチ課金
credit-card/multi-one-touch/without-item-payment.md 決済 商品登録なし WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/onetouch.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/onetouch.aspx?aid={発行された店舗ID}&rt=1&cmd=4&uid=user_3&key={発行されたキー}&num=1&jb=CAPTURE&am=1000&tx=0&sf=0' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/onetouch.aspx'
data = {
aid: {発行された店舗ID},
rt: 1,
cmd: 4,
uid: 'user_3',
key: '{発行されたキー}',
num: 1,
jb: 'CAPTURE',
am: 1000,
tx: 0,
sf: 0
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/onetouch.aspx'
data = {
'aid': {発行された店舗ID},
'rt': 1,
'cmd': 4,
'uid': 'user_3',
'key': '{発行されたキー}',
'num': 1,
'jb': 'CAPTURE',
'am': 1000,
'tx': 0,
'sf': 0
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../../../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/onetouch.aspx';
$data = array(
'aid' => {発行された店舗ID},
'rt' => 1,
'cmd' => 4,
'uid' => 'user_3',
'key' => '{発行されたキー}',
'num' => 1,
'jb' => 'CAPTURE',
'am' => 1000,
'tx' => 0,
'sf' => 0
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/onetouch.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&rt=1");
data.append("&cmd=4");
data.append("&uid=user_3");
data.append("&key={発行されたキー}");
data.append("&num=1");
data.append("&jb=CAPTURE");
data.append("&am=1000");
data.append("&tx=0");
data.append("&sf=0");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/onetouch.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
rt: 1,
cmd: 4,
uid: "user_3",
key: "{発行されたキー}",
num: 1,
jb: "CAPTURE",
am: 1000,
tx: 0,
sf: 0
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/onetouch.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("rt", "1")
data.Set("cmd", "4")
data.Set("uid", "user_3")
data.Set("key", "{発行されたキー}")
data.Set("num", "1")
data.Set("jb", "CAPTURE")
data.Set("am", "1000")
data.Set("tx", "0")
data.Set("sf", "0")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,pw,other</body>
値のみ
<body>1094106,1,TestMod,,204081,order0001,2000,500,0,2500,,,submit_normal=送信&tkn=&test=afYf389Pqn-w</body>
商品金額・税額・送料を指定し、複数カード情報登録ワンタッチ課金による決済を実行します。
ユーザー登録時に発行されたユーザーIDと、カード登録時の連番を指定して決済を行います。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 処理タイプ | cmd | 半角数字 | 〇 | 1 | 処理タイプ4 |
| 店舗オーダー番号 | cod | 半角英数 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| ユーザーID | uid | 半角英数 | 〇 | 50バイト以下 | 加盟店側で定義する一意のユーザー識別子 |
| キー | key | 半角英数 | 〇 | 10 | サブスクペイより発行されたユーザーIDに紐づくキー |
| カード登録連番 | num | 半角数字 | 〇 | - | 同一ユーザー内でのカード登録順を示す管理番号 例:1 |
| ジョブタイプ | jb | 半角英字 | 〇 | - | 決済処理の種類 ※1AUTH:仮売上CAPTURE:仮実同時売上 |
| 商品金額 | am | 半角数字 | 〇 | - | 商品金額 ※2 |
| 税額 | tx | 半角数字 | 〇 | - | 税額 ※2 商品金額に税額が含まれる場合は、 0をご指定ください。 |
| 送料 | sf | 半角数字 | 〇 | - | 送料 ※2 商品金額に送料が含まれる場合は、 0をご指定ください。 |
| Eメールアドレス | em | 半角英数記号 | × | 254バイト以下 | エンドユーザーのEメールアドレス ※3 |
| 電話番号 | pn | 半角数字 | × | 15バイト以下 | エンドユーザーの電話番号 ※3 |
| 支払方法 | md | 半角数字 | × | 2 | 支払方法 ※4 省略時は一括払いが適用されます。 10:一括払い61:分割払い80:リボ払い |
| 分割回数 | pt | 半角数字 | ※5 | - | 分割回数3、5、6、10、12、15、18、20、24から選択してください。 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:決済処理の種類について、詳細は以下をご参照ください。
【クレジットカード】決済タイプの定義(有効性・仮売上・実売上・仮実同時)
※2:商品金額・税額・送料を合わせた金額が決済総額となります。
※3:指定した場合、登録済みのユーザー情報が更新されます。
※4:「分割払い」および「リボ払い」を指定するには事前申請が必要です。
※5:支払方法で 61:分割払いを指定した場合は必須となります。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | 3 | ap | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード ※1 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | - | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | - | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | - | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID ※2 |
| 発行パスワード | 12 | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード ※2 |
| その他データ | 13 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:G系エラーコードのみ対象です。
※2:本項目は、コンテンツ(ID/PW)の商品登録をした商品で「商品登録あり決済」を行った場合のみ返却され、uidやkeyとは無関係です。
credit-card/multi-one-touch/item-payment.md 決済 商品登録あり WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/onetouch.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/onetouch.aspx?aid={発行された店舗ID}&rt=1&cmd=4&uid=user_3&key={発行されたキー}&num=1&iid=1' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/onetouch.aspx'
data = {
aid: {発行された店舗ID},
rt: 1,
cmd: 4,
uid: 'user_3',
key: '{発行されたキー}',
num: 1,
iid: '1'
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/onetouch.aspx'
data = {
'aid': {発行された店舗ID},
'rt': 1,
'cmd': 4,
'uid': 'user_3',
'key': '{発行されたキー}',
'num': 1,
'iid': '1',
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../../../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/onetouch.aspx';
$data = array(
'aid' => {発行された店舗ID},
'rt' => 1,
'cmd' => 4,
'uid' => 'user_3',
'key' => '{発行されたキー}',
'num' => 1,
'iid' => '1',
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/onetouch.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&rt=1");
data.append("&cmd=4");
data.append("&uid=user_3");
data.append("&key={発行されたキー}");
data.append("&num=1");
data.append("&iid=1");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/onetouch.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
rt: 1,
cmd: 4,
uid: "user_3",
key: "{発行されたキー}",
num: 1,
iid: "1",
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/onetouch.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("rt", "1")
data.Set("cmd", "4")
data.Set("uid", "user_3")
data.Set("key", "{発行されたキー}")
data.Set("num", "1")
data.Set("iid", "1")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,pw,other</body>
値のみ
<body>1094110,1,TestMod,,204085,order0001,1000,100,500,1600,,,submit_normal=送信&tkn=&test=afYf389Pqn-w</body>
商品コードを指定し、複数カード情報登録ワンタッチ課金による決済を実行します。
ユーザー登録時に発行されたユーザーIDと、カード登録時の連番を指定して決済を行います。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 処理タイプ | cmd | 半角数字 | 〇 | 1 | 処理タイプ4 |
| 店舗オーダー番号 | cod | 半角英数 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| ユーザーID | uid | 半角英数 | 〇 | 50バイト以下 | 加盟店側で定義する一意のユーザー識別子 |
| キー | key | 半角英数 | 〇 | 10 | サブスクペイより発行されたユーザーIDに紐づくキー |
| カード登録連番 | num | 半角数字 | 〇 | - | 同一ユーザー内でのカード登録順を示す管理番号 例:1 |
| 商品コード | iid | 半角英数 | 〇 | 50バイト以下 | 管理画面で登録いただいた商品コードをご指定ください。 |
| Eメールアドレス | em | 半角英数記号 | × | 254バイト以下 | エンドユーザーのEメールアドレス ※1 |
| 電話番号 | pn | 半角数字 | × | 15バイト以下 | エンドユーザーの電話番号 ※1 |
| 支払方法 | md | 半角数字 | × | 2 | 支払方法 ※2 省略時は一括払いが適用されます。 10:一括払い61:分割払い80:リボ払い |
| 分割回数 | pt | 半角数字 | ※3 | - | 分割回数3、5、6、10、12、15、18、20、24から選択してください。 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:指定した場合、登録済みのユーザー情報が更新されます。
※2:「分割払い」および「リボ払い」を指定するには事前申請が必要です。
※3:支払方法で 61:分割払いを指定した場合は必須となります。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | 3 | ap | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード ※1 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | - | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | - | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | - | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID ※2 |
| 発行パスワード | 12 | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード ※2 |
| その他データ | 13 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:G系エラーコードのみ対象です。
※2:本項目は、コンテンツ(ID/PW)の商品登録をした商品で「商品登録あり決済」を行った場合のみ返却され、uidやkeyとは無関係です。
credit-card/multi-one-touch/without-item-payment-card.md 決済 カード登録+商品登録なし WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/gateway_token.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx?aid={発行された店舗ID}&rt=1&jb=CAPTURE&uid=user_4&tkn={発行されたトークン}&am=1000&tx=0&sf=0' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx'
data = {
aid: {発行された店舗ID},
rt: 1,
jb: 'CAPTURE',
uid: 'user_31',
tkn: '{発行されたトークン}',
am: 1000,
tx: 0,
sf: 0
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx'
data = {
'aid': {発行された店舗ID},
'rt': 1,
'jb': 'CAPTURE',
'uid': 'user_22',
'tkn': '{発行されたトークン}',
'am': 1000,
'tx': 0,
'sf': 0
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../../../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx';
$data = array(
'aid' => {発行された店舗ID},
'rt' => 1,
'jb' => 'CAPTURE',
'uid' => 'user_18',
'tkn' => '{発行されたトークン}',
'am' => 1000,
'tx' => 0,
'sf' => 0
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/gateway_token.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&rt=1");
data.append("&jb=CAPTURE");
data.append("&uid=user_10");
data.append("&tkn={発行されたトークン}");
data.append("&am=1000");
data.append("&tx=0");
data.append("&sf=0");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/gateway_token.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
rt: 1,
jb: "CAPTURE",
uid: "user_14",
tkn: "{発行されたトークン}",
am: 1000,
tx: 0,
sf: 0,
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/gateway_token.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("rt", "1")
data.Set("jb", "CAPTURE")
data.Set("uid", "user_6")
data.Set("tkn", "{発行されたトークン}")
data.Set("am", "1000")
data.Set("tx", "0")
data.Set("sf", "0")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,pw,acid,uid,key,num,other</body>
値のみ
<body>1094108,1,TestMod,,204083,order0001,1099,0,0,1099,,,0,member2,GUTnDAnyaV,1,test=afYf389Pqn-w</body>
商品金額・税額・送料を指定し、複数カード情報登録ワンタッチ課金による決済を実行します。
決済と同時にユーザーおよびカード情報の登録を一括で行うことが可能です。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| ジョブタイプ | jb | 半角英字 | 〇 | - | 決済処理の種類AUTH:仮売上CAPTURE:仮実同時売上 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 店舗オーダー番号 | cod | 半角英数 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| ユーザーID | uid | 半角英数 | 〇 | 50バイト以下 | 加盟店側で定義する一意のユーザー識別子 |
| トークン情報 | tkn | 半角英数記号 | 〇 | - | トークン発行APIで取得したカード情報トークン |
| Eメールアドレス | em | 半角英数記号 | ※1 | 254バイト以下 | エンドユーザーのEメールアドレス |
| 電話番号 | pn | 半角数字 | ※1 | 15バイト以下 | エンドユーザーの電話番号 |
| 商品金額 | am | 半角数字 | 〇 | - | 商品金額 ※2 |
| 税額 | tx | 半角数字 | 〇 | - | 税額 ※2 商品金額に税額が含まれる場合は、 0をご指定ください。 |
| 送料 | sf | 半角数字 | 〇 | - | 送料 ※2 商品金額に送料が含まれる場合は、 0をご指定ください。 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:Eメールアドレス、電話番号のどちらかが必須となります。
※2:商品金額・税額・送料を合わせた金額が決済総額となります。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | 3 | ap | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | - | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | - | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | - | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID ※1 |
| 発行パスワード | 12 | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード ※1 |
| ユーザーID | 13 | uid | 半角英数 | 50バイト以下 | リクエスト時に指定したユーザーID |
| キー | 14 | key | 半角英数 | 10 | リクエスト時に指定したユーザーIDに紐づくキー |
| カード登録連番 | 15 | num | 半角数字 | - | 同一ユーザー内でのカード登録順を示す管理番号 例:1 |
| その他データ | 16 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:本項目は、コンテンツ(ID/PW)の商品登録をした商品で「商品登録あり決済」を行った場合のみ返却され、uidやkeyとは無関係です。
credit-card/multi-one-touch/item-payment-card.md 決済 カード登録+商品登録あり WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/gateway_token.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx?aid={発行された店舗ID}&rt=1&uid=user_5&tkn={発行されたトークン}&iid=1' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx'
data = {
aid: {発行された店舗ID},
rt: 1,
uid: 'user_32',
tkn: '{発行されたトークン}',
iid: '1',
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx'
data = {
'aid': {発行された店舗ID},
'rt': 1,
'uid': 'user_23',
'tkn': '{発行されたトークン}',
'iid': '1',
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../../../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/gateway_token.aspx';
$data = array(
'aid' => {発行された店舗ID},
'rt' => 1,
'uid' => 'user_19',
'tkn' => '{発行されたトークン}',
'iid' => '1',
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/gateway_token.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&rt=1");
data.append("&uid=user_11");
data.append("&tkn={発行されたトークン}");
data.append("&iid=1");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/gateway_token.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
rt: 1,
uid: "user_15",
tkn: "{発行されたトークン}",
iid: "1",
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/gateway_token.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("rt", "1")
data.Set("uid", "user_7")
data.Set("tkn", "{発行されたトークン}")
data.Set("iid", "1")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,pw,acid,uid,key,num,other</body>
値のみ
<body>1094112,1,TestMod,,204087,order0001,1000,100,500,1600,,,0,member4,eZfJ1nm5Gc,1,test=afYf389Pqn-w</body>
商品コードを指定し、複数カード情報登録ワンタッチ課金による決済を実行します。
決済と同時にユーザーおよびカード情報の登録を一括で行うことが可能です。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 店舗オーダー番号 | cod | 半角英数 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| ユーザーID | uid | 半角英数 | 〇 | 50バイト以下 | 加盟店側で定義する一意のユーザー識別子 |
| トークン情報 | tkn | 半角英数記号 | 〇 | - | トークン発行APIで取得したカード情報トークン |
| Eメールアドレス | em | 半角英数記号 | ※1 | 254バイト以下 | エンドユーザーのEメールアドレス |
| 電話番号 | pn | 半角数字 | ※1 | 15バイト以下 | エンドユーザーの電話番号 |
| 商品コード | iid | 半角英数記号 | 〇 | 50バイト以下 | サブスクペイで登録した商品コード |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:Eメールアドレス、電話番号のどちらかが必須となります。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| カード会社承認番号 | 3 | ap | 半角英数 | 6 ~ 7 | カード会社が決済承認時に発行した番号 |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | - | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | - | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | - | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID ※1 |
| 発行パスワード | 12 | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード ※1 |
| ユーザーID | 13 | uid | 半角英数 | 50バイト以下 | リクエスト時に指定したユーザーID |
| キー | 14 | key | 半角英数 | 10 | リクエスト時に指定したユーザーIDに紐づくキー |
| カード登録連番 | 15 | num | 半角数字 | - | 同一ユーザー内でのカード登録順を示す管理番号 例:1 |
| その他データ | 16 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:本項目は、コンテンツ(ID/PW)の商品登録をした商品で「商品登録あり決済」を行った場合のみ返却され、uidやkeyとは無関係です。
credit-card/multi-one-touch/register-user.md ユーザー登録 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/carduser.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/carduser.aspx?aid={発行された店舗ID}&cmd=0&uid=user_3' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx'
data = {
aid: {発行された店舗ID},
cmd: 0,
uid: 'user_33',
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx'
data = {
'aid': {発行された店舗ID},
'cmd': 0,
'uid': 'user_25',
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx';
$data = array(
'aid' => {発行された店舗ID},
'cmd' => 0,
'uid' => 'user_21',
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/carduser.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&cmd=0");
data.append("&uid=user_13");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/carduser.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
cmd: 0,
uid: "user_17",
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/carduser.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("cmd", "0")
data.Set("uid", "user_9")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
サンプル言語: [ HTML ]
パラメータ返信形式例
<body>1,,012345,vnjpBycDO5</body>
新規ユーザー登録を行います。
ユーザーIDをキーとして、以降のカード登録・取得・更新・削除が可能です。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 変更タイプ | cmd | 半角数字 | 〇 | 1 | 変更タイプ0:ユーザー登録 |
| ユーザーID | uid | 半角英数 | 〇 | 50バイト以下 | 加盟店側で定義する一意のユーザー識別子 |
| Eメールアドレス | em | 半角英数記号 | ※1 | 254バイト以下 | エンドユーザーのEメールアドレス |
| 電話番号 | pn | 半角数字 | ※1 | 15バイト以下 | エンドユーザーの電話番号 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:Eメールアドレス、電話番号のどちらかが必須となります。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 登録結果 | 1 | rst | 半角数字 | 1 | ユーザー登録の結果1:成功2:失敗 |
| エラーコード | 2 | ec | 半角英数 | - | 登録失敗時のエラーコード rstが 2の場合に、本項目が返却されます。詳細はエラーコード一覧をご覧ください。 |
| ユーザーID | 3 | uid | 半角英数 | 50バイト以下 | リクエスト時に指定したユーザーID |
| キー | 4 | key | 半角英数 | 10 | サブスクペイより発行されたユーザーIDに紐づくキー |
| その他データ | 5 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
credit-card/multi-one-touch/reference-user.md ユーザー取得 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/carduser.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/carduser.aspx?aid={発行された店舗ID}&cmd=3&uid=user_1' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx'
data = {
aid: {発行された店舗ID},
cmd: 3,
uid: 'user_31',
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx'
data = {
'aid': {発行された店舗ID},
'cmd': 3,
'uid': 'user_24',
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx';
$data = array(
'aid' => {発行された店舗ID},
'cmd' => 3,
'uid' => 'user_20',
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/carduser.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&cmd=3");
data.append("&uid=user_12");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/carduser.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
cmd: 3,
uid: "user_16",
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/carduser.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("cmd", "3")
data.Set("uid", "user_9")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
ユーザーの情報を取得します。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 変更タイプ | cmd | 半角数字 | 〇 | 1 | 変更タイプ3:ユーザー取得 |
| ユーザーID | uid | 半角英数 | 〇 | 50バイト以下 | 加盟店側で定義する一意のユーザー識別子 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 取得結果 | 1 | rst | 半角数字 | 1 | ユーザー取得の結果1:成功2:失敗 |
| エラーコード | 2 | ec | 半角英数 | - | 取得失敗時のエラーコード rstが 2の場合に、本項目が返却されます。詳細はエラーコード一覧をご覧ください。 |
| ユーザーID | 3 | uid | 半角英数 | 50バイト以下 | リクエスト時に指定したユーザーID |
| キー | 4 | key | 半角英数 | 10 | リクエスト時に指定したユーザーIDに紐づくキー |
| Eメールアドレス | 5 | em | 半角英数記号 | 254バイト以下 | エンドユーザーのEメールアドレス |
| 電話番号 | 6 | pn | 半角数字 | 15バイト以下 | エンドユーザーの電話番号 |
| その他データ | 7 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
credit-card/multi-one-touch/update-user.md ユーザー更新 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/carduser.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/carduser.aspx?aid={発行された店舗ID}&cmd=1&uid=user_3&key={発行されたキー}&pn=0354695780' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx'
data = {
aid: {発行された店舗ID},
cmd: 1,
uid: 'user_33',
key: '{発行されたキー}',
pn: '0354695780',
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx'
data = {
'aid': {発行された店舗ID},
'cmd': 1,
'uid': 'user_24',
'key': '{発行されたキー}',
'pn': '0354695780',
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx';
$data = array(
'aid' => {発行された店舗ID},
'cmd' => 1,
'uid' => 'user_20',
'key' => '{発行されたキー}',
'pn' => '0354695780',
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/carduser.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&cmd=1");
data.append("&uid=user_12");
data.append("&key={発行されたキー}");
data.append("&pn=0354695780");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/carduser.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
cmd: 1,
uid: "user_16",
key: "{発行されたキー}",
pn: "0354695780",
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/carduser.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("cmd", "1")
data.Set("uid", "user_8")
data.Set("key", "{発行されたキー}")
data.Set("pn", "0354695780")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
ユーザーの情報を更新します。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 変更タイプ | cmd | 半角数字 | 〇 | 1 | 変更タイプ1:ユーザー更新 |
| ユーザーID | uid | 半角英数 | 〇 | 50バイト以下 | 加盟店側で定義する一意のユーザー識別子 |
| キー | key | 半角英数 | 〇 | 10 | サブスクペイより発行されたユーザーIDに紐づくキー |
| Eメールアドレス | em | 半角英数記号 | ※1 | 254バイト以下 | エンドユーザーのEメールアドレス |
| 電話番号 | pn | 半角数字 | ※1 | 15バイト以下 | エンドユーザーの電話番号 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:Eメールアドレス、電話番号のどちらかが必須となります。
既に登録済みの場合は、本項目の指定は任意です。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 更新結果 | 1 | rst | 半角数字 | 1 | ユーザー更新の結果1:成功2:失敗 |
| エラーコード | 2 | ec | 半角英数 | - | 更新失敗時のエラーコード rstが 2の場合に、本項目が返却されます。詳細はエラーコード一覧をご覧ください。 |
| ユーザーID | 3 | uid | 半角英数 | 50バイト以下 | リクエスト時に指定したユーザーID |
| キー | 4 | key | 半角英数 | 10 | リクエスト時に指定したユーザーIDに紐づくキー |
| その他データ | 5 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
credit-card/multi-one-touch/delete-user.md ユーザー削除 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/carduser.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/carduser.aspx?aid={発行された店舗ID}&cmd=2&uid=user_1&key={発行されたキー}' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx'
data = {
aid: {発行された店舗ID},
cmd: 2,
uid: 'user_33',
key: '{発行されたキー}',
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx'
data = {
'aid': {発行された店舗ID},
'cmd': 2,
'uid': 'user_24',
'key': '{発行されたキー}',
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx';
$data = array(
'aid' => {発行された店舗ID},
'cmd' => 2,
'uid' => 'user_20',
'key' => '{発行されたキー}',
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/carduser.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&cmd=2");
data.append("&uid=user_12");
data.append("&key={発行されたキー}");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/carduser.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
cmd: 2,
uid: "user_16",
key: "{発行されたキー}",
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/carduser.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("cmd", "2")
data.Set("uid", "user_8")
data.Set("key", "{発行されたキー}")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
ユーザーの情報を削除します。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 変更タイプ | cmd | 半角数字 | 〇 | 1 | 変更タイプ2:ユーザー削除 |
| ユーザーID | uid | 半角英数 | 〇 | 50バイト以下 | 加盟店側で定義した一意のユーザー識別子 |
| キー | key | 半角英数 | 〇 | 10 | サブスクペイより発行されたユーザーIDに紐づくキー |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 削除結果 | 1 | rst | 半角数字 | - | ユーザー削除の結果1:成功2:失敗 |
| エラーコード | 2 | ec | 半角英数 | - | 削除失敗時のエラーコード rstが 2の場合に、本項目が返却されます。詳細はエラーコード一覧をご覧ください。 |
| ユーザーID | 3 | uid | 半角英数 | 50バイト以下 | リクエスト時に指定したユーザーID |
| キー | 4 | key | 半角英数 | 10 | リクエスト時に指定したユーザーIDに紐づくキー |
| その他データ | 5 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
credit-card/multi-one-touch/register-card.md カード登録 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/carduser_token.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/carduser_token.aspx?aid={発行された店舗ID}&cmd=4&uid=user_3&key={発行されたキー}&tkn={発行されたトークン}' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/carduser_token.aspx'
data = {
aid: {発行された店舗ID},
cmd: 4,
uid: 'user_31',
key: '{発行されたキー}',
tkn: '{発行されたトークン}',
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/carduser_token.aspx'
data = {
'aid': {発行された店舗ID},
'cmd': 4,
'uid': 'user_25',
'key': '{発行されたキー}',
'tkn': '{発行されたトークン}',
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/carduser_token.aspx';
$data = array(
'aid' => {発行された店舗ID},
'cmd' => 4,
'uid' => 'user_21',
'key' => '{発行されたキー}',
'tkn' => '{発行されたトークン}',
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/carduser_token.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&cmd=4");
data.append("&uid=user_13");
data.append("&key={発行されたキー}");
data.append("&tkn={発行されたトークン}");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/carduser_token.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
cmd: 4,
uid: "user_17",
key: "{発行されたキー}",
tkn: "{発行されたトークン}",
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/carduser_token.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("cmd", "4")
data.Set("uid", "user_9")
data.Set("key", "{発行されたキー}")
data.Set("tkn", "{発行されたトークン}")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
サンプル言語: [ HTML ]
パラメータ返信形式例
<body>1,,012345,vnjpBycDO5,1</body>
指定したユーザーIDに対して、カード情報を登録します。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 変更タイプ | cmd | 半角数字 | 〇 | 1 | 変更タイプ4:カード情報登録 |
| ユーザーID | uid | 半角英数 | 〇 | 50バイト以下 | 加盟店側で定義する一意のユーザー識別子 ※1 |
| キー | key | 半角英数 | 〇 | 10 | サブスクペイより発行されたユーザーIDに紐づくキー |
| トークン情報 | tkn | 半角英数記号 | 〇 | - | トークン発行APIで取得したカード情報トークン |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:uidに紐付いたEメールアドレスまたは電話番号を参照し、カード登録を実行します。
いずれの情報も未登録の場合はエラーが返却されます。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 登録結果 | 1 | rst | 半角数字 | - | カード登録の結果1:成功2:失敗 |
| エラーコード | 2 | ec | 半角英数 | - | 登録失敗時のエラーコード rstが 2の場合に、本項目が返却されます。詳細はエラーコード一覧をご覧ください。 |
| ユーザーID | 3 | uid | 半角英数 | 50バイト以下 | リクエスト時に指定したユーザーID |
| キー | 4 | key | 半角英数 | 10 | リクエスト時に指定したユーザーIDに紐づくキー |
| カード登録連番 | 5 | num | 半角数字 | - | 同一ユーザー内でのカード登録順を示す管理番号 例:1 |
| その他データ | 6 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
credit-card/multi-one-touch/reference-card.md カード取得 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/carduser.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/carduser.aspx?aid={発行された店舗ID}&cmd=6&uid=user_3&key={発行されたキー}&num=1' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx'
data = {
aid: {発行された店舗ID},
cmd: 6,
uid: 'user_31',
key: '{発行されたキー}',
num: 1,
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx'
data = {
'aid': {発行された店舗ID},
'cmd': 6,
'uid': 'user_25',
'key': '{発行されたキー}',
'num': 1,
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx';
$data = array(
'aid' => {発行された店舗ID},
'cmd' => 6,
'uid' => 'user_21',
'key' => '{発行されたキー}',
'num' => 1,
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/carduser.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&cmd=6");
data.append("&uid=user_13");
data.append("&key={発行されたキー}");
data.append("&num=1");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/carduser.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
cmd: 6,
uid: "user_17",
key: "{発行されたキー}",
num: 1,
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/carduser.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("cmd", "6")
data.Set("uid", "user_9")
data.Set("key", "{発行されたキー}")
data.Set("num", "1")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
カード情報を取得します。
一人のユーザーが複数のカードを登録している場合、登録済みリストの中から決済に利用するカードを選択することが可能です。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 変更タイプ | cmd | 半角数字 | 〇 | 1 | 変更タイプ6:カード情報参照 |
| ユーザーID | uid | 半角英数 | 〇 | 50バイト以下 | カード情報を参照するユーザーID |
| キー | key | 半角英数 | 〇 | 10 | サブスクペイより発行されたユーザーIDに紐づくキー |
| カード登録連番 | num | 半角数字 | 〇 | - | 同一ユーザー内でのカード登録順を示す管理番号 例:1 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 取得結果 | 1 | rst | 半角数字 | - | カード取得の結果1:成功2:失敗 |
| エラーコード | 2 | ec | 半角英数 | - | 取得失敗時のエラーコード rstが 2の場合に、本項目が返却されます。詳細はエラーコード一覧をご覧ください。 |
| ユーザーID | 3 | uid | 半角英数 | 50バイト以下 | リクエスト時に指定したユーザーID |
| キー | 4 | key | 半角英数 | 10 | リクエスト時に指定したユーザーIDに紐づくキー |
| カード登録連番 | 5 | num | 半角数字 | - | リクエスト時に指定した同一ユーザー内でのカード登録順を示す管理番号 例:1 |
| カード番号 | 6 | cn | 半角数字記号 | 16バイト以下 | 登録しているカード番号 下4桁を除き、マスク( *)された状態で返却されます。 |
| カード有効期限 | 7 | ed | 半角数字 | 4 | 登録しているカードの有効期限YYMM |
| カード名義(名) | 8 | fn | 半角英数 | - | 登録しているカードの名義(名) |
| カード名義(姓) | 9 | ln | 半角英数 | - | 登録しているカードの名義(姓) |
| その他データ | 10 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
credit-card/multi-one-touch/update-card.md カード更新 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/carduser_token.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/carduser_token.aspx?aid={発行された店舗ID}&cmd=4&uid=user_3&key={発行されたキー}&num=1&tkn={発行されたトークン}' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/carduser_token.aspx'
data = {
aid: {発行された店舗ID},
cmd: 4,
uid: 'user_31',
key: '{発行されたキー}',
num: 1,
tkn: '{発行されたトークン}',
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/carduser_token.aspx'
data = {
'aid': {発行された店舗ID},
'cmd': 4,
'uid': 'user_25',
'key': '{発行されたキー}',
'num': 1,
'tkn': '{発行されたトークン}',
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/carduser_token.aspx';
$data = array(
'aid' => {発行された店舗ID},
'cmd' => 4,
'uid' => 'user_21',
'key' => '{発行されたキー}',
'num' => 1,
'tkn' => '{発行されたトークン}',
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/carduser_token.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&cmd=4");
data.append("&uid=user_13");
data.append("&key={発行されたキー}");
data.append("&num=1");
data.append("&tkn={発行されたトークン}");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/carduser_token.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
cmd: 4,
uid: "user_17",
key: "{発行されたキー}",
num: 1,
tkn: "{発行されたトークン}",
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/carduser_token.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("cmd", "4")
data.Set("uid", "user_9")
data.Set("key", "{発行されたキー}")
data.Set("num", "1")
data.Set("tkn", "{発行されたトークン}")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
カードの情報を更新します。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 変更タイプ | cmd | 半角数字 | 〇 | 1 | 変更タイプ4:カード情報更新 |
| ユーザーID | uid | 半角英数 | 〇 | 50バイト以下 | カード情報を更新するユーザーID ※1 |
| キー | key | 半角英数 | 〇 | 10 | サブスクペイより発行されたユーザーIDに紐づくキー |
| カード登録連番 | num | 半角数字 | 〇 | - | 同一ユーザー内でのカード登録順を示す管理番号 例:1 |
| トークン情報 | tkn | 半角英数記号 | 〇 | - | トークン発行APIで取得したカード情報トークン |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:uidに紐付いたEメールアドレスまたは電話番号を参照し、カード更新を実行します。
いずれの情報も未登録の場合はエラーが返却されます。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 登録結果 | 1 | rst | 半角数字 | 1 | カード登録の結果1:成功2:失敗 |
| エラーコード | 2 | ec | 半角英数 | - | 更新失敗時のエラーコード rstが 2の場合に、本項目が返却されます。詳細はエラーコード一覧をご覧ください。 |
| ユーザーID | 3 | uid | 半角英数 | 50バイト以下 | リクエスト時に指定したユーザーID |
| キー | 4 | key | 半角英数 | 10 | リクエスト時に指定したユーザーIDに紐づくキー |
| カード登録連番 | 5 | num | 半角数字 | - | リクエスト時に指定した同一ユーザー内でのカード登録順を示す管理番号 例:1 |
| その他データ | 6 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
credit-card/multi-one-touch/delete-card.md カード削除 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/carduser.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/carduser.aspx?aid={発行された店舗ID}&cmd=5&uid=user_3&key={発行されたキー}&num=2' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx'
data = {
aid: {発行された店舗ID},
cmd: 5,
uid: 'user_31',
key: '{発行されたキー}',
num: 1,
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx'
data = {
'aid': {発行された店舗ID},
'cmd': 5,
'uid': 'user_25',
'key': '{発行されたキー}',
'num': 1,
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/carduser.aspx';
$data = array(
'aid' => {発行された店舗ID},
'cmd' => 5,
'uid' => 'user_21',
'key' => '{発行されたキー}',
'num' => 1,
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/carduser.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&cmd=5");
data.append("&uid=user_13");
data.append("&key={発行されたキー}");
data.append("&num=1");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/carduser.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
cmd: 5,
uid: "user_17",
key: "{発行されたキー}",
num: 1,
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/carduser.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("cmd", "5")
data.Set("uid", "user_9")
data.Set("key", "{発行されたキー}")
data.Set("num", "1")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
カードの情報を削除します。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 変更タイプ | cmd | 半角数字 | 〇 | 1 | 変更タイプ5:カード情報削除 |
| ユーザーID | uid | 半角英数 | 〇 | 50バイト以下 | カード情報を削除するユーザーID |
| キー | key | 半角英数 | 〇 | 10 | ユーザー登録時にサブスクペイより発行されたキー |
| カード登録連番 | num | 半角数字 | 〇 | - | 同一ユーザー内でのカード登録順を示す管理番号 例:1 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 削除結果 | 1 | rst | 半角数字 | - | カード削除の結果1:成功2:失敗 |
| エラーコード | 2 | ec | 半角英数 | - | 削除失敗時のエラーコード rstが 2の場合に、本項目が返却されます。詳細はエラーコード一覧をご覧ください。 |
| ユーザーID | 3 | uid | 半角英数 | 50バイト以下 | リクエスト時に指定したユーザーID |
| キー | 4 | key | 半角英数 | 10 | リクエスト時に指定したユーザーIDに紐づくキー |
| カード登録連番 | 5 | num | 半角数字 | - | リクエスト時に指定した同一ユーザー内でのカード登録順を示す管理番号 例:1 |
| その他データ | 6 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
credit-card/payment-events/title.md イベント通知(システム起点)
credit-card/payment-events/result-notification-types.md 自動課金実行結果通知 WEB API
自動課金に基づき実行された決済結果をキックバック通知します。
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 決済番号 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗3:リトライ決済失敗4:自動課金停止5:お試し期間中のリトライ決済失敗 |
| 店舗オーダー番号 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 自動課金番号 | acid | 半角数字 | - | 自動課金ごとに発行される一意の番号 |
| 決済金額 | am | 半角数字 | - | リクエスト時に指定した商品金額 |
| 税額 | tx | 半角数字 | - | リクエスト時に指定した税額 |
| 送料 | sf | 半角数字 | - | リクエスト時に指定した送料 |
| 発行ID | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| エラーコード | ec | 半角英数 | - | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
payment-events/stop-auto-payment.md 自動課金停止結果通知 WEB API
自動課金の停止をキックバック通知します。 送信タイミングは、当該自動課金データの「次回課金日」となります。
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 初回決済番号 | gid | 半角数字 | - | 停止対象となる自動課金の初回決済番号 |
| 結果返却 | rst | 半角数字 | 1 | 決済処理の結果4 |
| 店舗オーダー番号 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 自動課金番号 | acid | 半角数字 | - | リクエスト時に指定した自動課金番号 |
| エラーコード | ec | 半角英数 | - | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
jcb-account-transfer/title.md JCB口座振替
jcb-account-transfer/add/title.md 登録
jcb-account-transfer/add/register-customer.md 登録 顧客+口座+請求 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/at_gateway.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx?aid={発行された店舗ID}&cmd=1&tday=2&nm=テスト&em={Eメールアドレス}&bac=0005&brc=001&atype=1&anum=1234567&anm=テスト&amo=1000&date=2025/04/26&type=1&stat=1' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx'
data = {
aid: {発行された店舗ID},
cmd: 1,
tday: 2,
nm: 'テスト',
em: '{Eメールアドレス}',
bac: '0005',
brc: '001',
atype: 1,
anum: '1234567',
anm: 'テスト',
amo: 1000,
date: '2025/04/26',
type: 1,
stat: 1,
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx'
data = {
'aid': {発行された店舗ID},
'cmd': 1,
'tday': 2,
'nm': 'テスト',
'em': '{Eメールアドレス}',
'bac': '0005',
'brc': '001',
'atype': 1,
'anum': '1234567',
'anm': 'テスト',
'amo': 1000,
'date': '2025/04/26',
'type': 1,
'stat': 1,
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx';
$data = array(
'aid' => {発行された店舗ID},
'cmd' => 1,
'tday' => 2,
'nm' => 'テスト',
'em' => '{Eメールアドレス}',
'bac' => '0005',
'brc' => '001',
'atype' => 1,
'anum' => '1234567',
'anm' => 'テスト',
'amo' => 1000,
'date' => '2025/04/26',
'type' => 1,
'stat' => 1,
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/at_gateway.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&cmd=1");
data.append("&tday=2");
data.append("&nm=テスト");
data.append("&em={Eメールアドレス}");
data.append("&bac=0005");
data.append("&brc=001");
data.append("&atype=1");
data.append("&anum=1234567");
data.append("&anm=テスト");
data.append("&amo=1000");
data.append("&date=2025/04/26");
data.append("&type=1");
data.append("&stat=1");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/at_gateway.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
cmd: 1,
tday: 2,
nm: "テスト",
em: "{Eメールアドレス}",
bac: "0005",
brc: "001",
atype: 1,
anum: "1234567",
anm: "テスト",
amo: 1000,
date: "2025/04/26",
type: 1,
stat: 1,
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/at_gateway.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("cmd", "1")
data.Set("tday", "2")
data.Set("nm", "テスト")
data.Set("em", "{Eメールアドレス}")
data.Set("bac", "0005")
data.Set("brc", "001")
data.Set("atype", "1")
data.Set("anum", "1234567")
data.Set("anm", "テスト")
data.Set("amo", "1000")
data.Set("date", "2025/04/26")
data.Set("type", "1")
data.Set("stat", "1")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>cid,reqid,ba,br,amo,cod,other</body>
値のみ
<body>56821128900000028361,32910,三井住友銀行,青葉台,3000,,test=afYf389Pqn-w</body>
顧客・口座・請求情報を登録します。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 処理タイプ | cmd | 半角数字 | 〇 | 1 | 実行する処理の種類1:顧客および口座情報の新規登録 |
| 振替日 | tday | 半角数字 | 〇 | 1 | サブスクペイの契約時に選択した口座振替日 契約と異なる振替日は指定できません。 1:10日2:26日 |
| 名前 | nm | 全角 | 〇 | 25文字以下 | エンドユーザーの名前 ※1 |
| Eメールアドレス | em | 半角英数記号 | 〇 | 100バイト以下 | エンドユーザーのEメールアドレス |
| 金融機関コード | bac | 半角数字 | 〇 | 4 | 金融機関コード |
| 支店コード | brc | 半角数字 | 〇 | 3 ~ 5 | 支店コード |
| 預金種目 | atype | 半角数字 | 〇 | 1 | 預金種目1:普通預金2:当座預金 |
| 口座番号 | anum | 半角数字 | 〇 | 7 ~ 8 | 口座番号 |
| 口座名義 | anm | 半角英数カナ | 〇 | 30文字以下 | 口座名義 ※1 |
| 振替金額 | amo | 半角数字 | 〇 | - | 振替金額 |
| 口座引落日 | date | 半角数字記号 | 〇 | - | 次回口座振替日yyyy/MM/dd |
| 動作タイプ | type | 半角数字 | 〇 | 1 | 口座振替の動作タイプ ※21:単発2:連続3:従量 |
| 請求状態 | stat | 半角数字 | 〇 | 1 | 請求情報の状態ステータス0:停止中1:稼働中 |
| 郵便番号 | po | 半角数字 | × | 7 | 郵便番号 |
| 都道府県 | pre | 半角数字 | × | 1 ~ 2 | 顧客住所(都道府県コード) |
| 住所1 | ad1 | 全角 | × | 50 | 顧客住所(市区町村・番地・号)※1 |
| 住所2 | ad2 | 全角 | × | 25 | 顧客住所(ビル名・マンション名)※1 |
| 会社名 | co | 全角 | × | 25 | 顧客会社名・氏名※1 |
| 店舗オーダー番号 | cod | 全角・半角英数 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:文字コードはUTF-8です。
※2:口座振替の動作タイプについて、詳細は以下をご参照ください。
【機能解説】口座振替の3つの動作タイプ
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 顧客番号 | 1 | cid | 半角数字 | 20 | 顧客ごとに発行される一意の番号 |
| 請求番号 | 2 | reqid | 半角数字 | 6 | 請求ごとに発行される一意の番号 |
| 金融機関名 | 3 | ba | 全角 | - | リクエスト時に指定した金融機関コードの金融機関名 |
| 支店名 | 4 | br | 全角 | - | リクエスト時に指定した支店コードの支店名 |
| 振替金額 | 5 | amo | 半角数字 | - | リクエスト時に指定した振替金額 |
| 店舗オーダー番号 | 6 | cod | 全角・半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| その他データ | 7 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
jcb-account-transfer/add/customer-number.md 登録 顧客 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/at_gateway.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx?aid={発行された店舗ID}&cmd=0&tday=2' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx'
data = {
aid: {発行された店舗ID},
cmd: 0,
tday: 2,
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx'
data = {
'aid': {発行された店舗ID},
'cmd': 0,
'tday': 2,
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx';
$data = array(
'aid' => {発行された店舗ID},
'cmd' => 0,
'tday' => 2,
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/at_gateway.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&cmd=0");
data.append("&tday=2");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/at_gateway.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
cmd: 0,
tday: 2,
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/at_gateway.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("cmd", "0")
data.Set("tday", "2")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>cid,reqid,cod,other</body>
値のみ
<body>20351128900000028355,32904,,test=afYf389Pqn-w</body>
口座情報や請求情報を登録せず、顧客情報のみ登録します。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 処理タイプ | cmd | 半角数字 | 〇 | 1 | 実行する処理の種類0:顧客番号発番 |
| 振替日 | tday | 半角数字 | 〇 | 1 | サブスクペイの契約時に選択した口座振替日1:10日2:26日 |
| 店舗オーダー番号 | cod | 全角・半角英数 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 顧客番号 | 1 | cid | 半角数字 | 20 | 顧客ごとに発行される一意の番号 |
| 請求番号 | 2 | reqid | 半角数字 | 6 | 請求ごとに発行される一意の番号 |
| 店舗オーダー番号 | 3 | cod | 全角・半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| その他データ | 4 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
jcb-account-transfer/add/add-billing.md 登録 請求 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/at_gateway.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx?aid={発行された店舗ID}&cmd=2&tday=2&cid={発行された顧客番号}&amo=1000&date=2025/04/26&type=1&stat=1' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx'
data = {
aid: {発行された店舗ID},
cmd: 2,
tday: 2,
cid: '{発行された顧客番号}',
amo: 1000,
date: '2025/04/26',
type: 1,
stat: 1,
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx'
data = {
'aid': {発行された店舗ID},
'cmd': 2,
'tday': 2,
'cid': '{発行された顧客番号}',
'amo': 1000,
'date': '2025/04/26',
'type': 1,
'stat': 1,
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx';
$data = array(
'aid' => {発行された店舗ID},
'cmd' => 2,
'tday' => 2,
'cid' => '{発行された顧客番号}',
'amo' => 1000,
'date' => '2025/04/26',
'type' => 1,
'stat' => 1,
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/at_gateway.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&cmd=2");
data.append("&tday=2");
data.append("&cid={発行された顧客番号}");
data.append("&amo=1000");
data.append("&date=2025/04/26");
data.append("&type=1");
data.append("&stat=1");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/at_gateway.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
cmd: 2,
tday: 2,
cid: "{発行された顧客番号}",
amo: 1000,
date: "2025/04/26",
type: 1,
stat: 1,
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/at_gateway.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("cmd", "2")
data.Set("tday", "2")
data.Set("cid", "{発行された顧客番号}")
data.Set("amo", "1000")
data.Set("date", "2025/04/26")
data.Set("type", "1")
data.Set("stat", "1")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>reqid,amo,cod,other</body>
値のみ
<body>32913,3000,test112,</body>
指定した顧客番号に、新たな請求情報を登録します。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 処理タイプ | cmd | 半角数字 | 〇 | 1 | 実行する処理の種類2:請求情報の追加 |
| 振替日 | tday | 半角数字 | 〇 | 1 | サブスクペイの契約時に選択した口座振替日 契約と異なる振替日は指定できません。 1:10日2:26日 |
| 顧客番号 | cid | 半角数字 | 〇 | 20 | 口座情報登録時に発番される番号 |
| 振替金額 | amo | 半角数字 | 〇 | - | 振替金額 |
| 口座引落日 | date | 半角数字記号 | 〇 | - | 次回口座振替日yyyy/MM/dd |
| 動作タイプ | type | 半角数字 | 〇 | 1 | 口座振替の動作タイプ ※11:単発2:連続3:従量 |
| 請求状態 | stat | 半角数字 | 〇 | 1 | 請求情報の状態ステータス0:停止中1:稼働中 |
| 店舗オーダー番号 | cod | 全角・半角英数 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:口座振替の動作タイプについて、詳細は以下をご参照ください。
【機能解説】口座振替の3つの動作タイプ
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 請求番号 | 1 | reqid | 半角数字 | 6 | 請求ごとに発行される一意の番号 |
| 振替金額 | 2 | amo | 半角数字 | - | リクエスト時に指定した振替金額 |
| 店舗オーダー番号 | 3 | cod | 全角・半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| その他データ | 4 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
jcb-account-transfer/customer-account/title.md 更新
jcb-account-transfer/change/change-account.md 更新 顧客+口座 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/at_gateway.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx?aid={発行された店舗ID}&cmd=4&cid={発行された顧客番号}&nm=テスト2' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx'
data = {
aid: {発行された店舗ID},
cmd: 4,
cid: '{発行された顧客番号}',
nm: 'テスト2',
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx'
data = {
'aid': {発行された店舗ID},
'cmd': 4,
'cid': '{発行された顧客番号}',
'nm': 'テスト2',
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx';
$data = array(
'aid' => {発行された店舗ID},
'cmd' => 4,
'cid' => '{発行された顧客番号}',
'nm' => 'テスト2',
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/at_gateway.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&cmd=4");
data.append("&cid={発行された顧客番号}");
data.append("&nm=テスト2");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/at_gateway.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
cmd: 4,
cid: "{発行された顧客番号}",
nm: "テスト2",
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/at_gateway.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("cmd", "4")
data.Set("cid", "{発行された顧客番号}")
data.Set("nm", "テスト2")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>cid,reqid,ba,br,cod,other</body>
値のみ
<body>56821128900000028361,32910,三井住友銀行,青葉台,,test=afYf389Pqn-w</body>
指定した顧客番号の口座情報および顧客情報を更新します。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 処理タイプ | cmd | 半角数字 | 〇 | 1 | 実行する処理の種類4:口座情報および顧客情報の更新 |
| 振替日 | tday | 半角数字 | × | 1 | サブスクペイの契約時に選択した口座振替日 契約と異なる振替日は指定できません。 1:10日2:26日 |
| 顧客番号 | cid | 半角数字 | 〇 | 20 | 口座情報登録時に発番される番号 |
| 名前 | nm | 全角 | × | 25文字以下 | エンドユーザーの名前 ※1 |
| Eメールアドレス | em | 半角英数記号 | × | 1 ~ 254 | エンドユーザーのEメールアドレス |
| 金融機関コード | bac | 半角数字 | × | 4 | 金融機関コード |
| 支店コード | brc | 半角数字 | × | 3 ~ 5 | 支店コード |
| 預金種目 | atype | 半角数字 | × | 1 | 預金種目1:普通預金2:当座預金 |
| 口座番号 | anum | 半角数字 | × | 7 ~ 8 | 口座番号 |
| 口座名義 | anm | 半角英数カナ | × | 30文字以下 | 口座名義 ※1 |
| 郵便番号 | po | 半角数字 | × | 7 | 郵便番号 |
| 都道府県 | pre | 半角数字 | × | 1 ~ 2 | 顧客住所(都道府県コード) |
| 住所1 | ad1 | 全角 | × | 50 | 顧客住所(市区町村・番地・号)※1 |
| 住所2 | ad2 | 全角 | × | 25 | 顧客住所(ビル名・マンション名)※1 |
| 会社名 | co | 全角 | × | 25 | 顧客会社名・氏名 ※1 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:文字コードはUTF-8です。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 顧客番号 | 1 | cid | 半角数字 | 20 | 顧客ごとに発行される一意の番号 |
| 金融機関名 | 2 | ba | 全角 | - | リクエスト時に指定した金融機関コードの金融機関名 |
| 支店名 | 3 | br | 全角 | - | リクエスト時に指定した支店コードの支店名 |
| 店舗オーダー番号 | 4 | cod | 全角・半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| その他データ | 5 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
jcb-account-transfer/change/change-billing.md 更新 請求 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/at_gateway.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx?aid={発行された店舗ID}&cmd=3&reqid={発行された請求番号}&amo=2000' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx'
data = {
aid: {発行された店舗ID},
cmd: 3,
reqid: '{発行された請求番号}',
amo: 2000,
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx'
data = {
'aid': {発行された店舗ID},
'cmd': 3,
'reqid': '{発行された請求番号}',
'amo': 2000,
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/at_gateway.aspx';
$data = array(
'aid' => {発行された店舗ID},
'cmd' => 3,
'reqid' => '{発行された請求番号}',
'amo' => 2000,
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/at_gateway.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&cmd=3");
data.append("&reqid={発行された請求番号}");
data.append("&amo=2000");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/at_gateway.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
cmd: 3,
reqid: "{発行された請求番号}",
amo: 2000,
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/at_gateway.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("cmd", "3")
data.Set("reqid", "{発行された請求番号}")
data.Set("amo", "2000")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>reqid,amo,cod,other</body>
値のみ
<body>32913,3000,test112,</body>
請求情報変更とは、管理画面内の顧客データ登録に対して、振替金額や振替日のご変更をする際にご利用頂く処理内容です。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 処理タイプ | cmd | 半角数字 | 〇 | 1 | 実行する処理の種類3:請求情報の更新 |
| 振替日 | tday | 半角数字 | × | 1 | サブスクペイの契約時に選択した口座振替日 契約と異なる振替日は指定できません。 1:10日2:26日 |
| 請求番号 | reqid | 半角数字 | 〇 | 6 | 請求ごとに発行される一意の番号 |
| 振替金額 | amo | 半角数字 | × | - | 振替金額 |
| 口座引落日 | date | 半角数字記号 | × | - | 次回口座振替日yyyy/MM/dd |
| 請求状態 | stat | 半角数字 | × | 1 | 請求情報の状態ステータス0:停止中1:稼働中 |
| 店舗オーダー番号 | cod | 全角・半角英数 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 請求番号 | 1 | reqid | 半角数字 | 6 | 請求ごとに発行される一意の番号 |
| 振替金額 | 2 | amo | 半角数字 | - | リクエスト時に指定した振替金額 |
| 店舗オーダー番号 | 3 | cod | 全角・半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| その他データ | 4 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
jcb-account-transfer/result-notification/title.md イベント通知(システム起点)
jcb-account-transfer/result-notification/transfer-data.md 口座振替データ WEB API
各金融機関へ口座振替データの送信が完了したことをキックバック通知します。
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 決済番号 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | rst | 半角数字 | 1 | 口座振替の結果1:振替成功2:振替失敗 |
| カード会社承認番号 | ap | 半角英数 | - | ACC(口座振替決済)が通知されます。 |
| エラーコード | ec | 半角英数 | - | 振替失敗時のエラーコードrstが2の場合に、本項目が返却されます。J001:振替結果未判定J002:資金不足J003:取引無しJ004:預金者都合J005:口座振替無しJ006:委託者都合J007:その他振替失敗 |
| オーダーコード | god | 半角数字 | 8 | 決済ごとに発行されるユニークID |
| 店舗オーダー番号 | cod | 全角・半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 決済金額 | am | 半角数字 | 1 ~ 7 | リクエスト時に指定した商品金額 |
| 税額 | tx | 半角数字 | 1 ~ 7 | リクエスト時に指定した税額 |
| 送料 | sf | 半角数字 | 1 ~ 7 | リクエスト時に指定した送料 |
| 合計金額 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| Eメールアドレス | em | 半角英数記号 | 100バイト以下 | エンドユーザーのEメールアドレス |
jcb-account-transfer/result-notification/result-transfer-data.md 口座振替結果データ WEB API
金融機関での振替結果が確定し、サブスクペイ管理画面へ結果が反映されたことをキックバック通知します。
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 決済番号 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | rst | 半角数字 | 1 | 口座振替の結果1:振替成功2:振替失敗 |
| カード会社承認番号 | ap | 半角英数 | - | ACC(口座振替決済)が通知されます。 |
| エラーコード | ec | 半角英数 | - | 振替失敗時のエラーコードrstが2の場合に、本項目が返却されます。J001:振替結果未判定J002:資金不足J003:取引無しJ004:預金者都合J005:口座振替無しJ006:委託者都合J007:その他振替失敗 |
| オーダーコード | god | 半角数字 | 8 | 決済ごとに発行されるユニークID |
| 店舗オーダー番号 | cod | 全角・半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 決済金額 | am | 半角数字 | 1 ~ 7 | リクエスト時に指定した商品金額 |
| 税額 | tx | 半角数字 | 1 ~ 7 | リクエスト時に指定した税額 |
| 送料 | sf | 半角数字 | 1 ~ 7 | リクエスト時に指定した送料 |
| 合計金額 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| Eメールアドレス | em | 半角英数記号 | 100バイト以下 | エンドユーザーのEメールアドレス |
bank-check/title.md バンクチェック
bank-check/without-item-payment.md 決済 商品登録なし WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/bank.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/bank.aspx?aid={発行された店舗ID}&jb=CAPTURE&rt=1&am=1011&tx=0&sf=0&nmf=テスト' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/bank.aspx'
data = {
aid: {発行された店舗ID},
jb: 'CAPTURE',
rt: 1,
am: 1000,
tx: 0,
sf: 0,
nmf: 'テスト'
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/bank.aspx'
data = {
'aid': {発行された店舗ID},
'jb': 'CAPTURE',
'rt': 1,
'am': 1000,
'tx': 0,
'sf': 0,
'nmf': 'テスト'
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/bank.aspx';
$data = array(
'aid' => {発行された店舗ID},
'jb' => 'CAPTURE',
'rt' => 1,
'am' => 1000,
'tx' => 0,
'sf' => 0,
'nmf' => 'テスト'
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/bank.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&jb=CAPTURE");
data.append("&rt=1");
data.append("&am=1000");
data.append("&tx=0");
data.append("&sf=0");
data.append("&nmf=テスト");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/bank.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
jb: "CAPTURE",
rt: 1,
am: 1000,
tx: 0,
sf: 0,
nmf: "テスト"
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/bank.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("jb", "CAPTURE")
data.Set("rt", "1")
data.Set("am", "1000")
data.Set("tx", "0")
data.Set("sf", "0")
data.Set("nmf", "テスト")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
商品金額・税額・送料を指定して決済を行います。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 店舗オーダー番号 | cod | 半角英数・全角 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| ジョブタイプ | jb | 半角英字 | 〇 | - | 決済処理の種類CAPTURE:仮実同時売上 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 商品金額 | am | 半角数字 | 〇 | - | 商品金額 |
| 税額 | tx | 半角数字 | 〇 | - | 税額 商品金額に税額が含まれる場合は、 0をご指定ください。 |
| 送料 | sf | 半角数字 | 〇 | - | 送料 商品金額に送料が含まれる場合は、 0をご指定ください。 |
| Eメールアドレス | em | 半角英数記号 | × | 100バイト以下 | エンドユーザーのEメールアドレス |
| 電話番号 | pn | 半角数字 | × | 11バイト以下 | エンドユーザーの電話番号 |
| 名前 | nm | 全角 | × | 50バイト以下 | エンドユーザーの名前 |
| 口座名義 | nmf | 全角カナ | 〇 | 48バイト以下 | 口座名義 |
| 郵便番号 | po | 半角数字 | × | 7 | 郵便番号 |
| 住所 | ad | 全角 | × | 100 | エンドユーザーの住所 ※1 |
| 住所 フリガナ | adf | 全角 | × | 100バイト以下 | 住所のフリガナ ※1 |
| 支払期限 | exp | 半角数字 | × | 8 | 支払期限YYYYMMDD省略時は管理画面にて設定した支払期限が適用されます。 管理画面にて支払期限が未設定の場合は、30日が適用されます。 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:文字コードはUTF-8です。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| 受付完了 | 3 | ap | 半角英字 | - | 受付完了時に返却される文字列BANK |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | 7 | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数・全角 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | - | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | - | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | - | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 8 | サブスクペイより発行されたID |
| 発行パスワード | 12 | ps | 半角英数 | 8 | サブスクペイより発行されたパスワード |
| 振込先口座情報 | 13 | bank | 全角・半角英数 | - | 振込先口座情報.区切りの文字列で返却されます。 ※1 |
| 支払期限 | 14 | exp | 半角数字 | 8 | 支払期限YYYYMMDD |
| その他データ | 15 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ ※2 |
※1:[銀行コード].[銀行名].[支店コード].[支店名].[口座種別].[口座番号].[口座名義]
決済結果返信方法「0」の場合はエンコードされた状態で返却されるため、デコード処理を行ってください。
※2:決済結果返信方法「1」の場合はエンコードされた状態で返却されるため、デコード処理を行ってください。
bank-check/item-payment.md 決済 商品登録あり WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/bank.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/bank.aspx?aid={発行された店舗ID}&jb=CAPTURE&rt=1&iid=1&nmf=テスト' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/bank.aspx'
data = {
aid: {発行された店舗ID},
jb: 'CAPTURE',
rt: 1,
iid: '1',
nmf: 'テスト'
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/bank.aspx'
data = {
'aid': {発行された店舗ID},
'jb': 'CAPTURE',
'rt': 1,
'iid': '1',
'nmf': 'テスト'
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/bank.aspx';
$data = array(
'aid' => {発行された店舗ID},
'jb' => 'CAPTURE',
'rt' => 1,
'iid' => '1',
'nmf' => 'テスト'
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/bank.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&jb=CAPTURE");
data.append("&rt=1");
data.append("&iid=1");
data.append("&nmf=テスト");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/bank.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
jb: "CAPTURE",
rt: 1,
iid: "1",
nmf: "テスト"
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/bank.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("jb", "CAPTURE")
data.Set("rt", "1")
data.Set("iid", "1")
data.Set("nmf", "テスト")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
商品コードを指定して決済を行います。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| 店舗オーダー番号 | cod | 半角英数・全角 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| ジョブタイプ | jb | 半角英字 | 〇 | - | 決済処理の種類CAPTURE:仮実同時売上 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 商品コード | iid | 半角英数 | 〇 | 50バイト以下 | サブスクペイで登録した商品コード ※1 |
| Eメールアドレス | em | 半角英数記号 | × | 100バイト以下 | エンドユーザーのEメールアドレス |
| 電話番号 | pn | 半角数字 | × | 11バイト以下 | エンドユーザーの電話番号 |
| 名前 | nm | 全角 | × | 50バイト以下 | エンドユーザーの名前 |
| 口座名義 | nmf | 全角カナ | 〇 | 48バイト以下 | 口座名義 |
| 郵便番号 | po | 半角数字 | × | 7 | 郵便番号 |
| 住所 | ad | 全角 | × | 100 | エンドユーザーの住所 ※2 |
| 住所 フリガナ | adf | 全角 | × | 100バイト以下 | 住所のフリガナ ※2 |
| 支払期限 | exp | 半角数字 | × | 8 | 支払期限YYYYMMDD省略時は管理画面にて設定した支払期限が適用されます。 管理画面にて支払期限が未設定の場合は、30日が適用されます。 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:自動課金の商品は利用できません。
※2:文字コードはUTF-8です。
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| 受付完了 | 3 | ap | 半角英字 | - | 受付完了時に返却される文字列BANK |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | 7 | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数・全角 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | - | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | - | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | - | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 8 | サブスクペイより発行されたID |
| 発行パスワード | 12 | ps | 半角英数 | 8 | サブスクペイより発行されたパスワード |
| 振込先口座情報 | 13 | bank | 全角・半角英数 | - | 振込先口座情報.区切りの文字列で返却されます。 ※1 |
| 支払期限 | 14 | exp | 半角数字 | 8 | 支払期限YYYYMMDD |
| その他データ | 15 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ ※2 |
※1:[銀行コード].[銀行名].[支店コード].[支店名].[口座種別].[口座番号].[口座名義]
決済結果返信方法「0」の場合はエンコードされた状態で返却されるため、デコード処理を行ってください。
※2:決済結果返信方法「1」の場合はエンコードされた状態で返却されるため、デコード処理を行ってください。
bank-check/cancel.md 取消 WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/bank.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/bank.aspx?aid={発行された店舗ID}&jb=CANCEL&rt=1&tid={発行された決済番号}' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/bank.aspx'
data = {
aid: {発行された店舗ID},
jb: 'CANCEL',
rt: 1,
tid: {発行された決済番号},
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/bank.aspx'
data = {
'aid': {発行された店舗ID},
'jb': 'CANCEL',
'rt': 1,
'tid': {発行された決済番号},
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/bank.aspx';
$data = array(
'aid' => {発行された店舗ID},
'jb' => 'CANCEL',
'rt' => 1,
'tid' => {発行された決済番号},
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/bank.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&jb=CANCEL");
data.append("&rt=1");
data.append("&tid={発行された決済番号}");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/bank.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
jb: "CANCEL",
rt: 1,
tid: {発行された決済番号},
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/bank.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("jb", "CANCEL")
data.Set("rt", "1")
data.Set("tid", "{発行された決済番号}")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,ps,exp(,その他データ)</body>
値のみ
<body>10000000,1,BANK,,11000000,,1000,0,0,1000,,,9999.テスト銀行.999.テスト支店.普通.9999999.山本太郎,20150101,</body>
決済の取消を行います。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| ジョブタイプ | jb | 半角英字 | 〇 | - | 決済処理の種類CANCEL:取消 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 対象決済番号 | tid | 半角英数 | 〇 | - | 対象の決済番号 |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| 受付完了 | 3 | ap | 半角英字 | - | 受付完了時に返却される文字列BANK |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | 7 | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数・全角 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | - | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | - | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | - | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 8 | サブスクペイより発行されたID |
| 発行パスワード | 12 | ps | 半角英数 | 8 | サブスクペイより発行されたパスワード |
| 振込先口座情報 | 13 | bank | 全角・半角英数 | - | 振込先口座情報.区切りの文字列で返却されます。 ※1 |
| 支払期限 | 14 | exp | 半角数字 | 8 | 支払期限YYYYMMDD |
| その他データ | 15 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ ※2 |
※1:[銀行コード].[銀行名].[支店コード].[支店名].[口座種別].[口座番号].[口座名義]
決済結果返信方法「0」の場合はエンコードされた状態で返却されるため、デコード処理を行ってください。
※2:決済結果返信方法「1」の場合はエンコードされた状態で返却されるため、デコード処理を行ってください。
bank-check/response-after-payment.md イベント通知(システム起点)
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,ps,exp(,その他データ)</body>
値のみ
<body>10000000,1,BANK,,11000000,,1000,0,0,1000,,,9999.テスト銀行.999.テスト支店.普通.9999999.山本太郎,20150101, dob=2015/04/22</body>
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 決済番号 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| 処理通知 | ap | 半角英字 | - | 入金完了時に返却される文字列BAN_SAL |
| エラーコード | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | cod | 半角英数・全角 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | am | 半角数字 | 20 | リクエスト時に指定した商品金額 |
| 税額 | tx | 半角数字 | - | リクエスト時に指定した税額 |
| 送料 | sf | 半角数字 | - | リクエスト時に指定した送料 |
| 合計金額 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | id | 半角英数 | 50 | サブスクペイより発行されたID |
| 発行パスワード | ps | 半角英数 | 50 | サブスクペイより発行されたパスワード |
| マッチングフラグ | mf | 半角数字 | 1 | マッチングフラグ1:マッチ2:過少3:過剰 |
| 入金金額 | nk | 半角数字 | - | 入金金額 複数回入金があった場合は、入金合計金額を返却します。 |
| 入金日 | nkd | 半角数字 | 8 | 入金日YYYYMMDD |
| 振込先口座情報 | bank | 全角・半角英数 | - | 振込先口座情報.区切りの文字列で返却されます。 ※1 |
| 支払期限 | exp | 半角英数 | 8 | 支払期限YYYYMMDD |
| その他データ | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:[銀行コード].[銀行名].[支店コード].[支店名].[口座種別].[口座番号].[口座名義]
エンコードされた状態で返却されるため、デコード処理を行ってください。
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 決済番号 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| 処理通知 | ap | 半角英字 | - | 入金完了時に返却される文字列BAN_SAL |
| エラーコード | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | god | 半角数字 | - | 決済ごとに発行されるコード |
| 店舗オーダー番号 | cod | 半角英数・全角 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | am | 半角数字 | 20 | リクエスト時に指定した商品金額 |
| 税額 | tx | 半角数字 | - | リクエスト時に指定した税額 |
| 送料 | sf | 半角数字 | - | リクエスト時に指定した送料 |
| 合計金額 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | id | 半角英数 | 50 | サブスクペイより発行されたID |
| 発行パスワード | ps | 半角英数 | 50 | サブスクペイより発行されたパスワード |
| マッチングフラグ | mf | 半角数字 | 1 | マッチングフラグ1:マッチ2:過少3:過剰 |
| 入金金額 | nk | 半角数字 | - | 入金金額 複数回入金があった場合は、入金合計金額を返却します。 |
| 入金日 | nkd | 半角数字 | 8 | 入金日YYYYMMDD |
conveni-parerless/title.md コンビニペーパーレス
conveni-parerless/without-item-payment.md 決済 商品登録なし WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/cvs2.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/cvs2.aspx?aid={発行された店舗ID}&jb=CAPTURE&rt=1&pn={電話番号}&am=1000&tx=0&sf=0&na=テスト太郎&cv=030' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/cvs2.aspx'
data = {
aid: {発行された店舗ID},
jb: 'CAPTURE',
rt: 1,
pn: '{電話番号}',
am: 1000,
tx: 0,
sf: 0,
na: 'テスト太郎',
cv: '030'
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/cvs2.aspx'
data = {
'aid': {発行された店舗ID},
'jb': 'CAPTURE',
'rt': 1,
'pn': '{電話番号}',
'am': 1000,
'tx': 0,
'sf': 0,
'na': 'テスト太郎',
'cv': '030'
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/cvs2.aspx';
$data = array(
'aid' => {発行された店舗ID},
'jb' => 'CAPTURE',
'rt' => 1,
'pn' => '{電話番号}',
'am' => 1000,
'tx' => 0,
'sf' => 0,
'na' => 'テスト太郎',
'cv' => '030'
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/cvs2.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&jb=CAPTURE");
data.append("&rt=1");
data.append("&pn={電話番号}");
data.append("&am=1000");
data.append("&tx=0");
data.append("&sf=0");
data.append("&na=テスト太郎");
data.append("&cv=030");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/cvs2.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
jb: "CAPTURE",
rt: 1,
pn: "{電話番号}",
am: 1000,
tx: 0,
sf: 0,
na: "テスト太郎",
cv: "030"
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/cvs2.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("jb", "CAPTURE")
data.Set("rt", "1")
data.Set("pn", "{電話番号}")
data.Set("am", "1000")
data.Set("tx", "0")
data.Set("sf", "0")
data.Set("na", "テスト太郎")
data.Set("cv", "030")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
商品金額・税額・送料を指定して決済を行います。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| ジョブタイプ | jb | 半角英字 | 〇 | - | 決済処理の種類CAPTURE:仮実同時売上 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 店舗オーダー番号 | cod | 半角英数・全角 | × | 50バイト以下 | 任意で設定できる管理用の値 全角・半角英数 |
| Eメールアドレス | em | 半角英数記号 | × | 100バイト以下 | エンドユーザーのEメールアドレス |
| 電話番号 | pn | 半角数字 | 〇 | 11バイト以下 | エンドユーザーの電話番号 |
| 商品金額 | am | 半角数字 | 〇 | - | 商品金額 |
| 税額 | tx | 半角数字 | 〇 | - | 税額 商品金額に税額が含まれる場合は、 0をご指定ください。 |
| 送料 | sf | 半角数字 | 〇 | - | 送料 商品金額に送料が含まれる場合は、 0をご指定ください。 |
| 名前 | na | 全角 | 〇 | 20文字以下 | エンドユーザーの名前 ※1 |
| コンビニコード | cv | 半角数字 | 〇 | 3 | コンビニコード010:セブンイレブン020:ローソン030:ファミリマート050:デイリーヤマザキ・ヤマザキデイリーストア・タイムリー080:ミニストップ760:セイコーマート |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:文字コードはUTF-8です。
| 項目名 | 出力順 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 処理結果 | 1 | 半角英字 | - | 処理結果OK:成功ER:[エラーコード]:失敗 |
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 決済番号 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| 決済識別コード | ap | 半角英字 | - | コンビニペーパーレス決済識別コードCPL_PRE |
| エラーコード | ec | 半角英数 | - | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | god | 半角数字 | 8 | 決済ごとに発行されるコード |
| 店舗オーダー番号 | cod | 半角英数・全角 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | am | 半角数字 | - | リクエスト時に指定した商品金額 |
| 税額 | tx | 半角数字 | - | リクエスト時に指定した税額 |
| 送料 | sf | 半角数字 | - | リクエスト時に指定した送料 |
| 合計金額 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| コンビニコード | cv | 半角数字 | 3 | リクエスト時に指定したコンビニコード |
| コンビニ受付番号 | no | 半角数字 | - | コンビニ受付番号 |
| コンビニ受付番号情報URL | cu | 半角英数 | - | コンビニ受付番号情報のURL ※1 ファミリーマートの場合は返却されません。 |
| その他データ | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:文字コードはUTF-8です。
エンコードされた状態で返却されるため、デコード処理を行ってください。
conveni-parerless/item-payment.md 決済 商品登録あり WEB API
[GET/POST] https://credit.j-payment.co.jp/gateway/cvs2.aspx
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
curl -X POST 'https://credit.j-payment.co.jp/gateway/cvs2.aspx?aid={発行された店舗ID}&jb=CAPTURE&rt=1&pn={電話番号}&iid=1&na=テスト太郎&cv=030' \
-H 'Content-Length: 0'
require 'rest-client'
url = 'https://credit.j-payment.co.jp/gateway/cvs2.aspx'
data = {
aid: {発行された店舗ID},
jb: 'CAPTURE',
rt: 1,
pn: '{電話番号}',
iid: '1',
na: 'テスト太郎',
cv: '030'
}
request_url = "#{url}?#{URI.encode_www_form(data)}"
result = RestClient.post(request_url, '')
puts result
import requests
url = 'https://credit.j-payment.co.jp/gateway/cvs2.aspx'
data = {
'aid': {発行された店舗ID},
'jb': 'CAPTURE',
'rt': 1,
'pn': '{電話番号}',
'iid': '1',
'na': 'テスト太郎',
'cv': '030'
}
response = requests.post(url, data=data)
print(f'レスポンス: {response.text}')
<?php
require '../vendor/autoload.php';
$url = 'https://credit.j-payment.co.jp/gateway/cvs2.aspx';
$data = array(
'aid' => {発行された店舗ID},
'jb' => 'CAPTURE',
'rt' => 1,
'pn' => '{電話番号}',
'iid' => '1',
'na' => 'テスト太郎',
'cv' => '030'
);
$client = new \GuzzleHttp\Client();
try {
$response = $client->request('POST', $url, array(
'query' => $data,
)
);
var_dump($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
var_dump($e->getMessage());
}
?>
String url = "https://credit.j-payment.co.jp/gateway/cvs2.aspx";
URL obj = new URL(url);
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
con.setDoOutput(true);
OutputStream os = con.getOutputStream();
StringBuilder data = new StringBuilder();
data.append("aid={発行された店舗ID}");
data.append("&jb=CAPTURE");
data.append("&rt=1");
data.append("&pn={電話番号}");
data.append("&iid=1");
data.append("&na=テスト太郎");
data.append("&cv=030");
os.write(data.toString().getBytes("UTF-8"));
os.flush();
os.close();
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import fetch from "node-fetch";
const url = "https://credit.j-payment.co.jp/gateway/cvs2.aspx";
const data = new URLSearchParams({
aid: {発行された店舗ID},
jb: "CAPTURE",
rt: 1,
pn: "{電話番号}",
iid: "1",
na: "テスト太郎",
cv: "030"
});
const requestUrl = `${url}?${data}`;
fetch(requestUrl, {
method: "POST"
}).then(async function(response) {
console.log(await response.text());
});
package main
import (
"fmt"
"bytes"
"net/http"
"net/url"
)
func main() {
baseUrl := "https://credit.j-payment.co.jp/gateway/cvs2.aspx"
data := url.Values{}
data.Set("aid", "{発行された店舗ID}")
data.Set("jb", "CAPTURE")
data.Set("rt", "1")
data.Set("pn", "{電話番号}")
data.Set("iid", "1")
data.Set("na", "テスト太郎")
data.Set("cv", "030")
requestUrl := fmt.Sprintf("%s?%s", baseUrl, data.Encode())
request, err := http.NewRequest("POST", requestUrl, nil)
if err != nil {
fmt.Println("Error:", err)
return
}
client := &http.Client{}
response, err := client.Do(request)
if err != nil {
fmt.Println("Error:", err)
}
defer response.Body.Close()
body := new(bytes.Buffer)
body.ReadFrom(response.Body)
fmt.Println("Resopnse Status: ", response.Status)
fmt.Println("Resopnse Body: ", body.String())
}
商品コードを指定して決済を行います。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| ジョブタイプ | jb | 半角英字 | 〇 | - | 決済処理の種類CAPTURE:仮実同時売上 |
| 決済結果返信方法 | rt | 半角数字 | 〇 | 1 | 決済結果の通知方法0:キックバック1:レスポンス |
| 商品コード | iid | 半角英数 | 〇 | 50バイト以下 | サブスクペイで登録した商品コード |
| 店舗オーダー番号 | cod | 半角英数・全角 | × | 50バイト以下 | 任意で設定できる管理用の値 全角・半角英数 |
| Eメールアドレス | em | 半角英数記号 | × | 100バイト以下 | エンドユーザーのEメールアドレス |
| 電話番号 | pn | 半角数字 | 〇 | 11バイト以下 | エンドユーザーの電話番号 |
| 名前 | na | 全角 | 〇 | 20文字以下 | お名前 ※1 |
| コンビニコード | cv | 半角数字 | 〇 | 3 | コンビニ店舗コード010:セブンイレブン020:ローソン030:ファミリマート050:デイリーヤマザキ・ヤマザキデイリーストア・タイムリー080:ミニストップ760:セイコーマート |
| その他データ | - | 全角・半角英数 | × | 1024バイト以下 | 任意の値を設定可能な予備項目 改行やスペースを含む場合はエンコード処理を行ってください。 |
※1:文字コードはUTF-8です。
| 項目名 | 出力順 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 処理結果 | 1 | 半角英字 | - | 処理結果OK:成功ER:[エラーコード]:失敗 |
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 決済番号 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| 決済識別コード | ap | 半角英字 | - | コンビニペーパーレス決済識別コードCPL_PRE |
| エラーコード | ec | 半角英数 | - | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | god | 半角数字 | 8 | 決済ごとに発行されるコード |
| 店舗オーダー番号 | cod | 半角英数・全角 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | am | 半角数字 | - | リクエスト時に指定した商品金額 |
| 税額 | tx | 半角数字 | - | リクエスト時に指定した税額 |
| 送料 | sf | 半角数字 | - | リクエスト時に指定した送料 |
| 合計金額 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| コンビニコード | cv | 半角数字 | 3 | リクエスト時に指定したコンビニコード |
| コンビニ受付番号 | no | 半角数字 | - | コンビニ受付番号 |
| コンビニ受付番号情報URL | cu | 半角英数 | - | コンビニ受付番号情報のURL ※1 ファミリーマートの場合は返却されません。 |
| その他データ | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
※1:文字コードはUTF-8です。
エンコードされた状態で返却されるため、デコード処理を行ってください。
conveni-parerless/response-after-payment.md イベント通知(システム起点)
レスポンスサンプル: HTML
順番のみ
<body>gid,rst,ap,ec,god,cod,am,tx,sf,ta,id,ps(,その他データ)&cv=&no=&cu=</body>
値のみ
<body>100001,1,CPL_PRE,,100001,test001,1000,50,500,1550,,(,その他データ)&cv=010&no=1234567890123&cu=コンビニ受付番号情報URL</body>
ID/PS発行時
<body>100001,1,CPL_PRE,,100001,test001,1000,50,500,1550,test01,test01(,その他データ)&cv=010&no=1234567890123&cu=コンビニ受付番号情報URL</body>
| 項目名 | 出力順 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 決済番号 | 1 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 決済結果 | 2 | rst | 半角数字 | 1 | 決済処理の結果1:決済成功2:決済失敗 |
| 決済識別コード | 3 | ap | 半角英字 | - | コンビニペーパーレス決済識別コード:CPL:入金確定 |
| エラーコード | 4 | ec | 半角英数 | 12 | エラー発生時のエラーコード 詳細はエラーコード一覧をご覧ください。 |
| オーダーコード | 5 | god | 半角数字 | 8 | 決済ごとに発行されるコード |
| 店舗オーダー番号 | 6 | cod | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 商品金額 | 7 | am | 半角数字 | 1 ~ 7 | リクエスト時に指定した商品金額 |
| 税額 | 8 | tx | 半角数字 | 1 ~ 7 | リクエスト時に指定した税額 |
| 送料 | 9 | sf | 半角数字 | 1 ~ 7 | リクエスト時に指定した送料 |
| 合計金額 | 10 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 発行ID | 11 | id | 半角英数 | 50バイト以下 | サブスクペイより発行されたID |
| 発行パスワード | 12 | ps | 半角英数 | 50バイト以下 | サブスクペイより発行されたパスワード |
| その他データ | 13 | - | 全角・半角英数 | 1024バイト以下 | リクエスト時に指定したその他データ |
| コンビニコード | 14 | cv | 半角数字 | - | コンビニ店舗コード010:セブンイレブン020:ローソン030:ファミリマート050:デイリーヤマザキ・ヤマザキデイリーストア・タイムリー080:ミニストップ760:セイコーマート |
| コンビニ受付番号 | 15 | no | 半角数字 | 32バイト以下 | コンビニ受付番号 |
| コンビニ受付番号情報URL | 16 | cu | 半角英数 | - | ココンビニ受付番号情報のURL ※1 ファミリーマートの場合は返却されません。 |
※1:文字コードはUTF-8です。
エンコードされた状態で返却されるため、デコード処理を行ってください。
getting-started/title.md REST APIについて
サブスクペイでは、一部の決済関連の機能を REST API により提供しております。
本 API では、リクエストおよびレスポンスのデータ形式は JSON(Content-Type: application/json)、
文字コードは UTF-8 を使用しています。
rest-api-overview/ip-authentication.md 認証
本 API のご利用には、決済管理画面より発行される API キーが必要です。
詳細は以下をご参照ください。
【設定】APIキーの発行方法・手順について
rest-api-overview/http-status-codes.md HTTPステータスコード
| コード | 意味 | 説明 |
|---|---|---|
| 200 | OK | リクエストが成功 |
| 400 | Bad Request | 不正なリクエスト |
| 401 | Unauthorized | 認証失敗 |
| 404 | Not Found | 指定されたリソースが見つからない |
| 405 | Method Not Allowed | 許可されていないメソッド |
| 500 | Internal Server Error | サーバ内部エラー |
| 501 | Service Unavailable | メンテナンス中によりサービス利用不可 |
rest-api-overview/error-response.md エラーレスポンス
レスポンスサンプル: JSON
認証に失敗した場合のサンプル
{
"err": {
"ec": "ER401",
"msg": "認証に失敗しました"
}
}
パラメータに不正な値を指定した場合のサンプル
{
"err": {
"ec": "ER400",
"msg": "入力に誤りがあります",
"dtls": [
{
"dtlf": "cdf",
"dtlmsgs": [
"無効な値です"
]
},
{...},
{...}
]
}
}
本APIでエラーが発生した場合、すべてのREST API共通でJSON形式のエラーレスポンスを返却します。
| 項目名 | キー名 | 型 | 説明 |
|---|---|---|---|
| エラー情報 | err | オブジェクト | エラー情報を格納するルート要素 |
| エラーコード | ec | 半角英数 | エラーを特定する識別コード |
| エラーメッセージ | msg | 半角英数 | エラー内容の概要 |
| エラー詳細 | dtls | 配列 | パラメータ毎のエラー詳細リスト 詳細が存在する場合のみ返却します。 |
| パラメータ名 | dtlf | 半角英数 | エラーが発生したパラメータ名 |
| 詳細メッセージ | dtlmsgs | 配列 | エラーの具体的内容 |
resona-account-transfer/title.md りそな口座振替
resona-account-transfer/account/title.md 登録
resona-account-transfer/add/register-customer.md 登録 顧客 REST API
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
# You can also use wget
curl -X POST /v1.0/account_transfer/users \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'X-Payment-API-Key: undefined'
POST /v1.0/account_transfer/users HTTP/1.1
Content-Type: application/json
Accept: text/plain
X-Payment-API-Key: undefined
const inputBody = '{
"phone": "string",
"email": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'X-Payment-API-Key':undefined
};
fetch('/v1.0/account_transfer/users',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => undefined
}
result = RestClient.post '/v1.0/account_transfer/users',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'X-Payment-API-Key': undefined
}
r = requests.post('/v1.0/account_transfer/users', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => 'undefined',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1.0/account_transfer/users', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1.0/account_transfer/users");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"X-Payment-API-Key": []string{"undefined"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1.0/account_transfer/users", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
[POST] https://api.j-payment.co.jp/v1.0/account_transfer/users
顧客情報を登録します。
ボディパラメータ
{
"phone": "string",
"email": "string"
}
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 認証用ヘッダ | X-Payment-API-Key | 半角数字 | 〇 | - | 認証用ヘッダ |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 電話番号 | phone | 半角数字 | × | 20バイト以下 | エンドユーザーの電話番号 |
| Eメールアドレス | 半角英数記号 | × | 100バイト以下 | エンドユーザーのEメールアドレス |
Example responses
200 Response
{"customer_id":0,"phone":"string","email":"string","status":0,"created_date":"2019-08-24T14:15:22Z"}
{
"customer_id": 0,
"phone": "string",
"email": "string",
"status": 0,
"created_date": "2019-08-24T14:15:22Z"
}
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 顧客番号 | customer_id | 半角数字 | 10 | 顧客ごとに発行される一意の番号 |
| 電話番号 | phone | 半角数字 | 20バイト以下 | エンドユーザーの電話番号 |
| Eメールアドレス | 半角英数記号 | 100バイト以下 | エンドユーザーのEメールアドレス | |
| 状態 | status | 半角数字 | 1 | 顧客情報の有効ステータス0:無効1:有効 |
| 登録日 | created_date | 半角英数 | 19 | 登録日yyyy-MM-ddTHH:mm:ss |
resona-account-transfer/add/add-billing.md 登録 請求 REST API
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
# You can also use wget
curl -X POST /v1.0/account_transfer/demands \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'X-Payment-API-Key: undefined'
POST /v1.0/account_transfer/demands HTTP/1.1
Content-Type: application/json
Accept: text/plain
X-Payment-API-Key: undefined
const inputBody = '{
"customer_id": 0,
"amount": 0,
"tax": 0,
"ship_fee": 0,
"custom_code": "string",
"next_transfer": "string",
"transfer_type": 1,
"transfer_count": 0,
"status": 1,
"item_code": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'X-Payment-API-Key':undefined
};
fetch('/v1.0/account_transfer/demands',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => undefined
}
result = RestClient.post '/v1.0/account_transfer/demands',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'X-Payment-API-Key': undefined
}
r = requests.post('/v1.0/account_transfer/demands', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => 'undefined',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1.0/account_transfer/demands', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1.0/account_transfer/demands");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"X-Payment-API-Key": []string{"undefined"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1.0/account_transfer/demands", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
[POST] https://api.j-payment.co.jp/v1.0/account_transfer/demands
指定した口座情報に対して、請求情報を新規登録します。
ボディパラメータ
{
"customer_id": 0,
"amount": 0,
"tax": 0,
"ship_fee": 0,
"custom_code": "string",
"next_transfer": "string",
"transfer_type": 1,
"transfer_count": 0,
"status": 1,
"item_code": "string"
}
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 認証用ヘッダ | X-Payment-API-Key | 半角数字 | 〇 | - | 認証用ヘッダ |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 顧客番号 | customer_id | 半角数字 | 〇 | 10 | 顧客ごとに発行される一意の番号 |
| 振替金額 | amount | 半角数字 | ※2 | 10バイト以下 | 振替金額 ※1 |
| 税額 | tax | 半角数字 | ※2 | 10バイト以下 | 税額 ※1 |
| 送料 | ship_fee | 半角数字 | ※2 | 10バイト以下 | 送料 ※1 |
| 商品コード | item_code | 半角英数記号 | ※2 | 50バイト以下 | サブスクペイで登録した商品コード |
| 店舗オーダー番号 | custom_code | 半角英数 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| 次回振替年月 | next_transfer | 半角英数 | × | 6 | 次回口座振替日yyyyMM省略時は次月が適用されます。 |
| 動作タイプ | transfer_type | 半角数字 | × | 1 | 口座振替の動作タイプ ※31:単発2:連続3:従量省略時は 1:単発が適用されます。 |
| 回数指定 | transfer_count | 半角数字 | ※4 | 2 | 口座振替の回数 |
| 請求状態 | status | 半角数字 | × | 1 | 請求情報の状態ステータス0:停止中1:稼働中指定した次回振替年月の請求データ登録締切日が過ぎていた場合は、 0:停止中が適用されます。 |
※1:振替金額・税額・送料を合わせた金額が振替総額となります。
※2:振替金額(金額・税額・送料)、商品コードのどちらかが必須となります。
どちらも指定がある場合は商品コードが優先されます。
※3:口座振替の動作タイプについて、詳細は以下をご参照ください。
【機能解説】口座振替の3つの動作タイプ
※4:口座振替の動作タイプ「2」「3」の場合に必須となります。
Example responses
200 Response
{"request_id":0,"amount":0,"tax":0,"ship_fee":0,"custom_code":"string","next_transfer":"string","transfer_type":0,"transfer_count":0,"status":0,"item_code":"string","created_date":"2019-08-24T14:15:22Z"}
{
"request_id": 0,
"amount": 0,
"tax": 0,
"ship_fee": 0,
"custom_code": "string",
"next_transfer": "string",
"transfer_type": 0,
"transfer_count": 0,
"status": 0,
"item_code": "string",
"created_date": "2019-08-24T14:15:22Z"
}
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 請求番号 | request_id | 半角数字 | 10 | 請求ごとに発行される一意の番号 |
| 振替金額 | amount | 半角数字 | 10バイト以下 | リクエスト時に指定した振替金額 |
| 税額 | tax | 半角数字 | 10バイト以下 | リクエスト時に指定した税額 |
| 送料 | ship_fee | 半角数字 | 10バイト以下 | リクエスト時に指定した送料 |
| 商品コード | item_code | 半角英数記号 | 50バイト以下 | リクエスト時に指定した商品コード |
| 店舗オーダー番号 | custom_code | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 次回振替年月 | next_transfer | 半角英数 | 6 | リクエスト時に指定した次回振替年月yyyyMM |
| 動作タイプ | transfer_type | 半角数字 | 1 | リクエスト時に指定した口座振替の動作タイプ1:単発2:連続3:従量 |
| 回数指定 | transfer_count | 半角数字 | 2 | リクエスト時に指定した口座振替の回数 |
| 請求状態 | status | 半角数字 | 1 | リクエスト時に指定した請求情報の状態ステータス0:停止中1:稼働中 |
| 登録日 | created_date | 半角英数 | 19 | 登録日yyyy-MM-ddTHH:mm:ss |
resona-account-transfer/add/register-web-account.md 登録 口座(WEB方式) REST API
りそな口座振替 WEB方式について、詳細は以下をご参照ください。
【りそな口座振替】WEB方式の概要と利用方法(REST API連携向け)
resona-account-transfer/update/title.md 登録/更新
resona-account-transfer/update/update-transfer-form-others.md 登録/更新 口座(依頼書方式 他行) REST API
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
# You can also use wget
curl -X POST /v1.0/account_transfer/bank_accounts/bank/{customer_id} \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'X-Payment-API-Key: undefined'
POST /v1.0/account_transfer/bank_accounts/bank/{customer_id} HTTP/1.1
Content-Type: application/json
Accept: text/plain
X-Payment-API-Key: undefined
const inputBody = '{
"bank_code": "stri",
"bank_office_code": "str",
"account_type": 2,
"account_number": "string",
"account_name": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'X-Payment-API-Key':undefined
};
fetch('/v1.0/account_transfer/bank_accounts/bank/{customer_id}',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => undefined
}
result = RestClient.post '/v1.0/account_transfer/bank_accounts/bank/{customer_id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'X-Payment-API-Key': undefined
}
r = requests.post('/v1.0/account_transfer/bank_accounts/bank/{customer_id}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => 'undefined',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1.0/account_transfer/bank_accounts/bank/{customer_id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1.0/account_transfer/bank_accounts/bank/{customer_id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"X-Payment-API-Key": []string{"undefined"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1.0/account_transfer/bank_accounts/bank/{customer_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
[POST] https://api.j-payment.co.jp/v1.0/account_transfer/bank_accounts/bank/{customer_id}
ゆうちょ銀行以外の金融機関を対象に、口座振替依頼書に基づく口座情報の登録・更新を行います。
ボディパラメータ
{
"bank_code": "stri",
"bank_office_code": "str",
"account_type": 2,
"account_number": "string",
"account_name": "string"
}
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 認証用ヘッダ | X-Payment-API-Key | 半角数字 | 〇 | - | 認証用ヘッダ |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 金融機関コード | bank_code | 半角数字 | 〇 | 4 | 金融機関コード |
| 支店コード | bank_office_code | 半角数字 | 〇 | 3 | 支店コード |
| 預金種目 | account_type | 半角数字 | 〇 | 1 | 預金種目0:なし1:普通預金2:当座預金 |
| 口座番号 | account_number | 半角数字 | 〇 | 7 | 口座番号 |
| 口座名義 | account_name | 半角英数カナ | 〇 | 30文字以下 | 口座名義 |
Example responses
200 Response
{"customer_id":0,"bank_code":"string","bank_office_code":"string","account_type":0,"account_number":"string","account_name":"string","regist_status":0,"created_date":"2019-08-24T14:15:22Z","updated_date":"2019-08-24T14:15:22Z"}
{
"customer_id": 0,
"bank_code": "string",
"bank_office_code": "string",
"account_type": 0,
"account_number": "string",
"account_name": "string",
"regist_status": 0,
"created_date": "2019-08-24T14:15:22Z",
"updated_date": "2019-08-24T14:15:22Z"
}
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 顧客番号 | customer_id | 半角数字 | 10 | 顧客ごとに発行される一意の番号 |
| 金融機関コード | bank_code | 半角数字 | 4 | リクエスト時に指定した金融機関コード |
| 支店コード | bank_office_code | 半角数字 | 3 | リクエスト時に指定した支店コード |
| 預金種目 | account_type | 半角数字 | 1 | リクエスト時に指定した預金種目0:なし1:普通預金2:当座預金 |
| 口座番号 | account_number | 半角数字 | 7 | リクエスト時に指定した口座番号 |
| 口座名義 | account_name | 半角英数カナ | 30文字以下 | リクエスト時に指定した口座名義 |
| 登録状態 | regist_status | 半角数字 | 1 | Web口座振替の登録ステータス0:対象外 |
| 登録日 | created_date | 半角英数 | 19 | 登録日yyyy-MM-ddTHH:mm:ss |
| 最終更新日 | updated_date | 半角英数 | 19 | 最終更新日yyyy-MM-ddTHH:mm:ss |
resona-account-transfer/update/update-transfer-form-yucho.md 登録/更新 口座(依頼書方式 ゆうちょ) REST API
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
# You can also use wget
curl -X POST /v1.0/account_transfer/bank_accounts/jp_bank/{customer_id} \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'X-Payment-API-Key: undefined'
POST /v1.0/account_transfer/bank_accounts/jp_bank/{customer_id} HTTP/1.1
Content-Type: application/json
Accept: text/plain
X-Payment-API-Key: undefined
const inputBody = '{
"account_number": "string",
"code_number": "str",
"account_name": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'X-Payment-API-Key':undefined
};
fetch('/v1.0/account_transfer/bank_accounts/jp_bank/{customer_id}',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => undefined
}
result = RestClient.post '/v1.0/account_transfer/bank_accounts/jp_bank/{customer_id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'X-Payment-API-Key': undefined
}
r = requests.post('/v1.0/account_transfer/bank_accounts/jp_bank/{customer_id}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => 'undefined',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1.0/account_transfer/bank_accounts/jp_bank/{customer_id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1.0/account_transfer/bank_accounts/jp_bank/{customer_id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"X-Payment-API-Key": []string{"undefined"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1.0/account_transfer/bank_accounts/jp_bank/{customer_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
[POST] https://api.j-payment.co.jp/v1.0/account_transfer/bank_accounts/jp_bank/{customer_id}
ゆうちょ銀行を対象に、口座振替依頼書に基づく口座情報の登録・更新を行います。
ボディパラメータ
{
"account_number": "string",
"code_number": "str",
"account_name": "string"
}
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 認証用ヘッダ | X-Payment-API-Key | 半角数字 | 〇 | - | 認証用ヘッダ |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 記号 | code_number | 半角数字 | 〇 | 3 | 記号 5桁のうち、先頭と末尾を除いた中3桁を入力してください。 |
| 番号 | account_number | 半角数字 | 〇 | 7 | 番号 桁数にかかわらず、末尾 1を除いた数字を入力してください。6桁の場合は先頭に 0をつけてください。 |
| 口座名義 | account_name | 半角英数カナ | 〇 | 30文字以下 | 口座名義 |
Example responses
200 Response
{"customer_id":0,"account_number":"string","code_number":"string","account_name":"string","regist_status":0,"created_date":"2019-08-24T14:15:22Z","updated_date":"2019-08-24T14:15:22Z"}
{
"customer_id": 0,
"account_number": "string",
"code_number": "string",
"account_name": "string",
"regist_status": 0,
"created_date": "2019-08-24T14:15:22Z",
"updated_date": "2019-08-24T14:15:22Z"
}
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 顧客番号 | customer_id | 半角数字 | 10 | 顧客ごとに発行される一意の番号 |
| 記号 | code_number | 半角数字 | 3 | リクエスト時に指定した記号 |
| 番号 | account_number | 半角数字 | 7 | リクエスト時に指定した番号 |
| 口座名義 | account_name | 半角英数カナ | 30文字以下 | リクエスト時に指定した口座名義 |
| 登録状態 | regist_status | 半角数字 | 1 | Web口座振替の登録ステータス0:対象外 |
| 登録日 | created_date | 半角英数 | 19 | 登録日yyyy-MM-ddTHH:mm:ss |
| 最終更新日 | updated_date | 半角英数 | 19 | 最終更新日yyyy-MM-ddTHH:mm:ss |
resona-account-transfer/change/title.md 更新
resona-account-transfer/change/change-customer.md 更新 顧客 REST API
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
# You can also use wget
curl -X POST /v1.0/account_transfer/users/{customer_id} \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'X-Payment-API-Key: undefined'
POST /v1.0/account_transfer/users/{customer_id} HTTP/1.1
Content-Type: application/json
Accept: text/plain
X-Payment-API-Key: undefined
const inputBody = '{
"phone": "string",
"email": "string",
"status": 1
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'X-Payment-API-Key':undefined
};
fetch('/v1.0/account_transfer/users/{customer_id}',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => undefined
}
result = RestClient.post '/v1.0/account_transfer/users/{customer_id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'X-Payment-API-Key': undefined
}
r = requests.post('/v1.0/account_transfer/users/{customer_id}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => 'undefined',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1.0/account_transfer/users/{customer_id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1.0/account_transfer/users/{customer_id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"X-Payment-API-Key": []string{"undefined"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1.0/account_transfer/users/{customer_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
[POST] https://api.j-payment.co.jp/v1.0/account_transfer/users/{customer_id}
すでに登録されている顧客情報に対して、内容の修正や変更を行います。
ボディパラメータ
{
"phone": "string",
"email": "string",
"status": 1
}
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 認証用ヘッダ | X-Payment-API-Key | 半角数字 | 〇 | - | 認証用ヘッダ |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 電話番号 | phone | 半角数字 | × | 20バイト以下 | エンドユーザーの電話番号 |
| Eメールアドレス | 半角英数記号 | × | 100バイト以下 | エンドユーザーのEメールアドレス | |
| 状態 | status | 半角数字 | - | 1 | 顧客情報の有効ステータス0:無効1:有効 |
Example responses
200 Response
{"customer_id":0,"phone":"string","email":"string","status":0,"created_date":"2019-08-24T14:15:22Z","updated_date":"2019-08-24T14:15:22Z"}
{
"customer_id": 0,
"phone": "string",
"email": "string",
"status": 0,
"created_date": "2019-08-24T14:15:22Z",
"updated_date": "2019-08-24T14:15:22Z"
}
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 顧客番号 | customer_id | 半角数字 | 10 | 顧客ごとに発行される一意の番号 |
| 電話番号 | phone | 半角数字 | 20バイト以下 | エンドユーザーの電話番号 |
| Eメールアドレス | 半角英数記号 | 100バイト以下 | エンドユーザーのEメールアドレス | |
| 状態 | status | 半角数字 | 1 | 顧客情報の有効ステータス0:無効1:有効 |
| 登録日 | created_date | 半角英数 | 19 | 登録日yyyy-MM-ddTHH:mm:ss |
| 最終更新日 | updated_date | 半角英数 | 19 | 最終更新日yyyy-MM-ddTHH:mm:ss |
resona-account-transfer/change/change-billing.md 更新 請求 REST API
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
# You can also use wget
curl -X POST /v1.0/account_transfer/demands/{request_id} \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'X-Payment-API-Key: undefined'
POST /v1.0/account_transfer/demands/{request_id} HTTP/1.1
Content-Type: application/json
Accept: text/plain
X-Payment-API-Key: undefined
const inputBody = '{
"customer_id": 0,
"amount": 0,
"tax": 0,
"ship_fee": 0,
"custom_code": "string",
"next_transfer": "string",
"transfer_type": 1,
"transfer_count": 0,
"status": 1,
"item_code": "string"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'X-Payment-API-Key':undefined
};
fetch('/v1.0/account_transfer/demands/{request_id}',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => undefined
}
result = RestClient.post '/v1.0/account_transfer/demands/{request_id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'X-Payment-API-Key': undefined
}
r = requests.post('/v1.0/account_transfer/demands/{request_id}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => 'undefined',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1.0/account_transfer/demands/{request_id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1.0/account_transfer/demands/{request_id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"X-Payment-API-Key": []string{"undefined"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1.0/account_transfer/demands/{request_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
[POST] https://api.j-payment.co.jp/v1.0/account_transfer/demands/{request_id}
すでに登録されている請求情報に対して、内容の修正や変更を行います。
ボディパラメータ
{
"customer_id": 0,
"amount": 0,
"tax": 0,
"ship_fee": 0,
"custom_code": "string",
"next_transfer": "string",
"transfer_type": 1,
"transfer_count": 0,
"status": 1,
"item_code": "string"
}
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 認証用ヘッダ | X-Payment-API-Key | 半角数字 | 〇 | - | 認証用ヘッダ |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 請求番号 | request_id | 半角数字 | 〇 | 10 | 請求ごとに発行される一意の番号 |
| 顧客番号 | customer_id | 半角数字 | 〇 | 10 | 顧客ごとに発行される一意の番号 |
| 振替金額 | amount | 半角数字 | ※2 | 10バイト以下 | 振替金額 ※1 |
| 税額 | tax | 半角数字 | ※2 | 10バイト以下 | 税額 ※1 |
| 送料 | ship_fee | 半角数字 | ※2 | 10バイト以下 | 送料 ※1 |
| 商品コード | item_code | 半角英数記号 | ※2 | 50バイト以下 | サブスクペイで登録した商品コード |
| 店舗オーダー番号 | custom_code | 半角英数 | × | 50バイト以下 | 任意で設定できる管理用の値 |
| 次回振替年月 | next_transfer | 半角英数 | × | 6 | 次回口座振替日yyyyMM省略時は次月が適用されます。 |
| 動作タイプ | transfer_type | 半角数字 | × | 1 | 口座振替の動作タイプ ※31:単発2:連続3:従量 |
| 回数指定 | transfer_count | 半角数字 | ※4 | 2 | 口座振替の回数 |
| 請求状態 | status | 半角数字 | × | 1 | 請求情報の状態ステータス0:停止中1:稼働中 |
※1:振替金額・税額・送料を合わせた金額が振替総額となります。
※2:振替金額(金額・税額・送料)、商品コードのどちらかが必須となります。
どちらも指定がある場合は商品コードが優先されます。
※3:口座振替の動作タイプについて、詳細は以下をご参照ください。
【機能解説】口座振替の3つの動作タイプ
※4:口座振替の動作タイプ「2」「3」の場合に必須となります。
Example responses
200 Response
{"request_id":0,"amount":0,"tax":0,"ship_fee":0,"custom_code":"string","next_transfer":"string","transfer_type":0,"transfer_count":0,"status":0,"item_code":"string","created_date":"2019-08-24T14:15:22Z","updated_date":"2019-08-24T14:15:22Z"}
{
"request_id": 0,
"amount": 0,
"tax": 0,
"ship_fee": 0,
"custom_code": "string",
"next_transfer": "string",
"transfer_type": 0,
"transfer_count": 0,
"status": 0,
"item_code": "string",
"created_date": "2019-08-24T14:15:22Z",
"updated_date": "2019-08-24T14:15:22Z"
}
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 請求番号 | request_id | 半角数字 | 10 | 請求ごとに発行される一意の番号 |
| 振替金額 | amount | 半角数字 | 10バイト以下 | リクエスト時に指定した振替金額 |
| 税額 | tax | 半角数字 | 10バイト以下 | リクエスト時に指定した税額 |
| 送料 | ship_fee | 半角数字 | 10バイト以下 | リクエスト時に指定した送料 |
| 商品コード | item_code | 半角英数記号 | 50バイト以下 | リクエスト時に指定した商品コード |
| 店舗オーダー番号 | custom_code | 半角英数 | 50バイト以下 | リクエスト時に指定した店舗オーダー番号 |
| 次回振替年月 | next_transfer | 半角英数 | 6 | リクエスト時に指定した次回振替年月yyyyMM |
| 動作タイプ | transfer_type | 半角数字 | 1 | リクエスト時に指定した口座振替の動作タイプ1:単発2:連続3:従量 |
| 回数指定 | transfer_count | 半角数字 | 2 | リクエスト時に指定した口座振替の回数 |
| 請求状態 | status | 半角数字 | 1 | リクエスト時に指定した請求情報の状態ステータス0:停止中1:稼働中 |
| 登録日 | created_date | 半角英数 | 19 | 登録日yyyy-MM-ddTHH:mm:ss |
| 最終更新日 | updated_date | 半角英数 | 19 | 最終更新日yyyy-MM-ddTHH:mm:ss |
resona-account-transfer/search/title.md 参照
resona-account-transfer/search/get-account.md 単件取得 口座 REST API
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
# You can also use wget
curl -X GET /v1.0/account_transfer/bank_accounts/{customer_id} \
-H 'Accept: text/plain' \
-H 'X-Payment-API-Key: undefined'
GET /v1.0/account_transfer/bank_accounts/{customer_id} HTTP/1.1
Accept: text/plain
X-Payment-API-Key: undefined
const headers = {
'Accept':'text/plain',
'X-Payment-API-Key':undefined
};
fetch('/v1.0/account_transfer/bank_accounts/{customer_id}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'text/plain',
'X-Payment-API-Key' => undefined
}
result = RestClient.get '/v1.0/account_transfer/bank_accounts/{customer_id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'text/plain',
'X-Payment-API-Key': undefined
}
r = requests.get('/v1.0/account_transfer/bank_accounts/{customer_id}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'text/plain',
'X-Payment-API-Key' => 'undefined',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1.0/account_transfer/bank_accounts/{customer_id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1.0/account_transfer/bank_accounts/{customer_id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"text/plain"},
"X-Payment-API-Key": []string{"undefined"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1.0/account_transfer/bank_accounts/{customer_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
[GET] https://api.j-payment.co.jp/v1.0/account_transfer/bank_accounts/{customer_id}
顧客番号を指定し、現在登録されている口座情報を取得します。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 認証用ヘッダ | X-Payment-API-Key | 半角数字 | 〇 | - | 認証用ヘッダ |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 顧客番号 | customer_id | 半角数字 | 〇 | 10 | 顧客ごとに発行される一意の番号 |
Example responses
200 Response
{"customer_id":0,"bank_code":"string","bank_name":"string","bank_office_code":"string","bank_office_name":"string","account_type":0,"account_number":"string","account_name":"string","regist_status":0,"created_date":"2019-08-24T14:15:22Z","updated_date":"2019-08-24T14:15:22Z","corptr_date":"2019-08-24T14:15:22Z"}
{
"customer_id": 0,
"bank_code": "string",
"bank_name": "string",
"bank_office_code": "string",
"bank_office_name": "string",
"account_type": 0,
"account_number": "string",
"account_name": "string",
"regist_status": 0,
"created_date": "2019-08-24T14:15:22Z",
"updated_date": "2019-08-24T14:15:22Z",
"corptr_date": "2019-08-24T14:15:22Z"
}
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 顧客番号 | customer_id | 半角数字 | 10 | 顧客ごとに発行される一意の番号 |
| 金融機関コード | bank_code | 半角数字 | 4 | 金融機関コード |
| 金融機関名 | bank_name | 全角 | 100文字以下 | 金融機関名 |
| 支店コード | bank_office_code | 半角数字 | 3 | 支店コード |
| 支店名 | bank_office_name | 全角 | 100文字以下 | 支店名 |
| 預金種目 | account_type | 半角数字 | 1 | 預金種目0:なし1:普通預金2:当座預金 |
| 口座番号 | account_number | 半角数字 | 8 | 口座番号 |
| 口座名義 | account_name | 半角英数カナ | 30文字以下 | 口座名義 |
| 登録状態 | regist_status | 半角数字 | 1 | Web口座振替の登録ステータス0:対象外1:処理中2:登録完了3:金融機関失敗4:口振受付GW失敗5:未登録 |
| 登録日 | created_date | 半角英数 | 19 | 登録日yyyy-MM-ddTHH:mm:ss |
| 最終更新日 | updated_date | 半角英数 | 19 | 最終更新日yyyy-MM-ddTHH:mm:ss |
| 収納機関取扱年月日 | corptr_date | 半角英数 | 19 | 収納機関取扱年月日yyyy-MM-ddTHH:mm:ss |
resona-account-transfer/search/search-account.md 一覧検索 口座 REST API
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
# You can also use wget
curl -X GET /v1.0/account_transfer/bank_accounts/search \
-H 'Accept: text/plain' \
-H 'X-Payment-API-Key: undefined'
GET /v1.0/account_transfer/bank_accounts/search HTTP/1.1
Accept: text/plain
X-Payment-API-Key: undefined
const headers = {
'Accept':'text/plain',
'X-Payment-API-Key':undefined
};
fetch('/v1.0/account_transfer/bank_accounts/search',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'text/plain',
'X-Payment-API-Key' => undefined
}
result = RestClient.get '/v1.0/account_transfer/bank_accounts/search',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'text/plain',
'X-Payment-API-Key': undefined
}
r = requests.get('/v1.0/account_transfer/bank_accounts/search', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'text/plain',
'X-Payment-API-Key' => 'undefined',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1.0/account_transfer/bank_accounts/search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1.0/account_transfer/bank_accounts/search");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"text/plain"},
"X-Payment-API-Key": []string{"undefined"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1.0/account_transfer/bank_accounts/search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
[GET] https://api.j-payment.co.jp/v1.0/account_transfer/bank_accounts/search
指定した条件に合致する口座情報を検索し、一覧で取得します。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 認証用ヘッダ | X-Payment-API-Key | 半角数字 | 〇 | - | 認証用ヘッダ |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 取得件数 | maxs | 半角数字 | × | 4 | 検索結果の最大取得件数 最大1,000件まで取得できます。 省略時は 1000が適用されます。 |
| インデックス番号 | index | 半角数字 | × | 4 | 取得するインデックス番号 省略時は 1が適用されます。 |
| 作成日時(開始日) | created_date_from | 半角英数 | × | 19 | 作成を開始した日時yyyy-MM-ddTHH:mm:ss |
| 作成日時(終了日) | created_date_to | 半角英数 | × | 19 | 作成を終了した日時yyyy-MM-ddTHH:mm:ss |
| 更新日時(開始日) | updated_date_from | 半角英数 | × | 19 | 更新を開始した日時yyyy-MM-ddTHH:mm:ss |
| 更新日時(終了日) | updated_date_to | 半角英数 | × | 19 | 更新を終了した日時yyyy-MM-ddTHH:mm:ss |
Example responses
200 Response
{"index":0,"total_index":0,"result_count":0,"total_count":0,"details":[{"customer_id":0,"bank_code":"string","bank_name":"string","bank_office_code":"string","bank_office_name":"string","account_type":0,"account_number":"string","account_name":"string","regist_status":0,"created_date":"2019-08-24T14:15:22Z","updated_date":"2019-08-24T14:15:22Z","corptr_date":"2019-08-24T14:15:22Z"}]}
{
"index": 0,
"total_index": 0,
"result_count": 0,
"total_count": 0,
"details": [
{
"customer_id": 0,
"bank_code": "string",
"bank_name": "string",
"bank_office_code": "string",
"bank_office_name": "string",
"account_type": 0,
"account_number": "string",
"account_name": "string",
"regist_status": 0,
"created_date": "2019-08-24T14:15:22Z",
"updated_date": "2019-08-24T14:15:22Z",
"corptr_date": "2019-08-24T14:15:22Z"
}
]
}
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| インデックス番号 | index | 半角数字 | - | リクエスト時に指定したインデックス番号 |
| 総インデックス番号数 | total_index | 半角数字 | - | 全体のインデックス番号数 |
| 結果件数 | result_count | 半角数字 | - | 検索結果件数 |
| 総件数 | total_count | 半角数字 | - | 総件数 |
| 顧客番号 | customer_id | 半角数字 | 10 | 顧客ごとに発行される一意の番号 |
| 金融機関コード | bank_code | 半角数字 | 4 | 金融機関コード |
| 金融機関名 | bank_name | 全角 | 100文字以下 | 金融機関名 |
| 支店コード | bank_office_code | 半角数字 | 3 | 支店コード |
| 支店名 | bank_office_name | 全角 | 100文字以下 | 支店名 |
| 預金種目 | account_type | 半角数字 | 1 | 預金種目0:なし1:普通預金2:当座預金 |
| 口座番号 | account_number | 半角数字 | 7 | 口座番号 |
| 口座名義 | account_name | 半角英数カナ | 30文字以下 | 口座名義 |
| 登録状態 | regist_status | 半角数字 | 1 | Web口座振替の登録ステータス0:対象外1:処理中2:登録完了3:金融機関失敗4:口振受付GW失敗5:未登録 |
| 登録日 | created_date | 半角英数 | 19 | 登録日yyyy-MM-ddTHH:mm:ss |
| 最終更新日 | updated_date | 半角英数 | 19 | 最終更新日yyyy-MM-ddTHH:mm:ss |
| 収納機関取扱年月日 | corptr_date | 半角英数 | 19 | 収納機関取扱年月日yyyy-MM-ddTHH:mm:ss |
resona-account-transfer/search/search-billing.md 一覧検索 請求 REST API
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
# You can also use wget
curl -X GET /v1.0/account_transfer/demands/search \
-H 'Accept: text/plain' \
-H 'X-Payment-API-Key: undefined'
GET /v1.0/account_transfer/demands/search HTTP/1.1
Accept: text/plain
X-Payment-API-Key: undefined
const headers = {
'Accept':'text/plain',
'X-Payment-API-Key':undefined
};
fetch('/v1.0/account_transfer/demands/search',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'text/plain',
'X-Payment-API-Key' => undefined
}
result = RestClient.get '/v1.0/account_transfer/demands/search',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'text/plain',
'X-Payment-API-Key': undefined
}
r = requests.get('/v1.0/account_transfer/demands/search', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'text/plain',
'X-Payment-API-Key' => 'undefined',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1.0/account_transfer/demands/search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1.0/account_transfer/demands/search");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"text/plain"},
"X-Payment-API-Key": []string{"undefined"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1.0/account_transfer/demands/search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
[GET] https://api.j-payment.co.jp/v1.0/account_transfer/demands/search
指定した条件に合致する請求情報を検索し、一覧で取得します。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 認証用ヘッダ | X-Payment-API-Key | 半角数字 | 〇 | - | 認証用ヘッダ |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 取得件数 | maxs | 半角数字 | × | 4 | 検索結果の最大取得件数 最大1,000件まで取得できます。 省略時は 1000が適用されます。 |
| インデックス番号 | index | 半角数字 | × | 4 | 取得するインデックス番号 省略時は 1が適用されます。 |
| 作成日時(開始日) | created_date_from | 半角英数 | × | 19 | 作成を開始した日時yyyy-MM-ddTHH:mm:ss |
| 作成日時(終了日) | created_date_to | 半角英数 | × | 19 | 作成を終了した日時yyyy-MM-ddTHH:mm:ss |
| 更新日時(開始日) | updated_date_from | 半角英数 | × | 19 | 更新を開始した日時yyyy-MM-ddTHH:mm:ss |
| 更新日時(終了日) | updated_date_to | 半角英数 | × | 19 | 更新を終了した日時yyyy-MM-ddTHH:mm:ss |
Example responses
200 Response
{"index":0,"total_index":0,"result_count":0,"total_count":0,"details":[{"request_id":0,"customer_id":0,"amount":0,"tax":0,"ship_fee":0,"custom_code":"string","next_transfer":"string","transfer_type":0,"transfer_count":0,"success_count":0,"failure_count":0,"status":0,"item_code":"string","created_date":"2019-08-24T14:15:22Z","updated_date":"2019-08-24T14:15:22Z"}]}
{
"index": 0,
"total_index": 0,
"result_count": 0,
"total_count": 0,
"details": [
{
"request_id": 0,
"customer_id": 0,
"amount": 0,
"tax": 0,
"ship_fee": 0,
"custom_code": "string",
"next_transfer": "string",
"transfer_type": 0,
"transfer_count": 0,
"success_count": 0,
"failure_count": 0,
"status": 0,
"item_code": "string",
"created_date": "2019-08-24T14:15:22Z",
"updated_date": "2019-08-24T14:15:22Z"
}
]
}
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| インデックス番号 | index | 半角数字 | - | リクエスト時に指定したインデックス番号 |
| 総インデックス番号数 | total_index | 半角数字 | - | 全体のインデックス番号数 |
| 結果件数 | result_count | 半角数字 | - | 今回取得した結果の件数 |
| 総件数 | total_count | 半角数字 | - | 取得対象となる全体の総件数 |
| 請求情報 | details | 配列 | - | 以下の請求情報オブジェクトのリスト |
| 請求番号 | request_id | 半角数字 | 10 | 請求ごとに発行される一意の番号 |
| 顧客番号 | customer_id | 半角数字 | 10 | 顧客ごとに発行される一意の番号 |
| 振替金額 | amount | 半角数字 | 10バイト以下 | 振替金額 |
| 税額 | tax | 半角数字 | 10バイト以下 | 税額 |
| 送料 | ship_fee | 半角数字 | 10バイト以下 | 送料 |
| 店舗オーダー番号 | custom_code | 半角英数 | 50バイト以下 | 店舗オーダー番号 |
| 次回振替年月 | next_transfer | 半角英数 | 6 | 次回振替年月yyyyMM |
| 動作タイプ | transfer_type | 半角数字 | 1 | 口座振替の動作タイプ ※11:単発2:連続3:従量 |
| 回数指定 | transfer_count | 半角数字 | 10 | 口座振替の回数 |
| 成功回数 | success_count | 半角数字 | 10 | 口座振替の成功回数 |
| 失敗回数 | failure_count | 半角数字 | 10 | 口座振替の失敗回数 |
| 請求状態 | status | 半角数字 | 1 | 請求情報の状態ステータス0:停止中1:稼働中 |
| 商品コード | item_code | 半角英数記号 | 50バイト以下 | 商品コード |
| 登録日 | created_date | 半角英数 | 19 | 登録日yyyy-MM-ddTHH:mm:ss |
| 最終更新日 | updated_date | 半角英数 | 19 | 最終更新日yyyy-MM-ddTHH:mm:ss |
※1:口座振替の動作タイプについて、詳細は以下をご参照ください。
【機能解説】口座振替の3つの動作タイプ
resona-account-transfer/search/search-transfer-result.md 一覧検索 振替結果 REST API
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
# You can also use wget
curl -X GET /v1.0/account_transfer/transfers/search \
-H 'Accept: text/plain' \
-H 'X-Payment-API-Key: undefined'
GET /v1.0/account_transfer/transfers/search HTTP/1.1
Accept: text/plain
X-Payment-API-Key: undefined
const headers = {
'Accept':'text/plain',
'X-Payment-API-Key':undefined
};
fetch('/v1.0/account_transfer/transfers/search',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'text/plain',
'X-Payment-API-Key' => undefined
}
result = RestClient.get '/v1.0/account_transfer/transfers/search',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'text/plain',
'X-Payment-API-Key': undefined
}
r = requests.get('/v1.0/account_transfer/transfers/search', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Accept' => 'text/plain',
'X-Payment-API-Key' => 'undefined',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('GET','/v1.0/account_transfer/transfers/search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1.0/account_transfer/transfers/search");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"text/plain"},
"X-Payment-API-Key": []string{"undefined"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("GET", "/v1.0/account_transfer/transfers/search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
[GET] https://api.j-payment.co.jp/v1.0/account_transfer/transfers/search
指定した条件に合致する振替結果を検索し、一覧で取得します。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 認証用ヘッダ | X-Payment-API-Key | 半角数字 | 〇 | - | 認証用ヘッダ |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 取得件数 | maxs | 半角数字 | × | 4 | 検索結果の最大取得件数 最大1,000件まで取得できます。 省略時は 1000が適用されます。 |
| インデックス番号 | index | 半角数字 | × | 4 | 取得するインデックス番号 省略時は 1が適用されます。 |
| 顧客番号 | customer_id | 半角数字 | 10 | 顧客ごとに発行される一意の番号 | |
| 作成日時(開始日) | created_date_from | 半角英数 | × | 19 | 作成を開始した日時yyyy-MM-ddTHH:mm:ss |
| 作成日時(終了日) | created_date_to | 半角英数 | × | 19 | 作成を終了した日時yyyy-MM-ddTHH:mm:ss |
| 更新日時(開始日) | updated_date_from | 半角英数 | × | 19 | 更新を開始した日時yyyy-MM-ddTHH:mm:ss |
| 更新日時(終了日) | updated_date_to | 半角英数 | × | 19 | 更新を終了した日時yyyy-MM-ddTHH:mm:ss |
Example responses
200 Response
{"index":0,"total_index":0,"result_count":0,"total_count":0,"details":[{"result_id":0,"request_id":0,"customer_id":0,"bank_code":"string","bank_name_fri":"string","bank_office_code":"string","account_type":0,"account_number":"string","account_name_fri":"string","transfer_amount":0,"new_code":0,"result_code":"string","ginix_id":0,"transfer_date":"2019-08-24T14:15:22Z","created_date":"2019-08-24T14:15:22Z","updated_date":"2019-08-24T14:15:22Z"}]}
{
"index": 0,
"total_index": 0,
"result_count": 0,
"total_count": 0,
"details": [
{
"result_id": 0,
"request_id": 0,
"customer_id": 0,
"bank_code": "string",
"bank_name_fri": "string",
"bank_office_code": "string",
"account_type": 0,
"account_number": "string",
"account_name_fri": "string",
"transfer_amount": 0,
"new_code": 0,
"result_code": "string",
"ginix_id": 0,
"transfer_date": "2019-08-24T14:15:22Z",
"created_date": "2019-08-24T14:15:22Z",
"updated_date": "2019-08-24T14:15:22Z"
}
]
}
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| インデックス番号 | index | 半角数字 | - | リクエスト時に指定したインデックス番号 |
| 総インデックス番号数 | total_index | 半角数字 | - | 全体のインデックス番号数 |
| 結果件数 | result_count | 半角数字 | - | 検索結果件数 |
| 総件数 | total_count | 半角数字 | - | 総件数 |
| 振替結果番号 | result_id | 半角数字 | 10 | 口座振替ごとに発行される一意の番号 |
| 請求番号 | request_id | 半角数字 | 10 | 請求ごとに発行される一意の番号 |
| 顧客番号 | customer_id | 半角数字 | 10 | 顧客ごとに発行される一意の番号 |
| 金融機関コード | bank_code | 半角数字 | 4 | 金融機関コード |
| 金融機関名カナ | bank_name_fri | 半角カナ | 15文字以下 | 金融機関名カナ |
| 支店コード | bank_office_code | 半角数字 | 3 | 支店コード |
| 預金種目 | account_type | 半角数字 | 1 | 預金種目0:なし1:普通預金2:当座預金 |
| 口座番号 | account_number | 半角数字 | 7 | 口座番号 |
| 口座名義カナ | account_name_fri | 半角英数カナ | 30文字以下 | 口座名義 |
| 振替金額 | transfer_amount | 半角数字 | 10バイト以下 | 振替金額 |
| 新規コード | new_code | 半角数字 | 1 | 新規コード 本項目はシステム内部処理の都合により返却されますが、参照は不要です。 |
| 振替結果コード | result_code | 半角数字 | 1 | 振替結果半角スペース:振替待ち0:振替済み1:振替失敗(資金不足)2:振替失敗(取引なし)3:振替失敗(預金者都合)4:振替失敗(口座振替なし)8:振替失敗(委託者都合)9:振替失敗(その他) |
| 決済番号 | ginix_id | 半角数字 | 10 | - |
| 振替日 | transfer_date | 半角英数 | 19 | 振替日yyyy-MM-ddTHH:mm:ss |
| 登録日 | created_date | 半角英数 | 19 | 登録日yyyy-MM-ddTHH:mm:ss |
| 最終更新日 | updated_date | 半角英数 | 19 | 最終更新日yyyy-MM-ddTHH:mm:ss |
resona-account-transfer/download/title.md ダウンロード
resona-account-transfer/account/download-transfer-form.md ダウンロード 依頼書(依頼書方式) REST API
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
# You can also use wget
curl -X POST /v1.0/account_transfer/pdfs/{customer_id} \
-H 'X-Payment-API-Key: undefined'
POST /v1.0/account_transfer/pdfs/{customer_id} HTTP/1.1
X-Payment-API-Key: undefined
const headers = {
'X-Payment-API-Key':undefined
};
fetch('/v1.0/account_transfer/pdfs/{customer_id}',
{
method: 'POST',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'X-Payment-API-Key' => undefined
}
result = RestClient.post '/v1.0/account_transfer/pdfs/{customer_id}',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'X-Payment-API-Key': undefined
}
r = requests.post('/v1.0/account_transfer/pdfs/{customer_id}', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'X-Payment-API-Key' => 'undefined',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1.0/account_transfer/pdfs/{customer_id}', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1.0/account_transfer/pdfs/{customer_id}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"X-Payment-API-Key": []string{"undefined"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1.0/account_transfer/pdfs/{customer_id}", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
[POST] https://api.j-payment.co.jp/v1.0/account_transfer/pdfs/{customer_id}
既に登録された顧客情報を元に、口座振替依頼書の PDF をダウンロードします。
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 認証用ヘッダ | X-Payment-API-Key | 半角数字 | 〇 | - | 認証用ヘッダ |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 顧客番号 | customer_id | 半角数字 | 〇 | 10 | 顧客ごとに発行される一意の番号 |
| 項目名 | データ形式 | 説明 |
|---|---|---|
| 口座振替依頼書 | PDFファイル (application/pdf) | 口座振替依頼書のPDFファイルデータ |
rest-api/payment-result/title.md 決済情報検索
rest-api/payment-result/rq-search-payment-result.md 検索依頼 REST API
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
# You can also use wget
curl -X POST /v1.0/charges/search/order \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'X-Payment-API-Key: undefined'
POST /v1.0/charges/search/order HTTP/1.1
Content-Type: application/json
Accept: text/plain
X-Payment-API-Key: undefined
const inputBody = '{
"isac": true,
"gid": 1,
"acid": 1,
"jb": [
"string"
],
"cdf": "2019-08-24T14:15:22Z",
"cdt": "2019-08-24T14:15:22Z",
"udf": "2019-08-24T14:15:22Z",
"udt": "2019-08-24T14:15:22Z"
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'X-Payment-API-Key':undefined
};
fetch('/v1.0/charges/search/order',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => undefined
}
result = RestClient.post '/v1.0/charges/search/order',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'X-Payment-API-Key': undefined
}
r = requests.post('/v1.0/charges/search/order', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => 'undefined',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1.0/charges/search/order', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1.0/charges/search/order");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"X-Payment-API-Key": []string{"undefined"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1.0/charges/search/order", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
[POST] https://api.j-payment.co.jp/v1.0/charges/search/order
決済情報の検索を非同期で受け付けます。
検索結果は、別途「結果取得」APIで取得してください。
※クレジットカード決済情報のみ検索可能です。
ボディパラメータ
{
"isac": true,
"gid": 1,
"acid": 1,
"jb": [
"string"
],
"cdf": "2019-08-24T14:15:22Z",
"cdt": "2019-08-24T14:15:22Z",
"udf": "2019-08-24T14:15:22Z",
"udt": "2019-08-24T14:15:22Z"
}
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 認証用ヘッダ | X-Payment-API-Key | 半角数字 | 〇 | - | 認証用ヘッダ |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 自動課金フラグ | isac | 真偽値 | × | - | 自動課金もしくは都度課金の指定true:自動課金false:都度課金および自動課金の初回決済省略時は false:都度課金が適用されます。 |
| 決済番号 | gid | 半角数字 | × | - | 決済ごとに発行される一意の番号 |
| 自動課金番号 | acid | 半角数字 | × | - | 自動課金ごとに発行される一意の番号 |
| ジョブタイプ | jb | 半角英字 | × | - | 決済処理の種類 ※1CHECK:有効性チェックAUTH:仮売上SALES:実売上CAPTURE:仮実同時売上CANCEL:取消 |
| 決済日時(開始日) | cdf | 半角英数 | × | 19 | 決済を開始した日時yyyy-MM-ddTHH:mm:ss ※2 |
| 決済日時(終了日) | cdt | 半角英数 | × | 19 | 決済を終了した日時yyyy-MM-ddTHH:mm:ss ※2 |
| 更新日時(開始日) | udf | 半角英数 | × | 19 | 更新を開始した日時yyyy-MM-ddTHH:mm:ss ※2 |
| 更新日時(終了日) | udt | 半角英数 | × | 19 | 更新を終了した日時yyyy-MM-ddTHH:mm:ss ※2 |
※1:決済処理の種類について、詳細は以下をご参照ください。
【クレジットカード】決済タイプの定義(有効性・仮売上・実売上・仮実同時)
※2:開始日と終了日を両方指定する場合は、期間を7日以内に設定してください。
片方のみ指定、または未指定の場合は期間の制限はありません。
Example responses
200 Response
{"sid":"string","tcnt":0}
{
"sid": "string",
"tcnt": 0
}
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 検索ID | sid | 半角英数 | - | 決済情報検索APIで指定する検索IDnull:検索結果が存在しない場合 |
| 件数 | tcnt | 半角数字 | - | 検索結果のデータ件数 |
rest-api/payment-result/get-payment-result.md 結果取得 REST API
リクエストサンプル: cURL, Ruby, Python, PHP, Java, Node.js, Go
# You can also use wget
curl -X POST /v1.0/charges/search \
-H 'Content-Type: application/json' \
-H 'Accept: text/plain' \
-H 'X-Payment-API-Key: undefined'
POST /v1.0/charges/search HTTP/1.1
Content-Type: application/json
Accept: text/plain
X-Payment-API-Key: undefined
const inputBody = '{
"sid": "string",
"maxs": 0,
"idx": 1,
"srt": {
"srtf": "string",
"srtd": "string"
}
}';
const headers = {
'Content-Type':'application/json',
'Accept':'text/plain',
'X-Payment-API-Key':undefined
};
fetch('/v1.0/charges/search',
{
method: 'POST',
body: inputBody,
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => undefined
}
result = RestClient.post '/v1.0/charges/search',
params: {
}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Content-Type': 'application/json',
'Accept': 'text/plain',
'X-Payment-API-Key': undefined
}
r = requests.post('/v1.0/charges/search', headers = headers)
print(r.json())
<?php
require 'vendor/autoload.php';
$headers = array(
'Content-Type' => 'application/json',
'Accept' => 'text/plain',
'X-Payment-API-Key' => 'undefined',
);
$client = new \GuzzleHttp\Client();
// Define array of request body.
$request_body = array();
try {
$response = $client->request('POST','/v1.0/charges/search', array(
'headers' => $headers,
'json' => $request_body,
)
);
print_r($response->getBody()->getContents());
}
catch (\GuzzleHttp\Exception\BadResponseException $e) {
// handle exception or api errors.
print_r($e->getMessage());
}
// ...
URL obj = new URL("/v1.0/charges/search");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Content-Type": []string{"application/json"},
"Accept": []string{"text/plain"},
"X-Payment-API-Key": []string{"undefined"},
}
data := bytes.NewBuffer([]byte{jsonReq})
req, err := http.NewRequest("POST", "/v1.0/charges/search", data)
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
[POST] https://api.j-payment.co.jp/v1.0/charges/search
「検索依頼」APIで受け付けた検索結果を取得します。
ボディパラメータ
{
"sid": "string",
"maxs": 0,
"idx": 1,
"srt": {
"srtf": "string",
"srtd": "string"
}
}
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 認証用ヘッダ | X-Payment-API-Key | 半角数字 | 〇 | - | 認証用ヘッダ |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 検索ID | sid | 半角英数 | 〇 | - | 決済情報検索受付APIで取得した検索ID |
| 取得件数 | maxs | 半角数字 | × | 4 | 検索結果の最大取得件数 最大1,000件まで取得できます。 省略時は 1000が適用されます。 |
| インデックス番号 | idx | 半角数字 | × | 4 | 取得するインデックス番号 省略時は 1が適用されます。 |
| ソート条件 | srt | オブジェクト | × | - | ソート条件 |
| ソート項目 | srt.srtf | 半角英数 | ※1 | - | ソート項目ID:決済番号AutoChargeID:自動課金番号CreatedDate:決済日時UpdatedDate:更新日時 |
| ソート順 | srt.srtd | 半角英数 | ※1 | - | ソート順ASC:昇順DESC:降順 |
※1:ソート条件を利用する場合に必須となります。
Example responses
200 Response
{"sid":"string","idx":0,"tidx":0,"rcnt":0,"tcnt":0,"dtls":[{"gid":0,"acid":0,"jb":"string","ct":0,"cn4":"string","am":0,"tx":0,"sf":0,"ta":0,"rst":0,"ec":"string","cod":"string","nad":"2019-08-24T14:15:22Z","cd":"2019-08-24T14:15:22Z","vd":"2019-08-24T14:15:22Z"}]}
{
"sid": "string",
"idx": 0,
"tidx": 0,
"rcnt": 0,
"tcnt": 0,
"dtls": [
{
"gid": 0,
"acid": 0,
"jb": "string",
"ct": 0,
"cn4": "string",
"am": 0,
"tx": 0,
"sf": 0,
"ta": 0,
"rst": 0,
"ec": "string",
"cod": "string",
"nad": "2019-08-24T14:15:22Z",
"cd": "2019-08-24T14:15:22Z",
"vd": "2019-08-24T14:15:22Z"
}
]
}
| 項目名 | キー名 | 型 | 桁数 | 説明 |
|---|---|---|---|---|
| 検索ID | sid | 半角英数 | - | リクエスト時に指定した検索ID |
| インデックス番号 | idx | 半角数字 | - | リクエスト時に指定したインデックス番号 |
| 総インデックス番号数 | tidx | 半角数字 | - | 全体のインデックス番号数 |
| 結果件数 | rcnt | 半角数字 | - | 検索結果件数 |
| 総件数 | tcnt | 半角数字 | - | 総件数 |
| 決済情報リスト | dtls | 配列 | - | 以下の決済情報オブジェクトのリスト |
| 決済番号 | gid | 半角数字 | - | 決済ごとに発行される一意の番号 |
| 自動課金番号 | acid | 半角数字 | - | 自動課金ごとに発行される一意の番号 |
| ジョブタイプ | jb | 半角英字 | - | 決済処理の種類CHECK:有効性チェックAUTH:仮売上SALES:実売上CAPTURE:仮実同時売上CANCEL:取消 |
| ブランド | ct | 半角数字 | - | カードブランド1:Visa2:Master3:JCB4:Amex5:Diners6:Discover0:その他 |
| カード番号(下4桁) | cn4 | 半角英数 | 4 | カード番号(下4桁) |
| 商品金額 | am | 半角数字 | - | 商品金額 |
| 税額 | tx | 半角数字 | - | 税額 |
| 送料 | sf | 半角数字 | - | 送料 |
| 合計金額 | ta | 半角数字 | - | 商品金額・税額・送料を合わせた決済総額 |
| 決済結果 | rst | 半角数字 | - | 決済処理の結果1:成功2:未処理3:決済待ち4:失敗5:エラー |
| エラーコード | ec | 半角英数 | - | エラー発生時のエラーコード 詳細は詳細はエラーコード一覧をご覧ください。 |
| 店舗オーダー番号 | cod | 半角英数 | - | - |
| 次回課金日 | nad | 半角数字記号 | 19 | 次回課金日yyyy-MM-ddTHH:mm:ssnull:存在しない場合 |
| 決済日時 | cd | 半角英数 | 19 | 決済日時yyyy-MM-ddTHH:mm:ss |
| 取消日時 | vd | 半角英数 | 19 | 取消日時yyyy-MM-ddTHH:mm:ssnull:未取消の場合 |
javascript/credit-card/javascript-overview.md JavaScript について
サブスクペイでは、加盟店のシステム環境で安全にクレジットカード決済を行っていただくために、クライアントサイドで動作するJavaScriptライブラリを提供しています。
本ライブラリを利用することで、クレジットカード情報の非保持化に対応した決済フローを容易に実装可能です。
javascript/credit-card/title.md クレジットカード
javascript/credit-card/token/title.md トークン
javascript/credit-card/token/popup.md ポップアップ方式
弊社が用意した決済画面を、エンドユーザーのブラウザ上にポップアップで呼び出す方式です。
入力されたカード情報は弊社サーバー側でトークン化され、加盟店システムへ返却されます。

| 接続先 | https://credit.j-payment.co.jp/gateway/js/CPToken.js |
| ファイル | CPToken.js |
| 関数 | CPToken.CardInfo(tokenRequest,callback) |
| 項目名 | 関数名 | 説明 |
|---|---|---|
| トークンリクエスト | tokenRequest | トークン作成に必要なパラメータ 詳細は下記を参照してください。 |
| コールバック | callback | トークン取得後にコールバックする関数 関数は ThreeDSAdapter.authenticateを指定してください。 |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
javascript/credit-card/token/customize.md カスタマイズ方式
加盟店のサイト内に独自のカード入力フォームを用意していただく方式です。
入力されたカード情報はJavaScriptを経由して弊社サーバーへ送信され、トークンに変換されて返却されます。

| 接続先 | https://credit.j-payment.co.jp/gateway/js/CPToken.js |
| ファイル | CPToken.js |
| 関数 | CPToken.TokenCreate(tokenRequest,callback) |
| 項目名 | 関数名 | 説明 |
|---|---|---|
| トークンリクエスト | tokenRequest | トークン作成に必要なパラメータ 詳細は下記を参照してください。 |
| コールバック | callback | トークン取得後にコールバックする関数 関数は ThreeDSAdapter.authenticateを指定してください。 |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| カード番号 | cn | 半角数字 | 〇 | - | カード番号 |
| カード有効期限 | ed | 半角数字 | 〇 | 4 | カードの有効期限YYMM |
| カード名義(名) | fn | 半角英数記号 | 〇 | ※1 | カード名義の名 記号はスペース、ピリオド、ハイフンのみです。 |
| カード名義(姓) | ln | 半角英数記号 | 〇 | ※1 | カード名義の姓 記号はスペース、ピリオド、ハイフンのみです。 |
| セキュリティコード | cvv | 半角数字 | ※2 | 3 ~ 4 | カード裏面の3桁(AMEXは表面4桁)の番号 |
| 支払方法 | md | 半角数字 | - | 2 | 支払方法10:一括払い61:分割払い ※380:リボ払い ※3省略時は 10:一括払いが適用されます。 |
| 分割回数 | pt | 半角数字 | ※4 | 1 ~ 2 | 分割回数3, 5, 6, 10, 12, 15, 18, 20, 24 から選択してください。 |
※1:名・姓の両方を合わせた合計文字数が44文字以内である必要があります。
※2:セキュリティコードを利用する場合は必須となります。
※3:「分割払い」および「リボ払い」を指定するには事前申請が必要です。
※4:支払方法で 61:分割払いを指定した場合は必須となります。
javascript/credit-card/3dsecure/title.md 3Dセキュア
javascript/credit-card/3dsecure/without-item-payment.md 決済 商品登録なし
商品金額・税額・送料を指定して決済を行います。
| 接続先 | https://credit.j-payment.co.jp/gateway/js/EMV3DSAdapter.js |
| ファイル | EMV3DSAdapter.js |
| 関数 | ThreeDSAdapter.authenticate(authenticateRequest,callback) |
| 項目名 | 関数名 | 説明 |
|---|---|---|
| 認証リクエスト | authenticateRequest | 3DS認証に必要なパラメータ 詳細は下記を参照してください。 |
| コールバック | callback | トークン取得後にコールバックする関数 決済処理を行う関数を指定してください。 |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| トークン情報 | tkn | 半角英数記号 | 〇 | - | トークン発行APIで取得したカード情報トークン |
| 商品金額 | am | 半角数字 | 〇 | - | 商品金額 ※1 |
| 税額 | tx | 半角数字 | 〇 | - | 税額 ※1 |
| 送料 | sf | 半角数字 | 〇 | - | 送料 ※1 |
| Eメールアドレス | em | 半角英数 | ※2 | 254バイト以下 | Eメールアドレス ※1 |
| 電話番号 | pn | 半角数字 | ※2 | 15バイト以下 | 電話番号 ※1 |
※1:決済処理と同じ値を指定してください。
※2:Eメールアドレス、電話番号のどちらかが必須となります。
| 項目名 | 説明 |
|---|---|
| 結果コード | 成功時:Success ※1失敗時:エラーコード |
| メッセージ | 結果コードの詳細メッセージ |
※1:返り値の Success は、あくまで本APIのリクエストが正常に受理されたことを示すステータスであり、3DS認証自体の成否を保証するものではありません。
3DS認証の成否は、後続で実施する決済処理のレスポンスで出力されます。
javascript/credit-card/3dsecure/item-payment.md 決済 商品登録あり
商品コードを指定して決済を行います。
| 接続先 | https://credit.j-payment.co.jp/gateway/js/EMV3DSAdapter.js |
| ファイル | EMV3DSAdapter.js |
| 関数 | ThreeDSAdapter.authenticate(authenticateRequest,callback) |
| 項目名 | 関数名 | 説明 |
|---|---|---|
| 認証リクエスト | authenticateRequest | 3DS認証に必要なパラメータ 詳細は下記を参照してください。 |
| コールバック | callback | トークン取得後にコールバックする関数 決済処理を行う関数を指定してください。 |
| 項目名 | キー名 | 型 | 必須 | 桁数 | 説明 |
|---|---|---|---|---|---|
| 店舗ID | aid | 半角数字 | 〇 | 6 | サブスクペイの契約時に発行された店舗ID 例:100000 |
| トークン情報 | tkn | 半角英数記号 | 〇 | - | トークン発行APIで取得したカード情報トークン |
| 商品コード | iid | 半角英数記号 | 〇 | 50バイト以下 | サブスクペイで登録した商品コード ※1 |
| Eメールアドレス | em | 半角英数 | ※2 | 254バイト以下 | エンドユーザーのEメールアドレス ※1 |
| 電話番号 | pn | 半角数字 | ※2 | 15バイト以下 | エンドユーザーの電話番号 ※1 |
※1:決済処理と同じ値を指定してください。
※2:Eメールアドレス、電話番号のどちらかが必須となります。
| 項目名 | 説明 |
|---|---|
| 結果コード | 成功時:Success ※1失敗時:エラーコード |
| メッセージ | 結果コードの詳細メッセージ |
※1:返り値の Success は、あくまで本APIのリクエストが正常に受理されたことを示すステータスであり、3DS認証自体の成否を保証するものではありません。
3DS認証の成否は、後続で実施する決済処理のレスポンスで出力されます。
master-data/error-code/title.md エラーコード
master-data/error-code/er-error.md ER系エラー
リクエストパラメータの誤りや、システム設定の問題により発生するエラーです。
| コード | エラー名 | 説明 |
|---|---|---|
| ER000 | 決済システム内部エラー(例外) | サブスクペイ内部での例外エラー |
| ER001 | リクエストパラメータエラー | リクエストパラメータが無効 |
| ER002 | リファラーエラー | 決済データ送信元URLの設定誤り HTMLリンク方式のみ発生します。 |
| ER003 | 送信元IPアドレスエラー | 決済送信元IPの設定誤り Gateway方式のみ発生します。 |
| ER004 | 未登録店舗エラー | 店舗情報の未登録 |
| ER005 | 未登録商品エラー | 指定された商品コード(iid)の未登録 |
| ER006 | 発行可能ID/PW不足エラー | 発行可能なID/PWが未登録 |
| ER007 | メール認証キーエラー | メール認証キーの誤り |
| ER010 | 決済システム混雑エラー | 一時的なアクセス集中 |
| ER011 | 決済拒否エラー(IPアドレス) | IPアドレスによる決済拒否 |
| ER012 | 決済拒否エラー(Eメールアドレス) | Eメールアドレスによる決済拒否 |
| ER013 | 決済拒否エラー(カード番号) | 利用できないカード番号 |
| ER014 | カード番号チェックデジットエラー | 入力されたカード番号の誤り |
| ER015 | 未対応カード種別エラー | 利用できないカード種別 |
| ER016 | 決済金額上限超過エラー | 同一カードでの月間累計利用金額上限の超過 |
| ER017 | 決済金額下限未達エラー | 決済可能下限額の未達 |
| ER018 | 決済金額上限超過エラー | 1回あたりの決済可能上限額の超過 |
| ER019 | 分割払い条件エラー | 分割払い可能金額の条件未達 |
| ER021 | ワンタッチ課金条件エラー | ワンタッチ課金実行時のパラメータ誤り |
| ER023 | 情報変更条件エラー | 対象自動課金の停止中による変更不可 |
| ER024 | 自動課金停止中エラー | 停止中の自動課金データに対する処理不可 Gateway方式のみ発生します。 |
| ER030 | 決済失敗エラー | 決済処理の失敗 |
| ER031 | 有効性確認失敗エラー | 有効性確認(CHECK)の失敗 |
| ER032 | 実売上失敗エラー | 実売上処理(SALES)の失敗 |
| ER033 ER034 |
決済取消失敗エラー | 決済取消処理(CANCEL)の失敗 |
| ER041 ER042 |
通信エラー | 通信時のエラー |
| ER050 | 店舗ID指定エラー | 店舗ID(aid)の指定値誤り |
| ER051 | ジョブタイプ指定エラー | ジョブタイプ(jb)の指定値誤り |
| ER052 | 決済結果通知方法指定エラー | 決済結果通知方法(rt)の指定値誤り |
| ER053 | 決済番号指定エラー | 決済番号(tid)の指定値誤り |
| ER054 | 店舗オーダー番号指定エラー | 店舗オーダー番号(cod)の指定値誤り |
| ER055 | クレジットカード番号指定エラー | クレジットカード番号(cn)の指定値誤り |
| ER056 | 有効期限指定エラー | 有効期限(ed)の指定値誤り |
| ER057 | 名前指定エラー | 名前(fn)の指定値誤り |
| ER058 | 苗字指定エラー | 苗字(ln)の指定値誤り |
| ER059 | Eメールアドレス指定エラー | Eメールアドレス(em)の指定値誤り |
| ER060 | 電話番号指定エラー | 電話番号(pn)の指定値誤り |
| ER061 | 商品金額指定エラー | 商品金額(am)の指定値誤り |
| ER062 | 税額指定エラー | 税額(tx)の指定値誤り |
| ER063 | 送料指定エラー | 送料(sf)の指定値誤り |
| ER064 | 支払方法指定エラー | 支払方法(md)の指定値誤り |
| ER065 | 分割回数指定エラー | 分割回数(pt)の指定値誤り |
| ER068 | 商品コード指定エラー | 商品コード(iid)の指定値誤り |
| ER069 | コマンドコード指定エラー | 処理タイプ、変更タイプ、過去決済データ検索モード(cmd)の指定値誤り |
| ER072 | 自動課金番号指定エラー | 自動課金番号(acid)の指定値誤り |
| ER073 | 郵便番号指定エラー | 郵便番号(po)の指定値誤り |
| ER079 | セキュリティコード指定エラー | セキュリティコード(cvv)の指定値誤り |
| ER085 | Eメールアドレス/電話番号の未指定エラー | Eメールアドレス(em)または電話番号(pn)のいずれかが未指定 |
| ER107 | リクエストメソッドエラー | リクエスト形式の誤り |
| ER114 | 店舗ID指定エラー | 店舗ID(aid)の指定値誤り |
| ER117 ER119 |
店舗情報取得エラー | 店舗情報の取得失敗 |
| ER125 | 次回課金日指定エラー | 次回課金日(nad)の指定値誤り |
| ER126 | 課金周期指定エラー | 課金周期(actp)の指定値誤り |
| ER127 | 課金指定日エラー | 課金指定日(ac1)の指定値誤り |
| ER128 | 課金停止回数指定エラー | 課金停止回数(ac3)の指定値誤り |
| ER129 | 課金終了日指定エラー | 課金終了日(ac5)の指定値誤り |
| ER130 | 振替日指定エラー | 振替日(tday)の指定値誤り |
| ER131 | 名前指定エラー | 名前(nm)の指定値誤り |
| ER132 | 金融機関コード指定エラー | 金融機関コード(bac)の指定値誤り |
| ER133 | 支店コード指定エラー | 支店コード(brc)の指定値誤り |
| ER134 | 口座番号指定エラー | 口座番号(anum)の指定値誤り |
| ER135 | 預金種目指定エラー | 預金種目(atype)の指定値誤り |
| ER136 | 口座名義指定エラー | 口座名義(anm)の指定値誤り |
| ER137 | 都道府県指定エラー | 都道府県(pre)の指定値誤り |
| ER138 | 住所1指定エラー | 住所1(ad1)の指定値誤り |
| ER139 | 住所2指定エラー | 住所2(ad2)の指定値誤り |
| ER140 | 会社名指定エラー | 会社名(co)の指定値誤り |
| ER141 | 動作タイプ指定エラー | 動作タイプ(type)の指定値誤り |
| ER142 | 振替金額指定エラー | 振替金額(amo)の指定値誤り |
| ER143 | 口座引落日指定エラー | 口座引落日(date)の指定値誤り |
| ER144 | 請求状態指定エラー | 請求状態(stat)の指定値誤り |
| ER145 | 顧客番号指定エラー | 顧客番号(cid)の指定値誤り |
| ER146 | 請求番号指定エラー | 請求番号(reqid)の指定値誤り |
| ER147 | ユーザーID指定エラー | ユーザーID(uid)の指定値誤り |
| ER148 | キー指定エラー | キー(key)の指定値誤り |
| ER149 | カード登録連番指定エラー | カード登録連番(num)の指定値誤り |
| ER178 | 転送先URL指定エラー | 転送先URL(url)に指定値誤り |
| ER179 | 決済金額・ジョブタイプ不整合 | 決済金額とジョブタイプの組み合わせ誤り |
| ER187 | 決済金額上限超過エラー | 決済金額の上限超過 |
| ER188 | 口座引落日超過エラー | 口座引落日が請求データ送信日を超過 |
| ER400 | リクエストパラメータエラー | リクエストパラメータの指定値誤り |
| ER401 | 認証エラー | APIキーの不備、または不一致 |
| ER403 | リソースアクセス権限エラー | 許可されていないリソースへのアクセス |
| ER404 | データ未検出エラー | 対象データの不在 |
| ER500 | 決済システム内部エラー | サブスクペイ内部での例外エラー |
| ER501 | 機能利用制限エラー | りそな口座登録機能の未使用設定 |
| ER520 | 対象データ最大件数エラー | 対象データの取得上限超過 |
| ER551 | 決済情報取得エラー | 処理中のセッションから決済情報が取得できなかった |
| ER554 | 自動課金登録エラー | 自動課金登録の失敗 |
| ER559 | 新自動課金設定エラー | 新自動課金の未設定または誤り |
| ER564 | クレジットカード決済未契約エラー | クレジットカード決済サービスが未契約 |
| ER567 | 暗号化キー未発行エラー | RSA暗号化キーの未発行 |
| ER569 | 自動課金利用不可エラー | 自動課金が利用できない決済方法を指定 |
| ER570 | 課金周期パラメータエラー | 課金周期(actp)の指定値誤り |
| ER571 | 自動課金ジョブタイプエラー | ジョブタイプ(jb)の指定値誤り |
| ER572 | お試し期限指定エラー | お試し期限(tr3)の指定値誤り |
| ER573 | 自動課金金額指定エラー | 自動課金金額(acam)の指定値誤り |
| ER574 ER581 |
自動課金下限金額エラー | 決済可能下限額の未達 |
| ER575 ER582 |
自動課金上限金額エラー | 決済可能上限額の超過 |
| ER576 | 課金日指定エラー | 課金周期(毎週/隔週)と課金日指定の組み合わせ不可 |
| ER577 | お試し日数指定エラー | お試し日数(tr1)の指定値誤り |
| ER578 | お試し月数指定エラー | お試し月数(tr2)の指定値誤り |
| ER579 | お試し期限指定エラー | お試し期限(tr3)の指定値誤り |
| ER580 | お試し金額指定エラー | お試し金額(tram)の指定値誤り |
| ER583 | トークン未設定エラー | トークン(tkn)の未指定 |
| ER584 | トークン無効エラー | 指定トークン(tkn)の無効誤り |
| ER585 | トークン有効期限切れエラー | 指定トークン(tkn)の有効期限誤り |
| ER586 | トークン・カード番号重複指定エラー | トークン決済リクエスト時におけるクレジットカード番号(cn)の同時送信 |
| ER619 | 利用可能決済手段なしエラー | 選択可能な決済手段の不在 |
| ER620 | バンクチェック未契約エラー | バンクチェック決済サービスが未契約 |
| ER621 | カードブランド未契約エラー | カードブランドが未契約 |
| ER622 | コンビニペーパーレス未契約エラー | コンビニペーパーレス決済サービスが未契約 |
| ER623 | りそな口座振替未契約エラー | りそな口座振替決済サービスが未契約 |
| ER627 | 口座名義指定エラー | 口座名義(anm)の指定値誤り |
| ER628 | WEB方式 口座登録処理エラー | WEB方式の口座登録処理の失敗または中止 |
| ER629 | 顧客番号エラー | 顧客番号(cid)の形式誤り |
| ER630 | 転送先URL未設定エラー | りそな口座振替決済完了後転送先URLの未設定 |
| ER631 | WEB方式 口座登録機能未契約エラー | WEB方式の口座登録機能が未契約 |
| ER632 | WEB方式 口座登録二重受付エラー | WEB方式にて同一口座情報による二重登録 |
| ER633 | WEB方式 口座登録済みエラー | 指定口座がWEB方式にて登録完了済み |
| ER634 | 口座情報未登録エラー | 口座情報の未登録 |
| ER635 | 顧客情報未登録エラー | 顧客情報の未登録 |
| ER636 | 請求情報未登録エラー | 請求情報の未登録 |
| ER637 | WEB方式 依頼書発行未対応エラー | WEB方式にて登録した口座の依頼書発行は不可 |
| ER638 | 金融機関指定エラー | 金融機関コードの指定値誤りまたは未登録 |
| ER639 | 支店指定エラー | 支店コードの指定値誤りまたは未登録 |
| ER640 | 口座情報更新不可エラー | 現在のステータスによる口座情報の更新不可 |
| ER652 | ワンタッチ課金 ユーザーID重複エラー | ユーザーID(uid)が既に登録済み |
| ER654 | ワンタッチ課金 特定処理利用不可エラー | コマンド(cmd=4)が実行不可 |
| ER655 | ワンタッチ課金 ユーザー無効エラー | ユーザー情報が無効 |
| ER656 | ワンタッチ課金 カード無効エラー | カード情報が無効 |
| ER816 | 課金期間逆転エラー | 課金開始日と終了日の逆転 |
| ER900 | 3Dセキュア認証失敗エラー | 3Dセキュア認証による決済不許可 |
| ER901 | 3Dセキュア認証プロセスエラー | 3Dセキュア認証処理のエラー(ブラウザ閉鎖、パスワード相違、設定誤りなど) |
| ER902 | 郵便番号指定エラー | 郵便番号の指定値誤り |
| ER903 | 名前指定エラー | 名前の指定値誤り |
| ER904 | 住所指定エラー | 住所の指定値誤り |
| ER905 | 支払期限設定エラー | 支払期限設定のエラー |
| ER931 ER932 ER933 |
3Dセキュアシステムエラー | 3Dセキュア処理中のエラー |
| ER997 | セッションエラー | セッション切れ |
| ER998 | アカウント停止エラー | アカウントの停止 |
| ER999 | システムメンテナンスエラー | システムメンテナンスの実施中 |
master-data/error-code/g-error.md G系エラー
クレジットカードの利用状況や、カード会社の与信判断により発生するエラーです。
| コード | エラー名 | 説明 |
|---|---|---|
| G0242G020000 | 残高不足エラー | カードの利用可能な残高が不足 |
| G0442G040000 | 残高不足エラー | カードの利用可能な残高が不足 |
| G1242G120000 | 取扱不可カード | 利用不可カード |
| G3042G300000 | 保留判定/取扱不可カード | カード会社側での保留、または取扱不可判定 |
| G4242G420000 | 暗証番号エラー | 入力された暗証番号(PIN)の誤り |
| G4442G440000 | セキュリティコード不正エラー | セキュリティコードの不正、または未入力 |
| G4542G450000 | セキュリティコードエラー | 入力されたセキュリティコードの誤り |
| G5442G540000 | 取扱不可カード | 利用不可カード |
| G5542G550000 | 限度額オーバー | カードの利用限度額超過 |
| G5642G560000 | カード読込エラー | カード情報の読み取りエラー、または無効データ |
| G6042G600000 | 事故カード | 事故カード(紛失・盗難など) |
| G6142G610000 | 無効カード | 無効カード |
| G6542G650000 | 会員番号エラー | カード会員番号(カード番号)の誤り |
| G6842G680000 | 金額エラー | 決済金額の指定誤り |
| G6942G690000 | 税送料エラー | 税額・送料の指定誤り |
| G7442G740000 | 分割回数エラー | 指定された分割回数の利用不可、または誤り |
| G7842G780000 | 支払区分エラー | 支払区分の指定誤り |
| G8042G800000 | 取消区分エラー | 取消区分の指定誤り |
| G8342G830000 | 有効期限エラー | カードの有効期限切れ、または誤り |
| G9742G970000 | 取扱不可カード | 利用不可カード |
| G9842G980000 | 取扱不可カード | 利用不可カード |
| G9942G990000 | 取扱不可カード | 利用不可カード |
master-data/error-code/g-error.md S系エラー
クレジットカードの利用状況や、カード会社の与信判断により発生するエラーです。
| コード | エラー名 | 説明 |
|---|---|---|
| S40S42S40000 | 取扱不可ブランド | 指定したカードブランドの利用不可 |
master-data/jp-location.md 都道府県対応表
| コード | 都道府県名 | コード | 都道府県名 | |
|---|---|---|---|---|
| 1 | 北海道 | 25 | 滋賀県 | |
| 2 | 青森県 | 26 | 京都府 | |
| 3 | 岩手県 | 27 | 大阪府 | |
| 4 | 宮城県 | 28 | 兵庫県 | |
| 5 | 秋田県 | 29 | 奈良県 | |
| 6 | 山形県 | 30 | 和歌山県 | |
| 7 | 福島県 | 31 | 鳥取県 | |
| 8 | 茨城県 | 32 | 島根県 | |
| 9 | 栃木県 | 33 | 岡山県 | |
| 10 | 群馬県 | 34 | 広島県 | |
| 11 | 埼玉県 | 35 | 山口県 | |
| 12 | 千葉県 | 36 | 徳島県 | |
| 13 | 東京都 | 37 | 香川県 | |
| 14 | 神奈川県 | 38 | 愛媛県 | |
| 15 | 新潟県 | 39 | 高知県 | |
| 16 | 富山県 | 40 | 福岡県 | |
| 17 | 石川県 | 41 | 佐賀県 | |
| 18 | 福井県 | 42 | 長崎県 | |
| 19 | 山梨県 | 43 | 熊本県 | |
| 20 | 長野県 | 44 | 大分県 | |
| 21 | 岐阜県 | 45 | 宮崎県 | |
| 22 | 静岡県 | 46 | 鹿児島県 | |
| 23 | 愛知県 | 47 | 沖縄県 | |
| 24 | 三重県 |