SFTP一括オーソリ
概要
SFTP一括オーソリは、CSVファイルをアップロードすることで複数のカード決済処理を一括実行する機能です。
利用シーン:
- 夜間バッチなどで大量の決済処理をまとめて実行したい
- カード有効性チェックを複数会員に対して一度に行いたい
- 既存システムからCSVファイルを自動生成して決済処理を実行したい
特徴:
- 最大1万件まで1ファイルで処理可能
- カード番号指定版と会員ID指定版の2つのモードに対応
- 結果ファイルは処理完了後にSFTPサーバーから取得
SFTP一括オーソリの利用には、オプション契約とSFTPサーバー利用契約が必要です。
SFTP利用手順はSFTPファイル連携の流れを確認してください。
1万件を超える決済処理が必要な場合は、一括決済サービスをご利用ください。
利用の流れ
SFTP一括オーソリは、以下の流れで処理を行います。
処理ステップ
ステップ1:ファイルアップロード
- 規定のファイル命名規則に従ってCSVファイルを作成
- カード番号指定版(モード
c)または会員ID指定版(モードm)を選択
- カード番号指定版(モード
- CSVファイルをSFTPサーバーにアップロード
- OKファイル(空ファイル)をアップロード
- OKファイルは処理開始の合図として機能します
- CSVファイルと同名に
.ok拡張子を付与
ステップ2:バッチ処理
当サービスが自動的に以下を実行します:
- ファイルを検知して取得
- ファイル形式の妥当性チェック
- 各レコードに対して決済処理を実行
- カード会社との通信
- 処理結果ファイルの生成
ステップ3:結果ファイル取得
- SFTPサーバーから結果ファイルとOKファイルを取得
- 結果内容を確認(エラーがあれば対応)
- 結果ファイルとOKファイルをサーバーから削除(推奨)
※同一名称の結果ファイルが既に存在する場合、ファイル名を変更して返却します。
ファイルの命名規則は、ファイル命名規則>結果ファイル>同一名の結果ファイルが残存している場合の命名規則を参照してください。
OKファイルは、CSVファイルのアップロードが完了したことを示す合図です。大容量ファイルのアップロード中に処理が開始されるのを防ぎます。
制約事項
実装を開始する前に、以下の制約事項を必ずご確認ください。
処理件数の上限
1ファイルで処理可能なレコード数は最大1万件です。
1万件を超える場合の対応
- 一括決済サービスを利用してください
- 複数ファイルに分割して順次処理することも可能です(後述の「同時アップロードの制限」をご確認ください)
同時アップロードの制限
一度にアップロード可能なファイルは1ファイル(データファイルとOKファイルの1ペア)のみです。
複数ファイルを処理する場合
以下の手順で順次処理してください:
- 1つ目のファイルをアップロード(データファイル + OKファイル)
- 結果ファイルが返却されるまで待機
- 結果ファイルを取得して内容を確認
- 取得した結果ファイルとOKファイルをサーバーから削除
- 次のファイルをアップロード(手順1に戻る)
結果ファイルとOKファイルを削除しないと、次のファイル処理が開始できません。
複数ファイルを同時にアップロードした場合、どのファイルが処理されるか保証されません。処理の順序性を担保するため、1ファイルずつの処理が必須です。
ファイル名の制約
ファイル名は命名規則に厳密に従う必要があります。形式が正しくない場合、ファイル取得エラーとなり、エラー通知メールが送信されます(詳細は「エラー通知メールについて」を参照)。
カード指定モードの混在禁止
1つのファイル内では、カード番号指定または会員ID指定のいずれか一方のみ使用できます。
ファイル命名規則
- アップロードファイル
- 結果ファイル
アップロードファイル
bat + (モード1文字) + ショップID + 処理日YYYYMMDD + 連番3桁 + .csv
モード
c:カード番号指定版m:会員ID指定版
連番3桁
- 同一処理日ごとに付与する通番です。
- 当日の1回目は「001」とし、同日に複数回アップロードする場合は「002」「003」…と連番で増加させてください。
- 3桁固定のゼロ埋め(001形式)で指定してください。
OKファイル
(アップロードファイル名) + .ok
アップロードファイル名に.okを付与します。
ファイルの中身は空です。
例1:ショップID
0009999099999がカード番号指定版で2024年12月31日にファイルを作成batc000999909999920241231001.csv
batc000999909999920241231001.csv.ok
例2:ショップID
0009999099999が会員ID指定版で2024年12月31日に2回目のファイルを作成batm000999909999920241231002.csv
batm000999909999920241231002.csv.ok
結果ファイル
R + (アップロードファイル名)
OKファイル
R + (アップロードファイル名) + .ok
例:
batc000999909999920241231001.csvをアップロードした場合Rbatc000999909999920241231001.csv
Rbatc000999909999920241231001.csv.ok
SFTPサーバー上に同一名称の結果ファイルが既に存在する場合、結果ファイル名を以下の形式に変更して返却します。
R + (アップロードファイル名から拡張子`.csv`を除いた値) + _YYYYMMDDhhmmss + .csv
OKファイル
R + (アップロードファイル名から拡張子`.csv`を除いた値) + _YYYYMMDDhhmmss + .csv.ok
例:
batc000999909999920241231001.csvをアップロードし、Rbatc000999909999920241231001.csvがSFTPサーバー上に残存している場合Rbatc000999909999920241231001_20241231153103.csv
Rbatc000999909999920241231001_20241231153103.csv.ok
ファイル仕様
基本フォーマット
- 区切り文字:
,(カンマ) - 項目の括り:全項目を
"(ダブルクォート)で括る - 改行コード:CRLF推奨(LFでアップロードした場合もCRLFで返却されます)
ファイル仕様(カード番号版)
カード番号版は、カード番号を直接指定して決済処理を行います。
PCI DSSに準拠した加盟店様のみ利用できます。
- アップロードファイル
- 結果ファイル
区切り文字は,(カンマ)を使用し、項目は全て"(ダブルクォート)で括ります。
| No | 項目名 | 桁数 | 必須 | 説明 |
|---|---|---|---|---|
| 1 | フォーマットバージョン | 3 | ✔ | 予約項目。001を設定してください。 |
| 2 | ショップID | 13 | ✔* | 加盟店様を識別するID(半角英数字) |
| 3 | オーダーID | 27 | ✔* | 加盟店様が取引を識別するためのID(半角英数字、-) |
| 4 | 処理区分 | - | ✔* | 対象取引に対して行う処理の種別CHECK:有効性チェックAUTH:仮売上SALES:実売上CAPTURE:即時売上VOID:取消RETURN:返品RETURNX:月跨り返品CANCEL:キャンセルCHANGESAUTH:金額変更(簡易オーソリ)CHANGEAUTH:金額変更(仮売上)CHANGECAPTURE:金額変更(即時売上) |
| 5 | 商品コード | 7 | 通常は省略してください。 カード会社との間の契約にて使用する商品コードが決められた場合のみ設定してください。(省略した際は、 0000990を使用して処理します。) | |
| 6 | 利用金額 | 7 | ✔* | |
| 7 | 税送料 | 7 | 商品とは異なる送料等の金額 | |
| 8 | 支払方法 | 1 | ✔* | 1:一括2:分割3:ボーナス一括5:リボ |
| 9 | 支払回数 | 2 | ✔* | 分割の場合は必須 |
| 10 | カード種別 | - | 下位互換用項目 仕向先が自動判定でよい場合は省略してください。 | |
| 11 | カード番号 | 16 | ✔* | |
| 12 | セキュリティーコード | 4 | - | 設定しないでください。 |
| 13 | 有効期限 | 4 | ✔* | YYMM形式 |
| 14 | 加盟店自由項目1 | 100 | 半角英数記号(^ ` { | } ~ & < > " ' 除く)と全角文字 実売上/取消/返品/月跨り返品では設定不可 | |
| 15 | 加盟店自由項目2 | 100 | 同上 | |
| 16 | 加盟店自由項目3 | 100 | 同上 | |
| 17 | 利用日(YYMMDD) | 6 | ご利用明細に記載される日付を指定します。 未設定の場合は処理日が使用されます。 ※西暦記載、月日が一桁の場合は前をゼロ埋めしてください。 ※実売上の場合、仮売上日から処理日までが指定可能です。 ※即時売上の場合、処理日当日の日付のみ指定可能です。 ※指定範囲外の値が設定された場合エラー(E01510011)になります。 ※処理区分が実売上、及び即時売上でない場合に設定するとエラー(E01510010)になります。 ※金額変更の場合、設定できません。設定した値は無視されます。 | |
| 18 | 取引ID | 32 | - | 出力用項目 |
| 19 | 取引パスワード | 32 | - | 出力用項目 |
| 20 | トランザクションID | 28 | - | 出力用項目 |
| 21 | 承認番号 | 7 | - | 出力用項目 |
| 22 | 仕向先コード | 7 | - | 出力用項目 |
| 23 | エラーコード | 3 | - | 出力用項目 |
| 24 | エラー詳細コード | 9 | - | 出力用項目 |
| 25 | 処理日時 | 14 | - | 出力用項目 書式は、 yyyymmddhhmmss形式です。 |
- ✔:必須
- ✔*:条件により必須
- 空白:省略可能
- -:出力時
処理区分別必須項目一覧表(カード番号版)
条件により必須の項目はこちらをご確認ください。
| No | 項目名 | 桁数 | 有効性 チェック | 仮売上 即時売上 | 実売上 | 取消 返品 月跨り返品 キャンセル | 金額変更 簡易オーソリ 仮売上 即時売上 |
|---|---|---|---|---|---|---|---|
| 1 | ショップID | 13 | ✔ | ✔ | ✔ | ✔ | ✔ |
| 2 | オーダーID | 27 | ✔ | ✔ | ✔ | ✔ | ✔ |
| 3 | 処理区分 | - | ✔ | ✔ | ✔ | ✔ | ✔ |
| 4 | 商品コード | 7 | - | - | - | ||
| 5 | 利用金額 | 7 | - | ✔ | - | - | ✔ |
| 6 | 税送料 | 7 | - | - | - | ||
| 7 | 支払方法 | - | - | ✔ | - | - | - |
| 8 | 支払回数 | 2 | - | ✔* | - | - | - |
| 9 | カード種別 | - | - | - | |||
| 10 | カード番号 | 16 | ✔ | ✔ | - | - | - |
| 11 | セキュリティーコード | 4 | - | - | - | ||
| 12 | 有効期限 | 4 | ✔ | ✔ | - | - | - |
| 13 | 加盟店自由項目1 | 100 | - | - | - | ||
| 14 | 加盟店自由項目2 | 100 | - | - | - | ||
| 15 | 加盟店自由項目3 | 100 | - | - | - | ||
| 16 | 利用日 | 6 | - | - |
- ✔:必須
- ✔*:条件により必須
- 空白:省略可能
- -:入力不可
改行コードはCRLF、項目は全て"(ダブルクォート)括りです。
| No | 項目名 | 桁数 | 説明 |
|---|---|---|---|
| 1 | ショップID | 13 | 加盟店様を識別するID |
| 2 | オーダーID | 27 | 取引を識別するためのID |
| 3 | 取引状態 | - | 決済に成功した場合、現状態が設定されます。 決済に失敗した場合、アップロードファイルでの処理区分が設定されます。 UNPROCESSED:未決済CHECK:有効性チェックAUTH:仮売上SALES:実売上CAPTURE:即時売上VOID:取消RETURN:返品RETURNX:月跨返品CANCEL:キャンセルCHANGESAUTH:金額変更(簡易オーソリ)CHANGEAUTH:金額変更(仮売上)CHANGECAPTURE:金額変更(即時売上) |
| 4 | 商品コード | 7 | 決済時に指定した商品コード |
| 5 | 利用金額 | 7 | - |
| 6 | 税送料 | 7 | - |
| 7 | 支払方法 | 1 | 1:一括/2:分割/3:ボーナス一括/5:リボ |
| 8 | 支払回数 | 2 | 支払方法によっては””(ブランク)となります。 |
| 9 | カード種別 | - | ""固定 |
| 10 | カード番号 | 16 | 決済に使用したカード番号(下3桁以外は伏字) |
| 11 | セキュリティーコード | 4 | ****固定 |
| 12 | 有効期限 | 4 | YYMM形式 |
| 13 | 加盟店自由項目1 | 100 | 決済実行時に指定された値 |
| 14 | 加盟店自由項目2 | 100 | 同上 |
| 15 | 加盟店自由項目3 | 100 | 同上 |
| 16 | 利用日(YYMMDD) | 6 | 決済実行時に指定された値 |
| 17 | 取引ID | 32 | 当サービスが取引を識別するためのID |
| 18 | 取引パスワード | 32 | 当サービスが取引を識別するためのパスワード |
| 19 | トランザクションID | 28 | 当サービスホスト機にて付番された処理通番 |
| 20 | 承認番号 | 7 | カード会社にて付番された承認番号 (取消/返品/月跨り返品では半角スペース7桁) |
| 21 | 仕向先コード | 7 | データを送信したカード会社コード |
| 22 | エラーコード | 3 | 発生したエラーコード |
| 23 | エラー詳細コード | 9 | 発生したエラー詳細コード |
| 24 | 処理日時 | 14 | yyyymmddhhmmss形式 |
| 25 | レコード通番 | 6 | アップロードファイルでの行番号 |
| 26 | 状態コード | 10 | INVALID:フォーマットNGCOMPLETE:決済完了FAIL:決済失敗 |
ファイル仕様(会員ID版)
- アップロードファイル
- 結果ファイル
区切り文字は,(カンマ)を使用し、項目は全て"(ダブルクォート)で括ります。
| No | 項目名 | 桁数 | 必須 | 説明 |
|---|---|---|---|---|
| 1 | フォーマットバージョン | 3 | ✔ | 予約項目。001を設定してください。 |
| 2 | ショップID | 13 | ✔* | 加盟店様を識別するID |
| 3 | オーダーID | 27 | ✔* | 加盟店様が取引を識別するためのID【半角英数字、”-“(ハイフン)】 |
| 4 | 処理区分 | - | ✔* | 対象取引に対して行う処理の種別CHECK:有効性チェックAUTH:仮売上SALES:実売上CAPTURE:即時売上VOID:取消RETURN:返品RETURNX:月跨り返品CANCEL:キャンセルCHANGESAUTH:金額変更(簡易オーソリ)CHANGEAUTH:金額変更(仮売上)CHANGECAPTURE:金額変更(即時売上) |
| 5 | 商品コード | 7 | 通常は省略してください。 カード会社との間の契約にて使用する商品コードが決められた場合のみ設定してください。(省略した際は、 0000990を使用して処理します。) | |
| 6 | 利用金額 | 7 | ✔* | 商品に対する金額 |
| 7 | 税送料 | 7 | 送料等の金額 | |
| 8 | 支払方法 | 1 | ✔* | 1:一括/2:分割/3:ボーナス一括/5:リボ |
| 9 | 支払回数 | 2 | ✔* | 分割の場合は必須 |
| 10 | カード種別 | - | 下位互換用項目 仕向先が自動判定でよい場合は省略してください。 | |
| 11 | 会員ID | 60 | ✔ | |
| 12 | 登録連番(物理) | 4 | カード登録を行った時に、返却する数値。 モードは物理の値を設定してください。 省略時は、デフォルト(洗替・継続課金フラグがON)カードを利用します。 | |
| 13 | 予備 | - | - | 設定不可 |
| 14 | 加盟店自由項目1 | 100 | 半角英数記号(^ ` { | } ~ & < > " ' 除く)と全角文字 実売上/取消/返品/月跨り返品では設定不可 | |
| 15 | 加盟店自由項目2 | 100 | 同上 | |
| 16 | 加盟店自由項目3 | 100 | 同上 | |
| 17 | 利用日(YYMMDD) | 6 | ご利用明細に記載される日付を指定します。 未設定の場合は処理日が使用されます。 ※西暦記載、月日が一桁の場合は前をゼロ埋めしてください。 ※実売上の場合、仮売上日から処理日までが指定可能です。 ※即時売上の場合、処理日当日の日付のみ指定可能です。 ※指定範囲外の値が設定された場合エラー(E01510011)になります。 ※処理区分が実売上、及び即時売上でない場合に設定するとエラー(E01510010)になります。 ※金額変更の場合、設定できません。設定した値は無視されます。 | |
| 18 | 取引ID | 32 | - | 出力用項目 |
| 19 | 取引パスワード | 32 | - | 出力用項目 |
| 20 | トランザクションID | 28 | - | 出力用項目 |
| 21 | 承認番号 | 7 | - | 出力用項目 |
| 22 | 仕向先コード | 7 | - | 出力用項目 |
| 23 | エラーコード | 3 | - | 出力用項目 |
| 24 | エラー詳細コード | 9 | - | 出力用項目 |
| 25 | 処理日時 | 14 | - | 出力用項目 書式は、 yyyymmddhhmmss形式です。 |
処理区分別必須項目一覧表(会員ID版)
条件により必須の項目はこちらをご確認ください。
| No | 項目名 | 桁数 | 有効性 チェック | 仮売上 即時売上 | 実売上 | 取消 返品 月跨り返品 キャンセル | 金額変更 簡易オーソリ 仮売上 即時売上 |
|---|---|---|---|---|---|---|---|
| 1 | ショップID | 13 | ✔ | ✔ | ✔ | ✔ | ✔ |
| 2 | オーダーID | 27 | ✔ | ✔ | ✔ | ✔ | ✔ |
| 3 | 処理区分 | - | ✔ | ✔ | ✔ | ✔ | ✔ |
| 4 | 商品コード | 7 | - | - | - | ||
| 5 | 利用金額 | 7 | - | ✔ | - | - | ✔ |
| 6 | 税送料 | 7 | - | - | - | ||
| 7 | 支払方法 | - | - | ✔ | - | - | - |
| 8 | 支払回数 | 2 | - | ✔* | - | - | - |
| 9 | カード種別 | - | - | - | - | ||
| 10 | 会員ID | 60 | ✔ | ✔ | - | - | - |
| 11 | 登録連番(物理) | 4 | - | - | - | ||
| 12 | 予備 | 1 | - | - | - | - | - |
| 13 | 加盟店自由項目1 | 100 | - | - | - | ||
| 14 | 加盟店自由項目2 | 100 | - | - | - | ||
| 15 | 加盟店自由項目3 | 100 | - | - | - | ||
| 16 | 利用日 | 6 | - | - | - |
- ✔:必須
- ✔*:条件により必須
- 空白:省略可能
- -:入力不可
改行コードはCRLF、項目は全て"(ダブルクォート)括りです。
| No | 項目名 | 桁数 | 説明 |
|---|---|---|---|
| 1 | ショップID | 13 | 加盟店様を識別するID |
| 2 | オーダーID | 27 | 加盟店様が取引を識別するためのID【半角英数字、”-“(ハイフン)】 |
| 3 | 取引状態 | - | 決済に成功した場合、現状態が設定されます。 決済に失敗した場合、アップロードファイルでの処理区分が設定されます。 UNPROCESSED:未決済CHECK:有効性チェックAUTH:仮売上SALES:実売上CAPTURE:即時売上VOID:取消RETURN:返品RETURNX:月跨返品CANCEL:キャンセルCHANGESAUTH:金額変更(簡易オーソリ)CHANGEAUTH:金額変更(仮売上)CHANGECAPTURE:金額変更(即時売上) |
| 4 | 商品コード | 7 | 決済時に指定した商品コード |
| 5 | 利用金額 | 7 | - |
| 6 | 税送料 | 7 | - |
| 7 | 支払方法 | 1 | 1:一括/2:分割/3:ボーナス一括/5:リボ |
| 8 | 支払回数 | 2 | 支払方法によっては""(ブランク)となります。 |
| 9 | カード種別 | - | ""固定 |
| 10 | 会員ID | 60 | 決済を行った会員ID 金額変更/キャンセル処理では ""固定・金額変更(CHANGESAUTH, CHANGEAUTH, CHANGECAPTURE) ・キャンセル(VOID, RETURN, RETURNX, CANCEL) |
| 11 | 登録連番(物理) | 4 | 決済を行ったカードの登録連番 省略時はデフォルトフラグを参照 |
| 12 | 予備 | - | ""固定 |
| 13 | 加盟店自由項目1 | 100 | 決済実行時に指定された値 |
| 14 | 加盟店自由項目2 | 100 | 同上 |
| 15 | 加盟店自由項目3 | 100 | 同上 |
| 16 | 利用日(YYMMDD) | 6 | 決済実行時に指定された値 |
| 17 | 取引ID | 32 | 当サービスが取引を識別するためのID |
| 18 | 取引パスワード | 32 | 当サービスが取引を識別するためのパスワード |
| 19 | トランザクションID | 28 | 当サービスホスト機にて付番された処理通番 |
| 20 | 承認番号 | 7 | カード会社にて付番された承認番号 (取消/返品/月跨り返品では半角スペース7桁) |
| 21 | 仕向先コード | 7 | データを送信したカード会社コード |
| 22 | エラーコード | 3 | 発生したエラーコード |
| 23 | エラー詳細コード | 9 | 発生したエラー詳細コード |
| 24 | 処理日時 | 14 | yyyymmddhhmmss形式 |
| 25 | レコード通番 | 6 | アップロードファイルでの行番号 |
| 26 | 状態コード | 10 | INVALID:フォーマットNGCOMPLETE:決済完了FAIL:決済失敗 |
エラーコード
状態コード/エラー詳細コードの組合せ例
| ケース | 取引状態 | エラーコード | エラー詳細コード | 状態コード |
|---|---|---|---|---|
| オーソリが成功した場合 | (指定処理区分) | (空文字) | (空文字) | COMPLETE |
| フォーマットエラーの場合 | (指定処理区分) | (該当のE系エラー) | (該当のE系エラー) | INVALID |
| オーソリが有効期限エラーで失敗した場合 | UNPROCESSED | G83 | 42G830000 | FAIL |
その他の注意事項
データ0件ファイルの扱い
データ0件のファイルが配置された場合、空のファイルを返却します。
エラー通知メールについて
自動通知のタイミング
アップロードファイルにフォーマットエラー等があり当サービス側で取得できない場合、毎日9時と18時に以下の宛先へメールが送信されます:
- 運用担当者
- 緊急連絡先
連絡先を変更する場合
お客様サポートウェブよりお手続きください。
SFTPファイル取得エラー発生時のメールサンプル
件 名:【GMO-PG】SFTP一括オーソリファイル取得エラーのご連絡
ご担当者様
いつもお世話になっております。
GMOペイメントゲートウェイでございます。
SFTPサーバに配置いただいたファイルの取得で
エラーが発生いたしましたので、ご報告させていただきます。
[エラー内容]
--------------------------------------------------------------------------
ファイル名:
batctshop9999999920231108001.csv
発生エラー:
ファイル名が誤っています。
--------------------------------------------------------------------------
ご対応いただき、再配置をお願いいたします。
以上、よろしくお願いいたします。