Skip to content

iDempiere 支払トランザクションの使い方|債権債務・資金管理 操作マニュアル・技術仕様

This content is not available in your language yet.

📖 債権債務・資金管理の全体像: 債権債務・資金管理の全体図 も合わせてご覧ください。

支払トランザクションは、支払プロセッサ(決済ゲートウェイ)経由のオンライン決済取引を 1 件ずつ記録・実行するウィンドウです。クレジットカードの与信(Authorization)・売上(Sales)・取消(Void)といった取引単位を管理し、承認された取引から入金支払伝票(Payment)を生成できます。

📌 ポイント: 会計に反映される「入金支払伝票(Payment)」とは別のテーブルです。支払トランザクションは決済ゲートウェイとの取引そのものを記録する層で、承認後に createPayment() で Payment に引き継がれます。

支払トランザクションでできること

Section titled “支払トランザクションでできること”
  • クレジットカード等のオンライン決済の実行(支払プロセッサ連携)
  • 取引タイプ(与信・売上等)とカード情報・名義人情報の登録
  • 与信取引の取消(Void It ボタン)・出荷後清算(Delayed Capture)
  • ゲートウェイからの回答(結果・メッセージ・認証コード・AVS/CVV 照合)の記録
  • 売上請求伝票・受注伝票・プロジェクト等との関連付け
  • 承認済み取引からの入金支払伝票(Payment)生成

単一タブ構成のシンプルなウィンドウです(AD_Window_ID: 200017)。

タブ名テーブル項目数役割
Payment TransactionC_PaymentTransaction約74項目取引基本情報・カード/口座情報・ゲートウェイ回答

メニュー上の位置は「債権債務管理&資金管理 ▸ Payment Transaction」です。

graph TD
    A["🚀 メニューから開く<br/>債権債務管理&資金管理 > Payment Transaction"] --> B["➕ 新規で基本情報を入力<br/>(取引先・取引日付・御支払金額・通貨)"]
    B --> C["💳 提出タイプ・取引タイプを選択<br/>(クレジットカードの場合はカード情報も入力)"]
    C --> D["🔗 必要に応じて売上請求伝票・<br/>受注伝票を関連付け"]
    D --> E["🌐 支払プロセッサ経由で<br/>オンライン処理を実行"]
    E --> F{承認された?}
    F -->|Yes| G["✅ 承認済み=ON<br/>回答・認証コードが記録される"]
    F -->|No| H["⚠️ 回答メッセージを確認<br/>(オンライン取引履歴にも記録)"]
    G --> I["💰 入金支払伝票(Payment)へ引き継ぎ"]
    G --> J["↩️ 取消が必要なら Void It ボタン"]

メニューから開く 債権債務管理&資金管理 > Payment Transaction 新規で基本情報を入力 (取引先・取引日付・御支払金額・通貨) 提出タイプ・取引タイプを選択 (クレジットカードの場合はカード情報も入力) 必要に応じて売上請求伝票・ 受注伝票を関連付け 支払プロセッサ経由で オンライン処理を実行 承認済み=ON 回答・認証コードが記録される 回答メッセージを確認 (オンライン取引履歴にも記録) 入金支払伝票(Payment)へ引き継ぎ ↩ 取消が必要なら Void It ボタン 承認された?

メニューから「債権債務管理&資金管理 > Payment Transaction」を開きます。

  1. ツールバーの「新規」ボタンをクリック
  2. 基本情報を入力:
    • 取引先: 決済相手の取引先(必須)
    • 取引日付: 取引日(必須。デフォルトはログイン日付)
    • 御支払金額: 決済金額(必須)
    • 通貨: 決済通貨(必須)
    • 入金(ON)/支払(OFF): 入金か支払かの区分
    • 提出タイプ: 支払方法(必須。デフォルトは小切手)
    • 取引タイプ: クレジットカード取引の種別(必須。デフォルトは売上)
  3. クレジットカード決済の場合は クレジットカード・カード番号・満期月/年・名義人 等を入力
  4. 保存」をクリック

