NAV
cURL Ruby Python PHP Java Node.js Go
はじめに

introduction/title.mdこのサイトについて

本サイトは、当社が提供する各種決済サービスを、加盟店システムへ安全かつスムーズに組み込むための公式APIリファレンスです。

開発者の方が最短で実装を開始できるよう、複数のインターフェース(HTTP API、REST API、JavaScript)を目的別に整理して掲載しています。

本サイトで提供している主な内容は以下のとおりです。

Web APIの仕様

各種決済サービスにおけるシステム間連携に必要な、APIエンドポイントとパラメータ仕様を詳細に記載しています。

JavaScriptによるトークン方式の仕様

クレジットカード情報の非保持化に対応した決済フローを構築するための、クライアントサイド用JavaScriptライブラリの仕様を記載しています。

HTTP API

getting-started/title.mdHTTP 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 半角英字 - 決済処理の種類 ※2
AUTH:仮売上
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 半角英字 - 決済処理の種類 ※1
AUTH:仮売上
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 - 分割回数
356101215182024から選択してください。
その他データ - 全角・半角英数 × 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)の商品登録をした商品で「商品登録あり決済」を行った場合のみ返却され、uidkeyとは無関係です。

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 - 分割回数
356101215182024から選択してください。
その他データ - 全角・半角英数 × 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)の商品登録をした商品で「商品登録あり決済」を行った場合のみ返却され、uidkeyとは無関係です。

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)の商品登録をした商品で「商品登録あり決済」を行った場合のみ返却され、uidkeyとは無関係です。

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)の商品登録をした商品で「商品登録あり決済」を行った場合のみ返却され、uidkeyとは無関係です。

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.mdJCB口座振替

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 口座振替の動作タイプ ※2
1:単発
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 口座振替の動作タイプ ※1
1:単発
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 半角英数 - 振替失敗時のエラーコード
rst2の場合に、本項目が返却されます。
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 半角英数 - 振替失敗時のエラーコード
rst2の場合に、本項目が返却されます。
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>

キックバック(決済結果返信方法「0」の場合)

項目名 キー名 桁数 説明
決済番号 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:[銀行コード].[銀行名].[支店コード].[支店名].[口座種別].[口座番号].[口座名義]
     エンコードされた状態で返却されるため、デコード処理を行ってください。

キックバック(決済結果返信方法「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です。
     エンコードされた状態で返却されるため、デコード処理を行ってください。

REST API

getting-started/title.mdREST 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.mdHTTPステータスコード

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メールアドレス email 半角英数記号 × 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"
}

レスポンス 

200 リクエストが成功

項目名 キー名 桁数 説明
顧客番号 customer_id 半角数字 10 顧客ごとに発行される一意の番号
電話番号 phone 半角数字 20バイト以下 エンドユーザーの電話番号
Eメールアドレス email 半角英数記号 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 口座振替の動作タイプ ※3
1:単発
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"
}

レスポンス

200 リクエストが成功

項目名 キー名 桁数 説明
請求番号 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"
}

レスポンス

200 リクエストが成功

項目名 キー名 桁数 説明
顧客番号 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"
}

レスポンス

200 リクエストが成功

項目名 キー名 桁数 説明
顧客番号 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メールアドレス email 半角英数記号 × 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"
}

レスポンス

200 リクエストが成功

項目名 キー名 桁数 説明
顧客番号 customer_id 半角数字 10 顧客ごとに発行される一意の番号
電話番号 phone 半角数字 20バイト以下 エンドユーザーの電話番号
Eメールアドレス email 半角英数記号 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 口座振替の動作タイプ ※3
1:単発
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"
}

レスポンス

200 リクエストが成功

項目名 キー名 桁数 説明
請求番号 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"
}

レスポンス

200 リクエストが成功

項目名 キー名 桁数 説明
顧客番号 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"
    }
  ]
}

レスポンス

200 リクエストが成功

項目名 キー名 桁数 説明
インデックス番号 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"
    }
  ]
}

レスポンス

200 リクエストが成功

項目名 キー名 桁数 説明
インデックス番号 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 口座振替の動作タイプ ※1
1:単発
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"
    }
  ]
}

レスポンス

200 リクエストが成功

