プラットフォーム決済処理モデル (マーケットプレイス向け)
プラットフォーム決済処理モデルで決済を処理する
マーケットプレイス向けで決済を処理するには、加盟店が決済処理事業者である「プラットフォーム決済処理モデル」を採用する必要があります。
決済を作成する
(1) 決済資金フローのロジック
ケース 1: 単一のマーケットプレイス事業者が参加する場合
ケース 2: 複数のマーケットプレイス事業者が参加する場合
- 加盟店は、各取引で各マーケットプレイス事業者に移行される取引金額を指定できます。また、合計額は合計取引金額と等しくなる必要があります。
- 加盟店は、各マーケットプレイス事業者から請求されるプラットフォーム手数料を指定できます。
- 加盟店が KOMOJU に決済手数料を支払います。手数料率は加盟店の選択中の決済手段で指定されています。
(2) API 経由で決済を作成する
PCI-DSS に準拠している場合は、Payment API 経由で決済を作成することで、カードの詳細を貴社のサーバーに送信し、顧客の決済情報を直接 KOMOJU に送信できます。
Payment: Create API をリクエストする必要があります。こちらのガイドで、Payment API 経由で支払いを作成する方法を説明しています。
決済リクエストを行う際は、1) 各マーケットプレイス事業者への取引移行の金額を submerchant_id
と amount
で指定し、2) 各マーケットプレイス事業者に請求するプラットフォーム手数料を submerchant_id
と platform_fee
で指定する必要があります。
"platform_details": {
"submerchants": [
{
"submerchant_id": "submerchant_one",
"amount": "1000",
"platform_fee": "100",
}
]
リクエスト属性 | 型 | 説明 |
---|---|---|
submerchant_id | string | マーケットプレイス事業者の ID 。 |
platform_fee | integer | マーケットプレイス事業者に請求するプラットフォーム手数料の金額。 |
amount | integer | マーケットプレイス事業者に移行される金額。 |
上記の例では、processing_merchant
は platform_merchant
です。
platform_merchant
の認証情報が決算リクエストの処理に使用されるsubmerchant
の残高にsubmerchant
配列内のamount
の金額が加算されるplatform_fee
がsubmerchant
の残高から加盟店の残高に移行されるplatform_merchant
が KOMOJU 手数料を支払う
取引の入金時の決済分割ロジックを指定する必要があります
取引の入金の際は、
platform_details
配列内に金額とプラットフォーム手数料を指定する必要があります。これは、システムがそれに基づいて決済を分割するためです。
Payment: Create のリクエスト時に capture
を true
と指定した場合、platform_details
配列で決済分割 (マーケットプレイス事業者への金額とプラットフォーム手数料の金額) を指定する必要があります。
それに対して、Payment: Create のリクエストの際に capture
を false
と指定した場合は、決済の分割に関する情報は後で Payment: Capture をリクエストする際に提供できます。
(3) ホストページ経由で決済を作成する
KOMOJU ホストページ機能は、デフォルトで PCI 準拠と 3D セキュアに対応しています。そのため、貴社が PCI-DSS 準拠に対応していない場合は、このソリューションが推奨されます。チェックアウト中に、顧客は決済を完了するために KOMOJU のホストページにリダイレクトされます。こちらのガイドでは、KOMOJU ホスト ページのセッションを作成する方法を説明しています。
まず Session: Create API をリクエストして、1) 各マーケットプレイス事業者への取引移行の金額と、2) 各マーケットプレイス事業者から請求するプラットフォーム手数料を指定します。
"platform_details": {
"submerchants": [
{
"submerchant_id": "submerchant_one",
"amount": "1000",
"platform_fee": "100",
}
]
capture
が auto
の場合、Session: Create API リクエスト時に platform_details
配列内で決済分割 (プラットフォーム事業者への金額とプラットフォーム手数料) を指定する必要があります。
Session: Create のリクエストで capture
が manual
の場合、注文を確実に履行するために、後で Payment: Capture をリクエストする必要があります。その際、platform_details
配列内で決済分割を指定する必要があります。
2 段階キャプチャ
(1) 承認
クレジットカードによる決済に関しては、加盟店は Payment API の capture
パラメータを使用して決済がすぐに承認されるか、入金されるかを決定できます。これは、capture: false
を指定することで達成できます。プラットフォーム分割は承認時に提供されず、入金のステップで提供されます。加盟店が決済処理事業者でない場合でも、決済処理事業者を指定できます。
2 段階キャプチャの詳細については、こちらを参照してください。
curl https://komoju.com/api/v1/payments \
-u degica-mart-test: \
-X POST \
-H "Content-Type: application/json" \
-d '{
"amount":"1000",
"currency":"JPY",
"fraud_details": {
"customer_ip": "192.0.2.1",
"customer_email": "[email protected]"
},
"payment_details":{
"email":"[email protected]",
"month":"01",
"name":"Taro Yamada",
"number":"4111111111111111",
"type":"credit_card",
"verification_value":"123",
"year":"2025"
},
"capture":"false",
"platform_details":{
}
}'
(2) 入金
決済入金ステップまで分割情報を提供できます。すべての販売事業者への移行金額とプラットフォーム手数料の合計は、決済の入金額を超えてはなりません。
curl https://komoju.com/api/v1/payments/{PAYMENT_UUID}/capture \
-u degica-mart-test: \
-X POST \
-H "Content-Type: application/json" \
-d '{
"amount":"1000",
"platform_details":{
"submerchants": [
{
"submerchant_id":"submerchant_one",
"amount':"1000",
"platform_fee":"100",
}
]
}
}'
(3) 部分入金
決済手段が VISA/Mastercard、JCB/AMEX/Diners Club、PayPay、LINE Pay、メルペイの場合、部分入金がサポートされます。プラットフォーム分割の合計額は、部分入金の金額と一致する必要があります。また、KOMOJU は単一の部分入金のみをサポートしており、複数の部分入金はサポートしていません。
API 経由で直接決済を作成する場合 (Payment: Create)、VISA/Mastercard および JCB/AMEX/Diners Club のみが部分入金に対応しています。
一方、ホストページ (Session: Create) で決済を作成する場合、上記の 5 つの決済手段すべてが部分入金に対応します。
元の決済額が 1000 円だったとすると、次のように 500 円で部分入金できます。
curl https://komoju.com/api/v1/payments/{PAYMENT_UUID}/capture \
-u degica-mart-test: \
-X POST \
-H "Content-Type: application/json" \
-d '{
"amount":"500",
"platform_details":{
"submerchants": [
{
"submerchant_id":"submerchant_one",
"amount':"500",
"platform_fee":"100"
}
]
}
}'
決済をキャンセルする
(1) API 経由で決済をキャンセルする
pending
または authorized
の状態の決済を Payment: Cancel API を使用してキャンセルできます。
(2) ダッシュボード経由で決済をキャンセルする
ダッシュボードを介して、pending
または authorized
の状態にある決済をキャンセルできます。
取り消し返金を作成する
(1) 設定
- 取り消し返金では、決済入金の際の決済分割ロジックに基づいて、支払いが顧客に全額返金されます。
- 該当する決済手段: VISA/Mastercard、JCB/AMEX/Diners Club、PayPay、LINE Pay、メルペイ
- 加盟店の残高とマーケットプレイス事業者の残高が、それぞれが担当する返金額よりも大きくなければなりません。そうでない場合、返金は処理されません。
(2) 決済資金フローのロジック
ケース 1: 単一のマーケットプレイス事業者が参加する場合
ケース 2: 複数のマーケットプレイス事業者が参加する場合
システムは加盟店のアカウントから資金を引き落とし、決済手段の顧客のアカウントに返金します。その後すぐに、システムは対応する返金額をマーケットプレイス事業者のアカウントから引き落とし、加盟店のアカウントに移行します。
(3) API を経由して取り消し返金を作成する
取り消し返金を開始するには、Payment: Refund API をリクエストします。また、プラットフォームの詳細と金額を省略すると、決済分割は自動的に取り消されます。
curl https://komoju.com/api/v1/payments/{PAYMENT_UUID}/refund \
-u degica-mart-test: \
-X POST \
-H "Content-Type: application/json" \
-d '{
}'
(4) ダッシュボードを経由して取り消し返金を作成する
ダッシュボードから取り消し返金を実行できます。
取り消し返金リクエストを作成する
(1) 設定
- 取り消し返金リクエストは、自動返金をサポートしていない決済手段で使用され、決済入金の際の決済分割ロジックに基づいて、顧客に支払いを完全に払い戻します。
- 該当する決済手段: コンビニ、銀行振込、ペイジー
- 加盟店の残高とマーケットプレイス事業者の残高が、それぞれが担当する返金額よりも大きくなければなりません。そうでない場合、返金は処理されません。
- 顧客が後で KOMOJU から返金を受け取れるよう、顧客の銀行口座情報を集めて KOMOJU に渡す必要があります。
- KOMOJU は、加盟店からの取り消し返金リクエストの返金が 1 件成立するごとに 300 円の返金手数料を請求します。(参照)。
- 加盟店が決済入金の際に顧客から顧客手数料を請求した場合、
include_payment_method_fee
を介して返金するかどうかを指定できます。
(2) 決済資金フローのロジック
ケース 1: 単一のマーケットプレイス事業者が参加する場合
ケース 2: 複数のマーケットプレイス事業者が参加する場合
システムは加盟店のアカウントから資金を引き落とし、顧客の銀行口座に返金します。その後すぐに、システムは 1) 加盟店から返金手数料を請求し、2) マーケットプレイス事業者のアカウントから対応する返金金額を引き落とし、加盟店のアカウントに移行します。
(3) API を経由して取り消し返金のリクエストを作成する
Payment: Refund Request API をリクエストして、顧客の銀行口座情報を添えて取り消し返金リクエストを開始することができます。
curl https://komoju.com/api/v1/payments/{PAYMENT_UUID}/refund_request \
-u degica-mart-test: \
-X POST \
-H "Content-Type: application/json" \
-d '{
"include_payment_method_fee":"true",
"customer_name":"カタカナ",
"bank_name":"青森銀行",
"bank_code":"0117",
"branch_name":"東京支店",
"branch_number":"921",
"account_type":"ordinary",
"account_number":"1234567",
}'
(4) ダッシュボードを経由して取り消し返金リクエストを作成する
ダッシュボードから取り消し返金リクエストを実行できます。
取り消し以外の返金を作成する
(1) 設定
以下の場合には、取り消し以外の返金を開始する必要があります。
- 決済入金時の決済分割ロジックに従わない全額払い戻しを開始する
- 部分返金を開始する
知っておくべきその他の重要なポイント:
- 返金額は元の決済金額を上回ることはできません。
- 該当する決済手段: VISA/Mastercard、JCB/AMEX/Diners Club、PayPay、LINE Pay、メルペイ
- 加盟店の残高とマーケットプレイス事業者の残高が、それぞれが担当する返金額よりも大きくなければなりません。そうでない場合、返金は処理されません。
(2) 決済資金フローのロジック
ケース 1: 単一のマーケットプレイス事業者が参加する場合
ケース 2: 複数のマーケットプレイス事業者が参加する場合
API 経由で、加盟店とマーケットプレイス事業者がそれぞれ払い戻す金額を指定する必要があります。次に、システムは加盟店のアカウントから資金を引き落とし、顧客の決済手段の口座に返金します。その後すぐに、システムは対応する返金額をマーケットプレイス事業者のアカウントから引き落とし、加盟店のアカウントに移行します。
この例では、
- 1,000 円の決済が、決済入金の際に 3 つに分割され、加盟店に 100 円、マーケットプレイス事業者-1 に 630 円、マーケットプレイス事業者-2 に 270 円が最初に支払われました。
- 加盟店が取り消し以外の返金をリクエストし、顧客への返金総額として 900 円を指定します。これは、加盟店からの 50 円、マーケットプレイス事業者-1 からの 600 円、マーケットプレイス事業者-2 からの 250 円で構成されます。
(3) API を経由して取り消し以外の返金を作成する
取り消し以外の返金は、Payment: Refund API をリクエストすることでのみ開始できます。手動によるエラーを防ぐため、ダッシュボードからは開始できません。
curl https://komoju.com/api/v1/payments/{PAYMENT_UUID}/refund \
-u degica-mart-test: \
-X POST \
-H "Content-Type: application/json" \
-d '{
"amount":"900",
"platform_details":{
"submerchants": [
{
"submerchant_id":"submerchant_one",
"amount':"850",
"platform_fee":"50",
}
]
}
}'
取り消し以外の返金リクエストを作成する
(1) 設定
以下の場合には、取り消し以外の返金リクエストを開始する必要があります。
- 決済入金時の決済分割ロジックに従わない全額払い戻しを開始する
- 部分返金を開始する
知っておくべきその他の重要なポイント:
- 返金額は元の決済金額を上回ることはできません。
- 該当する決済手段: コンビニ、銀行振込、ペイジー
- 加盟店の残高とマーケットプレイス事業者の残高が、それぞれが担当する返金額よりも大きくなければなりません。そうでない場合、返金は処理されません。
- 顧客が後で KOMOJU から返金を受け取れるよう、顧客の銀行口座情報を集めて KOMOJU に渡す必要があります。
- KOMOJU は、加盟店からの取り消し以外の返金リクエストの返金が 1 件成立するごとに 300 円の返金手数料を請求します。(参照)。
- 加盟店が決済入金の際に顧客から顧客手数料を請求した場合、
include_payment_method_fee
を介して返金するかどうかを指定できます。
(2) 決済資金フローのロジック
ケース 1: 単一のマーケットプレイス事業者が参加する場合
ケース 2: 複数のマーケットプレイス事業者が参加する場合
API 経由で、加盟店とマーケットプレイス事業者がそれぞれ払い戻す金額を指定する必要があります。次に、システムは加盟店のアカウントから資金を引き落とし、顧客の銀行口座に返金します。
その後すぐに、システムは対応する返金額をマーケットプレイス事業者のアカウントから引き落とし、加盟店のアカウントに移行します。
この例では、
- 1,000 円の決済が、決済入金の際に 3 つに分割され、加盟店に 100 円、マーケットプレイス事業者-1 に 630 円、マーケットプレイス事業者-2 に 270 円が最初に支払われました。
- 加盟店が取り消し以外の返金リクエストをリクエストし、顧客への返金総額として 900 円を指定します。これは、加盟店からの 50 円、マーケットプレイス事業者-1 からの 600 円、マーケットプレイス事業者-2 からの 250 円で構成されます。
- KOMOJU は加盟店に返金手数料 300 円を請求します。
(3) API を経由して取り消し以外の返金リクエストを作成する
取り消し以外の返金は、Payment: Refund Request API を、顧客の銀行口座情報を添えてリクエストすることでのみ開始できます。手動によるエラーを防ぐため、ダッシュボードからは開始できません。
例:
curl https://komoju.com/api/v1/payments/{PAYMENT_UUID}/refund_request \
-u degica-mart-test: \
-X POST \
-H "Content-Type: application/json" \
-d '{
"amount":"900",
"include_payment_method_fee":"true",
"customer_name":"カタカナ",
"bank_name":"青森銀行",
"bank_code":"0117",
"branch_name":"東京支店",
"branch_number":"921",
"account_type":"ordinary",
"account_number":"1234567",
"platform_details":{
"submerchants": [
{
"submerchant_id":"submerchant_one",
"amount':"850",
"platform_fee":"50",
}
]
}
}'
チャージバック
(1) 設定
顧客のカード発行会社が異議申し立てを認めた場合、KOMOJU はチャージバックを実行して全額を顧客に返金し、その金額を加盟店の残高から差し引きます。チャージバックは、加盟店の残高が十分にあるかどうかに関係なく実行されます。
(2) 決済資金フローのロジック
ケース 1: 単一のマーケットプレイス事業者が参加する場合
ケース 2: 複数のマーケットプレイス事業者が参加する場合
決済処理事業者である加盟店が、チャージバック全体を請け負います。
トランザクションレコードタイプの概要
上記のすべてのアクションを基に、複数のタイプのレコードが生成されます。以下はその要約です。
レコードタイプ | 説明 | 入金/出金 |
---|---|---|
取引 | マーケットプレイス事業者のアカウントに入金された取引。 | (1) 加盟店: 入金 |
取引移行 | 入金後、マーケットプレイス事業者のアカウントに振り込まれる金額。 | (1) 加盟店: 出金 (2) マーケットプレイス事業者: 入金 |
プラットフォーム手数料 | 加盟店がマーケットプレイス事業者に請求する、入金ごとの手数料。 | (1) 加盟店: 入金 (2) マーケットプレイス事業者: 出金 |
決済手数料 | KOMOJU が加盟店に請求する、入金ごとの手数料。決済手段によって料金が異なる場合があります。 | (1) 加盟店: 出金 |
決済手数料消費税 | 決済手数料の税金。日本では、決済手数料額の 10% です。 | (1) 加盟店: 出金 |
返金 | 加盟店が顧客に返金する金額。 | (1) 加盟店: 出金 |
取引移行返還 | マーケットプレイス事業者が加盟店に返却する金額。顧客に返金する共同責任とみなすことができます。 | (1) 加盟店: 入金 (2) マーケットプレイス事業者: 出金 |
顧客手数料返金 | 加盟店が顧客に返金する顧客手数料。 | (1) 加盟店: 出金 |
顧客手数料返金消費税 | プラットフォーム加盟店が顧客に返金する顧客手数料の税金。日本では、顧客手数料額の 10% です。 | (1) 加盟店: 出金 |
返金手数料 | KOMOJU が取り消し返金リクエストまたは取り消し以外の返金リクエストを完了した後に加盟店に請求する手数料。 | (1) 加盟店: 出金 |
返金手数料消費税 | 返金手数料の税金。日本では、返金手数料の 10% です。 | (1) 加盟店: 出金 |
チャージバック | カード発行会社が異議申し立てを認めたために加盟店が顧客に返金する金額。 | (1) 加盟店: 出金 |
Updated 5 months ago