⚠️ 注意: このウィンドウには伝票状態(DocStatus)がありません。取引の完了は「処理済み」「承認済み」フラグとゲートウェイ回答欄で確認します。承認済みの与信取引を取り消す場合は「Void It」ボタンを使用します。

主要項目のみ抜粋します。全項目一覧はリファレンス参照

項目名必須説明
取引先必須検索決済相手の取引先
取引日付必須日付取引日(デフォルト: ログイン日付)
御支払金額必須金額決済金額(変更時に配分計算 Callout が動作)
通貨必須選択決済通貨
入金(ON)/支払(OFF)必須チェック入金取引か支払取引か
提出タイプ必須リスト支払方法(小切手・クレジットカード等)
取引タイプ必須リストクレジットカード取引の種別(デフォルト: 売上)
銀行口座-選択自社側の銀行口座
売上請求伝票 / 受注伝票-検索決済対象の伝票
支払プロセッサ-選択電子決済の支払プロセッサ
承認済み必須チェックゲートウェイで承認されたか(自動セット)
出荷後清算必須チェック与信のみ行い出荷後に売上確定する場合 ON
回答 / 回答メッセージ-文字列ゲートウェイからの応答結果
認証コード-文字列返却された認証コード
Voided必須チェック取消済みか(Void It で自動セット)
入金支払伝票-検索生成された Payment への参照

Q. 入金支払伝票(Payment)との違いは何ですか?

Section titled “Q. 入金支払伝票(Payment)との違いは何ですか?”

支払トランザクションは決済ゲートウェイとの取引 1 件(与信・売上・取消等)を記録するレコードで、会計処理は行いません。承認された取引はソース上の createPayment() により、カード情報・口座情報・金額等がコピーされた入金支払伝票(C_Payment)として生成され、そちらで消込・会計処理が行われます。

Q. オンライン処理の結果はどこで確認できますか?

Section titled “Q. オンライン処理の結果はどこで確認できますか?”

処理結果は本ウィンドウの「回答」「回答メッセージ」「認証コード」「郵便番号チェック/住所チェック/CVV照合」の各項目に記録されます。さらに processOnline() は成否にかかわらず オンライン取引履歴(C_OnlineTrxHistory)へ履歴レコードを自動追加します。

Q. 与信(Authorization)した取引を取り消すには?

Section titled “Q. 与信(Authorization)した取引を取り消すには?”

Void It」ボタンを使用します。ソース上は voidOnlineAuthorizationPaymentTransaction() が呼ばれ、取消用のトランザクションを複製してオンライン処理し、成功すると「Voided」フラグが ON になります。出荷後に売上を確定する運用は「出荷後清算(Delayed Capture)」を使用します。

🛠 技術仕様(開発者向け)

支払トランザクションは C_PaymentTransaction テーブル(アクセスレベル: 組織)に格納されます。MPaymentTransaction クラス(792行)がオンライン決済の実行・取消・Delayed Capture・Payment 生成のロジックを担います。DocAction/DocStatus を持たない非伝票型テーブルです。

classDiagram
    class MPaymentTransaction {
        +setAmount(int, BigDecimal) void
        +setCreditCard(...) boolean
        +setPaymentProcessor() boolean
        +processOnline() boolean
        +voidOnlineAuthorizationPaymentTransaction() boolean
        +delayCaptureOnlineAuthorizationPaymentTransaction(int) boolean
        +createPayment(String) MPayment
        +copyFrom(...)$ MPaymentTransaction
        +getAuthorizationPaymentTransactionIDs(...)$ int[]
        +startProcess(Properties, ProcessInfo, Trx) boolean
    }
    class X_C_PaymentTransaction {
        <<generated>>
    }
    class PO {
        <<abstract>>
    }
    MPaymentTransaction --|> X_C_PaymentTransaction
    X_C_PaymentTransaction --|> PO
    MPaymentTransaction --> MPaymentProcessor : uses
    MPaymentTransaction --> MOnlineTrxHistory : writes history
    MPaymentTransaction --> MPayment : createPayment