項目名 キー名 桁数 説明
インデックス番号 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 顧客ごとに発行される一意の番号

レスポンス

200 リクエストが成功

項目名 データ形式 説明
口座振替依頼書 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 半角英字 × - 決済処理の種類 ※1
CHECK:有効性チェック
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
}

レスポンス

200 リクエストが成功

項目名 キー名 桁数 説明
検索ID sid 半角英数 - 決済情報検索APIで指定する検索ID
null:検索結果が存在しない場合
件数 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"
    }
  ]
}

レスポンス

200 リクエストが成功

項目名 キー名 桁数 説明
検索ID sid 半角英数 - リクエスト時に指定した検索ID
インデックス番号 idx 半角数字 - リクエスト時に指定したインデックス番号
総インデックス番号数 tidx 半角数字 - 全体のインデックス番号数
結果件数 rcnt 半角数字 - 検索結果件数
総件数 tcnt 半角数字 - 総件数
決済情報リスト dtls 配列 - 以下の決済情報オブジェクトのリスト
決済番号 gid 半角数字 - 決済ごとに発行される一意の番号
自動課金番号 acid 半角数字 - 自動課金ごとに発行される一意の番号
ジョブタイプ jb 半角英字 - 決済処理の種類
CHECK:有効性チェック
AUTH:仮売上
SALES:実売上
CAPTURE:仮実同時売上
CANCEL:取消
ブランド ct 半角数字 - カードブランド
1:Visa
2:Master
3:JCB
4:Amex
5:Diners
6:Discover
0:その他
カード番号(下4桁) cn4 半角英数 4 カード番号(下4桁)
商品金額 am 半角数字 - 商品金額
税額 tx 半角数字 - 税額
送料 sf 半角数字 - 送料
合計金額 ta 半角数字 - 商品金額・税額・送料を合わせた決済総額
決済結果 rst 半角数字 - 決済処理の結果
1:成功
2:未処理
3:決済待ち
4:失敗
5:エラー
エラーコード ec 半角英数 - エラー発生時のエラーコード
詳細は詳細はエラーコード一覧をご覧ください。
店舗オーダー番号 cod 半角英数 - -
次回課金日 nad 半角数字記号 19 次回課金日
yyyy-MM-ddTHH:mm:ss
null:存在しない場合
決済日時 cd 半角英数 19 決済日時
yyyy-MM-ddTHH:mm:ss
取消日時 vd 半角英数 19 取消日時
yyyy-MM-ddTHH:mm:ss
null:未取消の場合
Java Script

javascript/credit-card/javascript-overview.mdJavaScript について

サブスクペイでは、加盟店のシステム環境で安全にクレジットカード決済を行っていただくために、クライアントサイドで動作するJavaScriptライブラリを提供しています。
本ライブラリを利用することで、クレジットカード情報の非保持化に対応した決済フローを容易に実装可能です。

javascript/credit-card/title.mdクレジットカード

javascript/credit-card/token/title.mdトークン

javascript/credit-card/token/popup.mdポップアップ方式

概要

弊社が用意した決済画面を、エンドユーザーのブラウザ上にポップアップで呼び出す方式です。
入力されたカード情報は弊社サーバー側でトークン化され、加盟店システムへ返却されます。

シーケンス図 3Dセキュア(ポップアップ方式)

インターフェース

接続先 https://credit.j-payment.co.jp/gateway/js/CPToken.js
ファイル CPToken.js
関数 CPToken.CardInfo(tokenRequest,callback)

CPToken.CardInfo(tokenRequest,callback)

項目名 関数名 説明
トークンリクエスト tokenRequest トークン作成に必要なパラメータ
詳細は下記を参照してください。
コールバック callback トークン取得後にコールバックする関数
関数はThreeDSAdapter.authenticateを指定してください。

tokenRequest

項目名 キー名 必須 桁数 説明
店舗ID aid 半角数字 6 サブスクペイの契約時に発行された店舗ID
例:100000

javascript/credit-card/token/customize.mdカスタマイズ方式

概要

加盟店のサイト内に独自のカード入力フォームを用意していただく方式です。
入力されたカード情報はJavaScriptを経由して弊社サーバーへ送信され、トークンに変換されて返却されます。