+setAmount(int, BigDecimal) void +setCreditCard(...) boolean +setPaymentProcessor() boolean +processOnline() boolean +voidOnlineAuthorizationPaymentTransaction() boolean +delayCaptureOnlineAuthorizationPaymentTransaction(int) boolean +createPayment(String) MPayment +copyFrom(...)$ MPaymentTransaction +getAuthorizationPaymentTransactionIDs(...)$ int[] +startProcess(Properties, ProcessInfo, Trx) boolean <> <> > X_C_PaymentTransaction X_C_PaymentTransaction --

パッケージ: org.compiere.model ソースファイル: org.adempiere.base/src/org/compiere/model/MPaymentTransaction.java

C_PaymentTransaction(支払トランザクション)

Section titled “C_PaymentTransaction(支払トランザクション)”
カラム名必須説明備考
C_PaymentTransaction_IDIDPK支払トランザクションID主キー
C_BPartner_IDSearchY取引先
DateTrxDateY取引日付デフォルト @#Date@
PayAmtAmountY御支払金額デフォルト 0、callout CalloutPayment.amounts
C_Currency_IDTableDirectY通貨
IsReceiptYesNoY入金/支払区分
TenderTypeListY提出タイプデフォルト K
TrxTypeListY取引タイプデフォルト S
CreditCardTypeListNクレジットカードデフォルト M
CreditCardExpMM / YYIntegerN満期月/年デフォルト 1 / 03
C_PaymentProcessor_IDTableDirectN支払プロセッサ
IsApprovedYesNoY承認済みデフォルト N、processOnline が更新
IsVoidedYesNoY取消済みVoid 処理が更新
IsDelayedCaptureYesNoY出荷後清算
R_Result / R_RespMsg / R_AuthCodeStringNゲートウェイ回答processOnline が更新
C_Payment_IDSearchN生成された入金支払伝票
Ref_PaymentTransaction_IDSearchN参照元トランザクションVoid/複製時に使用
ProcessedYesNoY処理済みデフォルト N
  • processOnline(): C_PaymentProcessor_ID または銀行口座に紐づく MBankAccountProcessor から PaymentProcessor を生成して決済を実行し、結果に応じて IsApproved / IsVoided を更新します。処理後は成否にかかわらず MOnlineTrxHistory レコードを作成して履歴を残します。
  • setPaymentProcessor(): 提出タイプ・カード種別・支払プロセッサ指定から適合する銀行口座プロセッサを検索し、C_PaymentProcessor_ID をセットします。
  • voidOnlineAuthorizationPaymentTransaction() / delayCaptureOnlineAuthorizationPaymentTransaction(int C_Invoice_ID): copyFrom() で取消用/売上確定用のトランザクションを複製し、processOnline() を実行します。
  • createPayment(String trxName): 名義人・口座・カード・伝票参照等のフィールド一式を MPayment へコピーして入金支払伝票を生成します。
  • startProcess(Properties, ProcessInfo, Trx): プロセスとしての呼び出し(ProcessCall)に対応しています。
  • Model Validator: C_PaymentTransaction の保存前後・変更時に独自チェックを追加できます(OSGi プラグイン推奨)。
  • Callout: 標準では PayAmtorg.compiere.model.CalloutPayment.amounts が定義されています。
  • PaymentProcessor 実装: 決済ゲートウェイ固有の接続は PaymentProcessor.create() が返すプロセッサ実装クラス側で拡張します。

決済ゲートウェイ連携や独自の決済フロー組み込みなど、支払トランザクション周りの拡張はプラグインで安全に実装できます。

As-Link株式会社では、OSGiプラグインによる安全なカスタマイズを提供しています。

OSS ERP導入・カスタマイズサービスの詳細はこちら