シーケンス図

3Dセキュア(カスタマイズ方式)

インターフェース

接続先 https://credit.j-payment.co.jp/gateway/js/CPToken.js
ファイル CPToken.js
関数 CPToken.TokenCreate(tokenRequest,callback)

CPToken.TokenCreate(tokenRequest,callback)

項目名 関数名 説明
トークンリクエスト tokenRequest トークン作成に必要なパラメータ
詳細は下記を参照してください。
コールバック callback トークン取得後にコールバックする関数
関数はThreeDSAdapter.authenticateを指定してください。

tokenRequest

項目名 キー名 必須 桁数 説明
店舗ID aid 半角数字 6 サブスクペイの契約時に発行された店舗ID
例:100000
カード番号 cn 半角数字 - カード番号
カード有効期限 ed 半角数字 4 カードの有効期限
YYMM
カード名義(名) fn 半角英数記号 ※1 カード名義の名
記号はスペース、ピリオド、ハイフンのみです。
カード名義(姓) ln 半角英数記号 ※1 カード名義の姓
記号はスペース、ピリオド、ハイフンのみです。
セキュリティコード cvv 半角数字 ※2 3 ~ 4 カード裏面の3桁(AMEXは表面4桁)の番号
支払方法 md 半角数字 - 2 支払方法
10:一括払い
61:分割払い ※3
80:リボ払い ※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.md3Dセキュア

javascript/credit-card/3dsecure/without-item-payment.md決済 商品登録なし

概要

商品金額・税額・送料を指定して決済を行います。

インターフェース

接続先 https://credit.j-payment.co.jp/gateway/js/EMV3DSAdapter.js
ファイル EMV3DSAdapter.js
関数 ThreeDSAdapter.authenticate(authenticateRequest,callback)

ThreeDSAdapter.authenticate(authenticateRequest,callback)

項目名 関数名 説明
認証リクエスト authenticateRequest 3DS認証に必要なパラメータ
詳細は下記を参照してください。
コールバック callback トークン取得後にコールバックする関数
決済処理を行う関数を指定してください。

authenticateRequest

項目名 キー名 必須 桁数 説明
店舗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メールアドレス、電話番号のどちらかが必須となります。

callback

項目名 説明
結果コード 成功時: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)

ThreeDSAdapter.authenticate(authenticateRequest,callback)

項目名 関数名 説明
認証リクエスト authenticateRequest 3DS認証に必要なパラメータ
詳細は下記を参照してください。
コールバック callback トークン取得後にコールバックする関数
決済処理を行う関数を指定してください。

authenticateRequest

項目名 キー名 必須 桁数 説明
店舗ID aid 半角数字 6 サブスクペイの契約時に発行された店舗ID
例:100000
トークン情報 tkn 半角英数記号 - トークン発行APIで取得したカード情報トークン
商品コード iid 半角英数記号 50バイト以下 サブスクペイで登録した商品コード ※1
Eメールアドレス em 半角英数 ※2 254バイト以下 エンドユーザーのEメールアドレス ※1
電話番号 pn 半角数字 ※2 15バイト以下 エンドユーザーの電話番号 ※1

※1:決済処理と同じ値を指定してください。
※2:Eメールアドレス、電話番号のどちらかが必須となります。

callback

項目名 説明
結果コード 成功時:Success ※1
失敗時:エラーコード
メッセージ 結果コードの詳細メッセージ

※1:返り値の Success は、あくまで本APIのリクエストが正常に受理されたことを示すステータスであり、3DS認証自体の成否を保証するものではありません。
    3DS認証の成否は、後続で実施する決済処理のレスポンスで出力されます。

共通仕様

master-data/error-code/title.mdエラーコード

master-data/error-code/er-error.mdER系エラー

概要

リクエストパラメータの誤りや、システム設定の問題により発生するエラーです。

エラーコード

コード エラー名 説明
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.mdG系エラー

概要

クレジットカードの利用状況や、カード会社の与信判断により発生するエラーです。

エラーコード

コード エラー名 説明
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.mdS系エラー

概要

クレジットカードの利用状況や、カード会社の与信判断により発生するエラーです。

エラーコード

コード エラー名 説明
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 三重県